Vadnica za razvijalce Salesforce: Začnite s programiranjem Salesforce



V tem blogu z vadnicami so razloženi različni koncepti programiranja, kot sta visualforce in apex, ki jih morate poznati, da začnete svojo kariero kot razvijalec Salesforce.

Si želite postati razvijalec programske aplikacije? Ali želite zgraditi svojo lastno aplikacijo na platformi Force.com? Če ste odgovor na ta vprašanja pritrdilni, morate vsekakor razmisliti, da bi postali razvijalec Salesforce.

V svojih prejšnjih blogih sem že razpravljal o , Certifikati Salesforce in vam tudi pokazala zgraditi aplikacijo po meri z uporabo deklarativnih možnosti, ki so na voljo v Salesforce. V tem blogu bom razpravljal o programskih možnostih, ki so na voljo v programu Salesforce za razvoj vaše aplikacije.





Arhitektura MVC

Preden se poglobim v izdelavo aplikacije z uporabo Visualforce in Apex, bom najprej razpravljal o arhitekturi Salesforce Model-View-Controller. Spodaj je diagram, ki opisuje arhitekturo Salesforce Model-View-Controller skupaj z različnimi komponentami Salesforce.

mvc - prodajalec prodajne sile - edureka



Model: Model so vaši podatkovni objekti, polja in odnosi Salesforce. Predstavlja standardne (Račun, Priložnost itd.) In predmete po meri (predmeti, ki jih ustvarite).

Pogled: Pogled predstavlja predstavitev podatkov, tj. Uporabniški vmesnik. V Salesforce pogled predstavlja strani, komponente, postavitve strani in zavihke visualforce.

Krmilnik: Krmilnik je gradnik dejanske logike aplikacije. Dejanja lahko izvajate vsakič, ko uporabnik komunicira z visualforce.



Salesforce v akciji

Če želite biti razvijalec Salesforce, morate najprej vedeti, kako delujejo aplikacije Salesforce. Spodaj je slika kar vam daje popolno sliko Salesforcea v akciji. Naročnik ali uporabnik zahteva ali posreduje informacije aplikaciji Salesforce. To se običajno opravi z uporabo Visualforce. Te informacije se nato posredujejo v aplikacijski logični sloj, zapisan v Apexu. Podatki se vnesejo ali odstranijo iz baze podatkov, odvisno od informacij. Salesforce vam ponuja tudi možnost uporabe spletnih storitev za neposreden dostop do logike aplikacije.

Razvijalec Salesforce lahko pristopi k razvoju bodisi z uporabo deklarativne bodisi programske možnosti. Spodaj je slika, ki vam ponuja podrobnosti o deklarativnem in programskem pristopu, ki so na voljo na vsakem uporabniškem vmesniku, ravni poslovne logike in podatkovnega modela. Za izdelavo uporabniškega vmesnika lahko uporabite deklarativni pristop, ki uporablja postavitve strani in vrste zapisov, ali programski pristop, kot so strani in komponente visualforce. Na splošno bi morali uporabljati programski pristop le, če z deklarativnim pristopom ne morete doseči potrebnega uporabniškega vmesnika. Če želite razviti plast poslovne logike aplikacije, lahko uporabite deklarativne možnosti poteka dela, pravila preverjanja veljavnosti in postopke odobritve Salesforce ali pa uporabite programski pristop, kot so sprožilci, krmilniki in razredi. Za dostop do podatkovnega modela lahko uporabite deklarativni pristop z uporabo predmetov, polj in odnosov. Do podatkovnega modela lahko dostopate tudi programsko z API-ji za metapodatke, API-jem REST in API-jem za množično uporabo.

Videli smo, kako delujejo aplikacije Salesforce, arhitektura MVC, uporabljena za razvoj v Salesforce, in dva različna pristopa, ki sta na voljo razvijalcu Salesforce. Zdaj pa naj razpravljam o Visualforceu in Apexu.

Visualforce

