Vodič za prodavače Salesforcea: započnite s programiranjem Salesforcea



Ovaj tutorial blog objašnjava različite programske koncepte poput visualforcea i apexa koje morate znati da biste započeli karijeru kao Salesforce programer.

Želite li biti programer softverskih aplikacija? Želite li izgraditi vlastiti program na platformi Force.com? Ako ste odgovor na ta pitanja pozitivni, svakako biste trebali razmisliti o tome da postanete programer Salesforcea.

U svojim prethodnim blogovima raspravljao sam o , Certifikati Salesforcea i također vam pokazao da izraditi prilagođenu aplikaciju koristeći deklarativne opcije dostupne u Salesforceu. Na ovom blogu razgovarat ću o programskim opcijama dostupnim u Salesforceu za razvoj vaše aplikacije.





MVC Arhitektura

Prije nego što uđem u izgradnju aplikacije pomoću Visualforcea i Apexa, prvo ću razgovarati o arhitekturi Salesforce Model-View-Controller. Ispod je dijagram koji daje strukturu Salesforce Model-View-Controller arhitekture zajedno s različitim komponentama Salesforcea.

mvc - prodajni programer - edureka



Model: Model su vaši podatkovni objekti, polja i odnosi Salesforcea. Sastoji se od standardnih (Račun, Prilika, itd.) I prilagođenih objekata (objekata koje stvarate).

Pogled: Pogled predstavlja prezentaciju podataka, tj. Korisničko sučelje. U Salesforceu prikaz čine stranice visualforcea, komponente, izgledi stranica i kartice.

Kontroler: Upravljač je gradivni element stvarne aplikacijske logike. Radnje možete izvoditi kad god korisnik komunicira s visualforceom.



Salesforce u akciji

Da biste bili programer Salesforcea, prvo morate znati kako funkcioniraju Salesforce aplikacije. Ispod je slika što vam daje cjelovitu sliku Salesforcea na djelu. Klijent ili korisnik zahtijeva ili pruža informacije za aplikaciju Salesforce. To se obično radi pomoću Visualforcea. Te se informacije zatim prosljeđuju aplikacijskom logičkom sloju napisanom u Apexu. Ovisno o informacijama, podaci se ubacuju ili uklanjaju iz baze podataka. Salesforce vam također nudi mogućnost korištenja web usluga za izravni pristup aplikacijskoj logici.

Programer Salesforce može pristupiti razvoju ili pomoću deklarativne ili programske opcije. Ispod je slika koja vam pruža detalje o deklarativnom i programskom pristupu dostupnom na svakom korisničkom sučelju, poslovnoj logici i sloju podatkovnog modela. Da biste izgradili svoje korisničko sučelje, možete upotrijebiti deklarativni pristup koji koristi izglede stranica i vrste zapisa ili koristiti programski pristup poput stranica i komponenata visualforcea. Općenito, programski pristup trebali biste koristiti samo kada ne možete postići potrebno korisničko sučelje pomoću deklarativnog pristupa. Da biste razvili sloj poslovne logike svoje aplikacije, možete upotrijebiti Salesforce deklarativne opcije tijeka posla, pravila provjere valjanosti i postupke odobravanja ili upotrijebiti programski pristup poput okidača, kontrolera i klasa. Da biste pristupili podatkovnom modelu, možete koristiti deklarativni pristup koristeći objekte, polja i odnose. Također možete programski pristupiti podatkovnom modelu pomoću API-ja za metapodatke, REST API-ja i API-ja za skupne podatke.

Vidjeli smo kako funkcioniraju Salesforce aplikacije, MVC arhitektura korištena za razvoj u Salesforceu i dva različita pristupa koja su dostupna za Salesforce programera. Sada ću razgovarati o Visualforceu i Apexu.

Visualforce

Za izgradnju aplikacija na platformi Salesforce morate znati razviti korisničko sučelje i napisati logiku aplikacija. Kao programer Salesforce, možete razvijati korisničko sučelje pomoću Visualforcea. Visualforce je okvir korisničkog sučelja za platformu Force.com. Baš kao što možete koristiti javascript Angular-JS okvir za izgradnju korisničkih sučelja za vaše web stranice, tako možete koristiti Visualforce za dizajn i izgradnju korisničkih sučelja za vaše Salesforce aplikacije.

Visualforce možete koristiti kad god je potrebno za izradu prilagođenih stranica. Nekoliko primjera situacija u kojima možete koristiti Visualforce:

  • Za izradu predložaka e-pošte
  • Razviti mobilno korisničko sučelje
  • Za generiranje PDF-a podataka pohranjenih u Salesforceu
  • Da biste ih ugradili u svoj standardni izgled stranice
  • Da poništi standardnu ​​stranicu Salesforcea
  • Razviti prilagođene kartice za vašu aplikaciju

Stranica visualforce sastoji se od dva osnovna elementa:

  • Oznaka Visualforce - oznaka Visualforce uključuje oznake visualforce, HTML, JavaScript ili bilo koji drugi kod s omogućenom mrežom.
  • Visualforce kontroler - kontroler Visualforce sadrži upute koje određuju što se događa kada korisnik stupi u interakciju s komponentom. Kontroler visualforce napisan je pomoću programskog jezika Apex.

Možete pogledati jednostavan kod stranice Visualforce, zajedno s različitim komponentama u nastavku:

Ispod sam vam pokazao korake za pisanje jednostavne stranice visualforce za prikaz zemalja i njihovih valuta:

Korak 1: Iz Postava unesite Visualforce Pages u okvir za brzo pronalaženje, zatim odaberite Visualforce Pages i kliknite New.

Korak 2: U uređivač dodajte sljedeći kod za prikaz zemlje i vrijednosti valute:

Vrh

Kad završite s razvojem korisničkog sučelja, kao programer Salesforcea morate znati kako dodati prilagođenu logiku svojoj aplikaciji. Možete napisati kod kontrolera i dodati prilagođenu logiku svojoj aplikaciji pomoću programskog jezika Apex. Apex je objektno orijentirani programski jezik koji vam omogućuje izvršavanje naredbi za tijek i kontrolu transakcija na platformi Force.com. Ako ste prije koristili programski jezik java, lako možete naučiti Apex. Sintaksa Apex je 70% slična onoj u javi.

Apex možete koristiti kad god želite dodati prilagođenu logiku svojoj aplikaciji. Nekoliko primjera situacija u kojima možete koristiti Apex su:

  • Kada želite dodati web i usluge e-pošte u svoju aplikaciju
  • Kada želite izvoditi složene poslovne procese
  • Kada svojoj aplikaciji želite dodati složena pravila provjere valjanosti
  • Kada želite dodati prilagođenu logiku za operacije poput spremanja zapisa

Ispod je snimka zaslona Apex koda, zajedno s njegovim različitim komponentama, poput naredbe za ponavljanje, naredbe control-flow i SOQL upita:

Sad kad smo shvatili što je Apex i kada ga koristiti, dopustite mi da zaronim duboko u programiranje Apexa.

Programiranje u Apexu

Ako ste razumjeli gore opisane koncepte, na pola ste puta postajući programer Salesforcea. U ovom odjeljku zaronit ću dublje u Apex pružajući vam informacije o različitim vrstama podataka i varijablama, različitim načinima dohvaćanja podataka iz baze podataka i pokazujući vam kako pisati klasu i metodu.

Tipovi podataka i varijable

Salesforce vam nudi 4 različite vrste podataka i varijable. Tablica u nastavku pruža informacije o svakoj od 4 vrste podataka:

Vrste podataka i varijable Opis Primjer
PrimitivnoPrimitivne vrste podataka u Salesforceu uključuju boolean, datum, cijeli broj, objekt, niz i vrijeme.Boolean isSunny = true