Za izdelavo aplikacij na platformi Salesforce morate vedeti, kako razviti uporabniški vmesnik in zapisati logiko aplikacij. Kot razvijalec Salesforce lahko uporabniški vmesnik razvijete s pomočjo Visualforcea. Visualforce je ogrodje uporabniškega vmesnika za platformo Force.com. Tako kot lahko uporabite ogrodje javascript Angular-JS za izdelavo uporabniških vmesnikov za svoja spletna mesta, lahko tudi Visualforce uporabite za načrtovanje in izdelavo uporabniških vmesnikov za vaše Salesforce aplikacije.

Visualforce lahko uporabite kadar koli želite zgraditi strani po meri. Nekaj ​​primerov primerov, v katerih lahko uporabite Visualforce:

  • Za izdelavo e-poštnih predlog
  • Razviti mobilni uporabniški vmesnik
  • Za ustvarjanje PDF-jev podatkov, shranjenih v programu Salesforce
  • Če jih želite vdelati v običajne postavitve strani
  • Če želite preglasiti standardno stran Salesforce
  • Razviti zavihke po meri za svojo aplikacijo

Stran Visualforce je sestavljena iz dveh osnovnih elementov:

  • Oznake Visualforce - Oznake Visualforce vključujejo oznake visualforce, HTML, JavaScript ali katero koli drugo spletno omogočeno kodo.
  • Krmilnik Visualforce - krmilnik Visualforce vsebuje navodila, ki določajo, kaj se zgodi, ko uporabnik komunicira s komponento. Krmilnik visualforce je napisan v programskem jeziku Apex.

Ogledate si lahko preprosto kodo strani Visualforce skupaj z različnimi komponentami spodaj:

Spodaj sem vam pokazal korake za pisanje preproste strani visualforce za prikaz držav in njihovih valut:

Korak 1: V nastavitvah v polje za hitro iskanje vnesite Visualforce Pages, nato izberite Visualforce Pages in kliknite New.

spajanje razvrščanja program v javi

2. korak: V urejevalnik dodajte naslednjo kodo za prikaz države in njene valute:

Apex

Ko končate z razvojem uporabniškega vmesnika, morate kot razvijalec Salesforce vedeti, kako aplikaciji dodati logiko po meri. S programskim jezikom Apex lahko napišete kodo krmilnika in aplikaciji dodate logiko po meri. Apex je objektno usmerjen programski jezik, ki vam omogoča izvajanje stavkov za nadzor pretoka in transakcij na platformi Force.com. Če ste že uporabljali programski jezik java, se lahko enostavno naučite Apexa. Sintaksa Apex je v 70% podobna sintaksi java.

Apex lahko uporabite kadar koli želite aplikaciji dodati logiko po meri. Nekaj ​​primerov primerov, v katerih lahko uporabite Apex, je:

  • Ko želite svoji aplikaciji dodati spletne in e-poštne storitve
  • Ko želite izvajati zapletene poslovne procese
  • Ko želite svoji aplikaciji dodati zapletena pravila za preverjanje veljavnosti
  • Ko želite dodati logiko po meri za operacije, kot je shranjevanje zapisa

Spodaj je posnetek zaslona kode Apex, skupaj z različnimi komponentami, kot so zanka, izjava control-flow in poizvedba SOQL:

Zdaj, ko smo razumeli, kaj je Apex in kdaj ga uporabiti, se poglobim v programiranje Apex.

Programiranje v Apexu

Če ste razumeli zgoraj opisane koncepte, ste na polovici poti, ko ste postali razvijalec Salesforce. V tem poglavju se bom poglobil v Apex, tako da vam bom ponudil informacije o različnih vrstah podatkov in spremenljivkah, različnih načinih pridobivanja podatkov iz baze podatkov in vam pokazal, kako napisati razred in metodo.

Podatkovni tipi in spremenljivke

Salesforce vam ponuja 4 različne vrste podatkov in spremenljivke. Spodnja tabela vsebuje informacije o vsakem od 4 tipov podatkov:

Vrste podatkov in spremenljivke Opis Primer
PrimitivnoPrimitivni tipi podatkov v Salesforce vključujejo logične vrednosti, datum, celo število, objekt, niz in čas.Logično jeSunny = true

Celo število I = 1

String myString = 'Hello World'

sObjektisObject se nanaša na kateri koli objekt, ki ga je mogoče shraniti v bazo podatkov.Račun a = nov račun ()

MyCustomObj__c obj = novo MyCustomObj__c ()

ZbirkeApex ima naslednje vrste zbirk:

  • Seznami
  • Zemljevidi
  • Kompleti
Seznam var_lst = nov seznam ()

Set setOne = nov Set ()

Zemljevid var_map = nov zemljevid ()

ŠtevilkeEnumi so abstraktni podatkovni tipi z vrednostmi, ki prevzamejo končni nabor identifikatorjev.Javno naštevanje letni časi {zima, pomlad, poletje, jesen}


SOQL in SOSL

Razvoj programskih aplikacij zahteva, da veste, kako vstavljati in pridobivati ​​podatke iz baz podatkov. V Salesforce lahko podatke iz baz podatkov pridobivate s pomočjo SOQL in SOSL. Če želite biti razvijalec Salesforce, morate poznati oba jezika poizvedb. Spodaj sem vam ponudil podrobno razlago teh jezikov:

  • SOQL pomeni Salesforce Object Query Language. Z uporabo stavkov SOQL lahko podatke iz baze podatkov pridobite kot seznam sObjektov, en sObject ali celoštevilsko metodo za štetje. SOQL si lahko predstavljate kot ekvivalent poizvedbe SELECT SOQL. Spodaj sem navedel primer poizvedbe SOQL:

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

  • SOSL je kratica za jezik iskanja predmetov Salesforce. S stavki SOSL lahko pridobite seznam sObjektov, kjer vsak seznam vsebuje rezultate iskanja za določeno vrsto sObject. SOSL lahko predstavljate kot enakovreden iskalni poizvedbi v zbirki podatkov. Spodaj sem navedel primer poizvedbe SOSL:

SeznamsearchList = [NAJDI 'zemljevid *' V VSEH PODROČJIH VRAČILO Račun (ID, Ime), Kontakt, Priložnost, Glavni]

SOQL lahko uporabite, ko veste, v katerem predmetu se nahajajo podatki, in uporabite SOSL, če ne poznate imena predmeta, v katerem so podatki.

Razredi in metode

Kot v vseh drugih objektno usmerjenih programskih jezikih lahko tudi v Apexu razvijate razrede in metode. Razred si lahko predstavljate kot načrt, s katerim se ustvarijo in uporabljajo posamezni predmeti. Metodo lahko predstavljate kot podprogram, ki deluje na podatke in vrne vrednost. Priskrbel sem vam sintakso za pisanje razreda in metode spodaj:

Zdaj vam bom pokazal, kako v Apex dodate razred in metodo:

Korak 1: V nastavitvah v okno QuickFind vnesite Apex Classes, nato izberite Apex Classes in kliknite New.

2. korak: V urejevalnik dodajte naslednjo definicijo razreda:

Javni razred HelloWorld {

}

3. korak: Med oklepaji za odpiranje in zapiranje razreda dodajte definicijo metode:

Javna statična void helloWorldMethod (Country__c [] države) {

Za (Država__c država: države) {

country.currency_value__c * = 1.5

}

}

4. korak: Kliknite Shrani in celoten razred bi morali imeti kot:

Javni razred HelloWorld {

Javna statična void helloWorldMethod (Country__c [] države) {

Za (Država__c država: države) {

country.currency_value__c * = 1.5

}

}

Zgoraj prikazano sintakso in primer lahko razvijete lastne razrede in metode za aplikacijo Salesforce. Če želite postati razvijalec Salesforce, morate vedeti več kot le pisanje razredov in metod. V naslednjih nekaj poglavjih bom razpravljal o temah, zaradi katerih je razvoj aplikacij na platformi Salesforce enostaven in enostaven.

Sprožilci

Vsak razvijalec Salesforce mora poznati koncept sprožilcev Salesforce. Morda ste že naleteli na sprožilce med delom z drugimi bazami podatkov. Sprožilci niso nič drugega kot shranjeni programi, ki jih prikličete, ko izvedete dejanja pred ali po spremembah zapisov Salesforce. Na primer, sprožilci se lahko zaženejo, preden se izvede vstavitev ali ko se izvede posodobitev. Obstajata dve vrsti sprožilcev:

  • Pred sprožilcem - Sprožilce lahko uporabite za posodobitev ali potrditev vrednosti zapisa, preden se shranijo v bazo podatkov.
  • Po sprožilcu - Sprožilce lahko uporabite za dostop do vrednosti polj, ki jih nastavi sistem, in za vplivanje na spremembe v drugih zapisih.

Sprožilci se izvedejo pred ali po naslednjih operacijah:

  • Vstavi
  • Nadgradnja
  • Izbriši
  • Pojdi
  • Ups
  • Prekliči brisanje

Pokazal vam bom, kako dodati sprožilec na vrhu, tako da dodate sprožilec za objekt Country, ki ste ga videli v zgornjem razredu:

Korak 1: V nastavitvah upravljanja predmetov za državo pojdite na Sprožilci in kliknite Novo.

2. korak: V urejevalnik sprožilcev dodajte naslednjo definicijo sprožilca:

ima razmerje v javi

Sproži HelloWorldTrigger na Country__c (pred vstavitvijo) {

Država__c države = Trigger.new

HelloWorld.helloWorldMethod (države)

ustvarjanje nabora predmetov

}

Zgornja koda bo posodobila valuto vaše države pred vsakim vstavljanjem v bazo podatkov.

Omejitve guvernerja

Morda veste, da Salesforce deluje na večnajemniški arhitekturi, kar pomeni, da se viri delijo med različnimi odjemalci. Da bi zagotovil, da nihče ne bi monopoliziral virov v skupni rabi, mehanizem delovanja Apex strogo uveljavlja omejitve guvernerja. Če vaša koda Apex kdaj preseže omejitev, pričakovani upravitelj izda izjemo med izvajanjem, ki je ni mogoče obravnavati. Kot razvijalec Salesforce morate biti pri razvoju aplikacije zelo previdni.

Operacije v razsutem stanju

Kot razvijalec Salesforce morate vedno zagotoviti, da vaša koda ohranja omejitve guvernerja. Če želite zagotoviti, da Apex spoštuje omejitve guvernerja, morate uporabiti vzorec načrtovanja množičnih klicev. Množična operacija se nanaša na zapisovanje več kot enega zapisa, ko izvedete operacijo DML. Preden izvedete operacijo DML, morate vedno dodati vrstice v zbirko. Spodaj je slika, ki vam daje popoln opis vzorca zasnove množičnega delovanja.

DML-ji in podatkovne operacije

Že prej ste videli, kako pridobiti podatke iz baze podatkov z uporabo poizvedb SOQL in SOSL. Zdaj pa si oglejmo različne izjave, s katerimi lahko vstavite podatke v bazo podatkov Salesforce. Za razvijalca Salesforce je treba vedeti, kaj lahko naredijo ti stavki in kako jih uporabiti.

Izjava DML

Opis
VstaviPodatkom vaše organizacije doda enega ali več sObjektov
NadgradnjaSpremeni enega ali več obstoječih zapisov sObject
UpsUstvari nove zapise in posodobi zapise sObject
IzbrišiIzbriše enega ali več obstoječih zapisov sObject
Prekliči brisanjeObnovi enega ali več obstoječih zapisov sObject
PojdiZdruži do tri zapise iste vrste sObject v en zapis

Visualforce in Apex

Dolgo ste napredovali v prizadevanju, da postanete razvijalec Salesforce. V nadaljevanju bom razpravljal o tem, kako lahko integrirate svojo stran visualforce in svojo apex kodo. Stran Visualforce in vršno kodo lahko povežete s krmilniki in razširitvami.

  • Krmilniki po meri -Če želite, da se stran visualforce v celoti izvaja v sistemskem načinu, tj. Brez dovoljenj in varnosti na ravni polja, uporabite krmilnik po meri.

  • Razširitev krmilnika -Če želite dodati nova dejanja ali funkcije, ki razširjajo funkcionalnost standardnega krmilnika ali krmilnika po meri, uporabite razširitev krmilnika.

V spodnji kodi sem vam pokazal, kako na stran visualforce vključite krmilnik po meri:

V spodnji kodi sem vam pokazal, kako vključite razširitev krmilnika na svojo stran visualforce:

Ravnanje z izjemami

Če ste že razvili aplikacije, bi zagotovo naleteli na izjeme. Izjema je poseben pogoj, ki spremeni običajni potek izvajanja programa. Na primer, delitev števila z ničlo ali dostop do vrednosti seznama, ki je zunaj meja. Če s temi izjemami ne ravnate, se izvajanje postopka ustavi in ​​DML se vrne nazaj.

Kot razvijalec Salesforce morate vedeti, kako ujeti te izjeme in kaj storiti, ko jih ujamete. Če želite ujeti izjeme, lahko uporabite poskus, ulov in končno konstrukcijo. Ko ujamete izjemo, jo lahko obravnavate na spodaj omenjene načine:

Izjema Kako ravnati
DMLZa zapis ali polje uporabite metodo addError ()
VisualforceUporabite razred ApexPages.message
Pošiljanje e-pošte ob izjemiRazvijalca lahko o tem obvestite po e-pošti
Prijava v objekt po meriZa ulov predmeta po meri lahko uporabite prihodnjo metodo

Do zdaj ste v tem spletnem dnevniku za razvijalce Salesforce videli, kako razviti uporabniški vmesnik z uporabo Visualforcea, videli ste, kako pisati logiko po meri z uporabo Apexa in različne koncepte, kot so sprožilci, množične operacije in ravnanje z izjemami. Nenazadnje si bomo ogledali testno ogrodje Salesforce.

Testiranje

Kot razvijalec Salesforce morate vedeti, kako preizkusiti kodo, ki jo pišete. Testno voden razvoj je dober način za zagotavljanje dolgoročnega uspeha vaše programske aplikacije. Preizkusiti morate svojo aplikacijo, da boste lahko potrdili, da vaša aplikacija deluje po pričakovanjih. Še posebej, če razvijate aplikacijo za stranko, je zelo pomembno, da jo preizkusite pred dostavo končnega izdelka. Apex vam ponuja preskusno ogrodje, ki vam omogoča pisanje enotnih testov, izvajanje preskusov, preverjanje rezultatov preskusov in rezultate pokritosti kode.

Vlogo lahko preizkusite na dva načina:

  1. Preko uporabniškega vmesnika Salesforce je ta način preskušanja pomemben, vendar ne bo zajel vseh primerov uporabe vaših aplikacij
  2. Funkcionalnost v velikem obsegu lahko preizkusite, skozi kodo lahko s pomočjo API-ja SOAP ali standardnega krmilnika visualforce prenesete do 200 zapisov

Preizkusni razredi ne posredujejo podatkov v bazo podatkov in so označeni z @isTest. Pokazal sem vam, kako dodate testni razred, tako da spodaj dodate Hello testni razred:

@isTest

zasebni razred HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Država__c država = nova Država__c (Ime = 'Indija', valuta_vrednost__c = 50,0)

Vstavi državo

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

System.assertEquals (75, country.currency_value__c)

}

}

Upam, da ste razumeli vse koncepte, ki jih morate poznati, da ste razvijalec Salesforce. Če se želite poglobiti v več podrobnosti, si oglejte našo ki prihaja z usposabljanjem pod vodstvom inštruktorjev v živo in izkušnjami iz resničnega življenja. Če imate kakršne koli komentarje, jih pustite v spodnjem polju za komentar.