Cijeli broj I = 1

String myString = 'Pozdrav svijetu'

sObjektisObject odnosi se na bilo koji objekt koji se može pohraniti u bazu podataka.Račun a = novi račun ()

MyCustomObj__c obj = novi MyCustomObj__c ()

ZbirkeApex ima sljedeće vrste kolekcija:

  • Popisi
  • Karte
  • Kompleti
Popis var_lst = novi popis ()

Postavi setOne = novi Set ()

Karta var_map = nova karta ()

EnumEnumi su apstraktne vrste podataka s vrijednostima koje poprimaju konačan skup identifikatora.Javno nabrajanje Godišnja doba {Zima, Proljeće, Ljeto, Jesen}


SOQL I SOSL

Razvoj softverskih aplikacija zahtijeva da znate kako umetnuti i dohvatiti podatke iz baza podataka. U Salesforceu možete dohvatiti podatke iz baza podataka pomoću SOQL-a i SOSL-a. Ako želite biti programer Salesforcea, tada morate znati oba ova jezika upita. U nastavku sam vam pružio detaljno objašnjenje ovih jezika:

  • SOQL je skraćenica od Salesforce Object Query Language. Koristeći SOQL izjave, možete dohvatiti podatke iz baze podataka kao popis sObjekata, pojedinačni sObject ili Integer za count metodu. SOQL možete smatrati ekvivalentom upita SELECT SOQL. U nastavku sam naveo primjer SOQL upita:

Popis accList = [SELECT Id, Name FROM Account WHERE Name = ”YourName”]

  • SOSL je skraćenica od Salesforce Object Search Language. Možete koristiti SOSL izraze za dohvaćanje popisa sObjekata, gdje svaki popis sadrži rezultate pretraživanja za određenu vrstu sObject. O SOSL-u možete razmišljati kao o ekvivalentu upita za pretraživanje baze podataka. U nastavku sam naveo primjer SOSL upita:

PopissearchList = [PRONAĐI 'kartu *' U SVIM POLJIMA POVRAT RAČUNA (ID, Ime), kontakt, prilika, potencijalni klijent]

SOQL možete koristiti kada znate u kojem se objektu nalaze podaci, a SOSL kada ne znate naziv objekta u kojem se podaci nalaze.

Predavanja i metode

Kao i u svakom drugom objektno orijentiranom programskom jeziku, i vi možete razvijati klase i metode koristeći Apex. O klasi možete razmišljati kao o nacrtu pomoću kojeg se stvaraju i koriste pojedinačni objekti. Metodu možete zamisliti kao potprogram koji djeluje na podatke i vraća vrijednost. Dao sam vam sintaksu za pisanje klase i metode u nastavku:

Sada ću vam pokazati kako dodati klasu i metodu u Apex:

Korak 1: Iz postavke unesite Apex Classes u QuickFind Box, zatim odaberite Apex Classes i kliknite New.

Korak 2: U uređivač dodajte sljedeću definiciju klase:

Javna klasa HelloWorld {

}

Korak 3: Dodajte definiciju metode između zagrada za otvaranje i zatvaranje razreda:

Javna statička praznina helloWorldMethod (Country__c [] zemlje) {

Za (Country__c zemlja: države) {

zemlja.vrijednost_ valute__c * = 1,5

}

}

Korak 4: Kliknite Spremi i trebali biste imati cijeli svoj razred kao:

Javna klasa HelloWorld {

Javna statička praznina helloWorldMethod (Country__c [] zemlje) {

Za (Country__c zemlja: države) {

zemlja.vrijednost_ valute__c * = 1,5

fibonaccijev broj c ++

}

}

Sintaksu i primjer prikazane gore možete koristiti za razvoj vlastitih klasa i metoda za vašu Salesforce aplikaciju. Da biste postali programer Salesforcea, morate znati više od samog pisanja klasa i metoda. U sljedećih nekoliko odjeljaka raspravljat ću o temama koje razvoj aplikacija na platformi Salesforce čine jednostavnim i lakim.

Okidači

Svaki programer Salesforcea mora znati koncept okidača Salesforce. Možda ste ranije nailazili na okidače tijekom rada s drugim bazama podataka. Okidači nisu ništa drugo do pohranjeni programi koji se prizivaju kada izvodite radnje prije ili nakon promjena na Salesforce zapisima. Na primjer, okidači se mogu pokrenuti prije nego što se izvrši operacija umetanja ili kada se izvrši operacija ažuriranja. Postoje dvije vrste okidača:

  • Prije okidača - Okidače možete koristiti za ažuriranje ili provjeru vrijednosti zapisa prije nego što se spreme u bazu podataka.
  • Nakon okidača - Možete koristiti okidače za pristup vrijednostima polja koje postavlja sustav i utjecati na promjene u drugim zapisima.

Okidači se izvršavaju prije ili nakon sljedećih operacija:

  • Umetnuti
  • Ažuriraj
  • Izbrisati
  • Ići
  • Ups
  • Poništi brisanje

Pokazat ću vam kako dodati okidač na vrhu dodavanjem okidača za objekt Country koji ste vidjeli u gornjoj klasi:

Korak 1: U postavkama upravljanja objektima za zemlju idite na Okidači i kliknite Novo.

Korak 2: U uređivač okidača dodajte sljedeću definiciju okidača:

Okidač HelloWorldTrigger na Country__c (prije umetanja) {

Zemlja__c zemlje = Okidač.novo

HelloWorld.helloWorldMethod (zemlje)

}

Gornji kôd ažurirat će valutu vaše zemlje prije svakog umetanja u bazu podataka.

Granice guvernera

Možda znate da Salesforce radi na arhitekturi s više stanara, to znači da se resursi dijele između različitih klijenata. Kako bi se osiguralo da nitko od klijenata ne monopolizira dijeljene resurse, Apexov pokretački pogon strogo provodi ograničenja guvernera. Ako vaš Apex kôd ikad prijeđe ograničenje, očekivani upravitelj izda iznimku tijekom izvođenja koja se ne može obraditi. Dakle, kao programer Salesforcea morate biti vrlo oprezni dok razvijate svoju aplikaciju.

Skupne operacije

Kao programer Salesforcea, uvijek morate osigurati da vaš kôd održava ograničenja guvernera. Da biste bili sigurni da se Apex pridržava ograničenja guvernera, morate koristiti obrazac dizajna skupnih poziva. Skupna operacija odnosi se na zapisivanje više od jednog zapisa kada napravite DML operaciju. Prije nego što napravite DML operaciju, uvijek morate dodati redove u zbirku. Ispod je slika koja vam daje cjelovit opis uzorka dizajna skupnih operacija.

DML-ovi i podatkovne operacije

Ranije ste vidjeli kako dohvatiti podatke iz baze podataka pomoću SOQL i SOSL upita. Sada ćemo pogledati različite izjave pomoću kojih možete umetnuti podatke u bazu podataka Salesforce. Za programera Salesforcea mora znati što ove izjave mogu učiniti i kako ih koristiti.

DML izjava

Opis
UmetnutiDodaje jedan ili više sObjekata podacima vaše organizacije
AžurirajIzmjenjuje jedan ili više postojećih sObject zapisa
UpsStvara nove zapise i ažurira sObject zapise
IzbrisatiBriše jedan ili više postojećih sObject zapisa
Poništi brisanjeVraća jedan ili više postojećih sObject zapisa
IćiSpaja do tri zapisa istog tipa sObject u jedan zapis

Visualforce i Apex

Prekoračili ste put u svojoj potrazi da postanete programer Salesforcea. Dalje ću razgovarati o tome kako možete integrirati svoju stranicu visualforce i svoj apex kôd. Možete povezati svoju stranicu visualforce i svoj apex kôd pomoću kontrolera i proširenja.

  • Prilagođeni kontroleri -Kada želite da se stranica visualforcea u potpunosti izvodi u sistemskom načinu, tj. Bez dozvola i zaštite na razini polja, upotrijebite prilagođeni kontroler.

  • Proširenje kontrolera -Kada želite dodati nove radnje ili funkcije koje proširuju funkcionalnost standardnog ili prilagođenog kontrolera, upotrijebite proširenje kontrolera.

U donjem kodu pokazao sam vam kako uključiti prilagođeni kontroler na svoju stranicu visualforce:

U donjem kodu pokazao sam vam kako uključiti proširenje kontrolera na svoju stranicu visualforce:

Rukovanje iznimkama

Ako ste ranije razvijali aplikacije, tada biste definitivno naišli na iznimke. Iznimka je poseban uvjet koji mijenja normalan tijek izvršavanja programa. Na primjer, dijeljenje broja s nulom ili pristupanje vrijednosti popisa koja je izvan granica. Ako se ne nosite s tim iznimkama, izvršavanje procesa se zaustavlja i DML-ovi će se vratiti.

Kao programer Salesforcea, morate znati kako uhvatiti ove iznimke i što učiniti nakon što ih uhvatite. Da biste uhvatili iznimke, možete koristiti try, catch i konačno konstruirati. Nakon što uhvatite iznimku, možete je riješiti na dolje spomenute načine:

Iznimka Kako to riješiti
DMLUpotrijebite metodu addError () na zapisu ili polju
VisualforceKoristite klasu ApexPages.message
Slanje e-pošte na iznimkuMožete obavijestiti programera e-poštom
Prijavljivanje u prilagođeni objektMožete koristiti buduću metodu za hvatanje prilagođenog objekta

Do sada ste na ovom blogu Salesforceovih programera vidjeli kako razviti svoje korisničko sučelje pomoću Visualforcea, vidjeli ste kako pisati prilagođenu logiku koristeći Apex i različite koncepte poput okidača, skupnih operacija i rukovanja iznimkama. I na kraju, ali ne najmanje važno, pogledati ćemo okvir za testiranje Salesforcea.

Testiranje

Kao programer Salesforcea, morate znati kako testirati kod koji pišete. Testirani razvoj dobar je način osiguravanja dugoročnog uspjeha vaše softverske aplikacije. Morate testirati svoj program kako biste mogli potvrditi da vaš program radi kako se očekivalo. Pogotovo ako razvijate aplikaciju za kupca, tada je vrlo važno testirati je prije isporuke konačnog proizvoda. Apex vam nudi testni okvir koji vam omogućuje pisanje jediničnih testova, pokretanje testova, provjeru rezultata ispitivanja i rezultate pokrivanja koda.

Prijavu možete testirati na dva načina:

  1. Kroz korisničko sučelje Salesforce ovaj je način testiranja važan, ali neće uhvatiti sve slučajeve upotrebe vaših aplikacija
  2. Možete testirati skupnu funkcionalnost, do 200 zapisa može se proslijediti kroz vaš kôd pomoću SOAP API-ja ili visualforce standardnog kontrolera

Test klase ne predaju podatke u bazu podataka i bilježe se s @isTest. Pokazao sam vam kako dodati testnu klasu dodavanjem testne klase u HelloWorld klasu u nastavku:

@isTest

privatna klasa HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Zemlja__c zemlja = nova Država__c (Ime = 'Indija', valuta_vrijednost__c = 50,0)

Umetni zemlju

country = [SELECT currency_value__c FROM Country WHERE Id = country.Id]

System.assertEquals (75, country.currency_value__c)

}

}

Nadam se da ste razumjeli sve koncepte koje trebate znati da biste bili programer Salesforcea. Da biste zarobili više detalja, pogledajte naš koji dolazi s treningom uživo pod vodstvom instruktora i iskustvom u stvarnom životu. Ako imate komentara, ostavite ih u donjem polju za komentare.