Salesforce'i arendaja õpetus: alustage Salesforce'i programmeerimist

Selles õppeblogi selgitab erinevaid programmeerimiskontseptsioone, nagu visualforce ja tipp, mida peate teadma, et alustada oma karjääri Salesforce'i arendajana.

Kas soovid olla tarkvararakenduste arendaja? Kas soovite oma rakenduse Force.com platvormil üles ehitada? Kui teie vastus neile küsimustele on jaatav, peaksite kindlasti kaaluma Salesforce'i arendajaks saamist.

Oma eelmistes ajaveebides olen arutanud teemat , Salesforce'i sertifikaadid ja näitas ka teile ehitada kohandatud rakendus kasutades Salesforce'is olevaid deklaratiivseid valikuid. Selles ajaveebis käsitlen teie rakenduse arendamiseks Salesforce'is saadaolevaid programmilisi võimalusi.



MVC arhitektuur

Enne kui sukeldun rakenduse loomisse Visualforce'i ja Apexi abil, arutlen kõigepealt Salesforce Model-View-Controller arhitektuuri üle. Allpool on diagramm, mis visandab Salesforce'i mudeli-vaate-kontrolleri arhitektuuri koos erinevate Salesforce'i komponentidega.

mvc - müügijõu arendaja - edureka



Mudel: Mudel on teie Salesforce'i andmete objektid, väljad ja seosed. See koosneb standardsetest (konto, võimalus jne) ja kohandatud objektidest (teie loodud objektid).

Vaade: Vaade tähistab andmete, st kasutajaliidese esitlust. Salesforce'is koosneb vaade Visualforce'i lehtedest, komponentidest, lehe paigutustest ja vahelehtedest.

Kontroller: Kontroller on tegeliku rakendusloogika ehituskivi. Saate teha toiminguid alati, kui kasutaja suhtleb visualforce'iga.



Salesforce tegevuses

Et olla Salesforce'i arendaja, peate kõigepealt teadma, kuidas Salesforce'i rakendused töötavad. Allpool on pilt mis annab teile täieliku pildi Salesforce'i tegevusest. Klient või kasutaja taotleb või esitab teavet Salesforce'i rakendusele. Seda tehakse tavaliselt Visualforce'i abil. See teave edastatakse seejärel Apexis kirjutatud rakenduse loogikakihile. Sõltuvalt teabest sisestatakse või eemaldatakse andmed andmebaasist. Salesforce pakub teile ka võimalust kasutada veebiteenuseid otse rakenduse loogikale juurde pääsemiseks.

Salesforce'i arendaja saab arendusele läheneda kas deklaratiivsete või programmiliste valikute abil. Allpool on pilt, mis pakub üksikasju nii deklaratiivse kui ka programmilise lähenemise kohta, mis on saadaval igas kasutajaliidese, äriloogika ja andmemudeli kihis. Kasutajaliidese loomiseks võite kasutada kas deklaratiivset lähenemist, mis kasutab lehe paigutusi ja kirjetüüpe, või kasutada programmilist lähenemist, näiteks Visualforce'i lehti ja komponente. Üldiselt peaksite programmilist lähenemist kasutama ainult siis, kui deklaratiivse lähenemisviisi abil ei õnnestu vajalikku kasutajaliidest saavutada. Rakenduse äriloogikakihi väljatöötamiseks võite kasutada Salesforce'i töövoo, valideerimisreeglite ja kinnitamisprotsesside deklaratiivseid valikuid või kasutada programmilist lähenemist, nagu käivitajad, kontrollerid ja klassid. Andmemudelile juurdepääsu saamiseks võite kasutada objektiivide, väljade ja seoste abil deklaratiivset lähenemist. Andmemudelile pääseb juurde ka programmiliselt, kasutades metaandmete API-d, REST-i API-d ja hulgi-API-d.

Oleme näinud, kuidas töötavad Salesforce'i rakendused, Salesforce'i arendamiseks kasutatud MVC arhitektuur ja kaks erinevat lähenemist, mis on saadaval Salesforce'i arendaja jaoks. Lubage mul nüüd Visualforce'i ja Apexi üle arutada.

Visualforce

Salesforce'i platvormil rakenduste loomiseks peate teadma, kuidas arendada kasutajaliidest ja kirjutada rakenduse loogikat. Salesforce'i arendajana saate Visualforce'i abil kasutajaliidese välja töötada. Visualforce on Force.com platvormi kasutajaliidese raamistik. Nii nagu saate JavaScripti Angular-JS raamistiku abil oma veebisaitide jaoks kasutajaliideseid luua, saate Visualforce'i abil oma Salesforce'i rakenduste kasutajaliideste kujundamiseks ja ehitamiseks.

Visualforce'i saate kasutada alati, kui teil on vaja kohandatud lehti luua. Mõned näited olukordadest, kus saate Visualforce'i kasutada, on:

  • E-kirja mallide loomiseks
  • Mobiilse kasutajaliidese arendamiseks
  • Salesforce'i salvestatud andmete PDF-ide loomiseks
  • Nende kinnistamiseks oma standardsetesse lehe paigutustesse
  • Tavalise Salesforce'i lehe alistamiseks
  • Rakenduse jaoks kohandatud vahelehtede väljatöötamiseks

Visualforce'i leht koosneb kahest põhielemendist:

  • Visualforce'i märgistus - Visualforce'i märgistus sisaldab Visualforce'i silte, HTML-i, JavaScripti või mõnda muud veebitoega koodi.
  • Visualforce'i kontroller - Visualforce'i kontroller sisaldab juhiseid, mis täpsustavad, mis juhtub, kui kasutaja suhtleb komponendiga. Visualforce'i kontroller on kirjutatud Apexi programmeerimiskeelt kasutades.

Saate heita pilgu lihtsale Visualforce'i lehe koodile koos erinevate allpool toodud komponentidega:

kuidas leida massiivi java suurimat arvu

Allpool olen teile näidanud lihtsa Visualforce'i lehe kirjutamise juhiseid riikide ja nende vääringute väärtuste kuvamiseks:

Samm 1: Sisestage seadistamise väljal Kiirotsing väljale Visualforce Pages, valige Visualforce Pages ja klõpsake nuppu Uus.

2. samm: Redaktoris lisage järgmine kood riigi ja selle vääringu väärtuse kuvamiseks:

Tipp

Kui olete kasutajaliidese välja töötanud, peate Salesforce'i arendajana teadma, kuidas oma rakendusse kohandatud loogikat lisada. Apexi programmeerimiskeele abil saate kirjutada kontrolleri koodi ja lisada oma rakendusele kohandatud loogika. Apex on objektile orienteeritud programmeerimiskeel, mis võimaldab teil voo ja tehingute juhtimise avaldusi täita Force.com platvormil. Kui olete Java-programmeerimiskeelt varem kasutanud, saate Apexi hõlpsasti õppida. Apeksi süntaks sarnaneb java omaga 70%.

Apexi saate kasutada alati, kui soovite oma rakendusele kohandatud loogikat lisada. Mõned näited olukordadest, kus saate Apexit kasutada, on:

  • Kui soovite oma rakendusse lisada veebi- ja e-posti teenuseid
  • Kui soovite läbi viia keerukaid äriprotsesse
  • Kui soovite oma rakendusele lisada keerukaid valideerimisreegleid
  • Kui soovite lisada toimingutele nagu kirje salvestamine kohandatud loogika

Allpool on ekraanipilt Apexi koodist koos selle erinevate komponentidega nagu looping lause, control-flow lause ja SOQL päring:

Nüüd, kui oleme aru saanud, mis on Apex ja millal seda kasutada, lubage mul sukelduda Apexi programmeerimisse.

Programmeerimine tipus

Kui olete eespool kirjeldatud mõistetest aru saanud, olete Salesforce'i arendajaks saamise poole peal. Selles jaotises sukeldun Apexisse sügavamale, pakkudes teile teavet erinevate andmetüüpide ja muutujate, andmebaasist andmete hankimise erinevate viiside ning klassi ja meetodi kirjutamise kohta.

Andmetüübid ja muutujad

Salesforce pakub teile 4 erinevat andmetüüpi ja muutujat. Allpool olevast tabelist leiate teavet kõigi nelja andmetüübi kohta:

Andmetüübid ja muutujad Kirjeldus Näide
ÜrgneEsmased andmetüübid Salesforce'is hõlmavad tõeväärtust, kuupäeva, täisarvu, objekti, stringi ja kellaaega.Boolean isSunny = tõene

I täisarv = 1

String myString = “Tere maailm”

objektidsObject viitab mis tahes objektile, mida saab andmebaasi salvestada.Konto a = uus konto ()

MyCustomObj__c obj = new MyCustomObj__c ()

KogudApexil on järgmist tüüpi kollektsioonid:

  • Loendid
  • Kaardid
  • Komplektid
Nimekiri var_lst = uus Loend ()

Set setOne = uus komplekt ()

Kaart var_map = uus kaart ()

EnumsEnums on abstraktsed andmetüübid, mille väärtused võtavad lõpliku identifikaatorite komplekti.Avalik arv aastaajad {talv, kevad, suvi, sügis}


SOQL ja SOSL

Tarkvararakenduste väljatöötamine nõuab, et teaksite, kuidas andmebaasidest andmeid sisestada ja neid hankida. Salesforce'is saate andmebaasidest andmeid hankida, kasutades SOQL ja SOSL. Kui soovite olla Salesforce'i arendaja, peate teadma mõlemat päringukeelt. Esitasin teile allpool nende keelte üksikasjaliku selgituse:

  • SOQL tähistab Salesforce Object Query Language. SOQL-lausete abil saate andmebaasist andmeid hankida sObjektide loendina, ühe sObjekti või loendamismeetodi täisarvuna. Võite mõelda SOQL-i kui SELECT SOQL-i päringu ekvivalenti. Olen allpool esitanud SOQL-päringu näite:

Nimekiri accList = [SELECT ID, nimi kontolt WHERE nimi = 'teieNimi']

  • SOSL tähistab lühendit Salesforce Object Search Language. SOSL-lausete abil saate hankida sObjektide loendi, kus iga loend sisaldab konkreetse sObject-tüüpi otsingutulemusi. Võite mõelda, et SOSL on samaväärne andmebaasi otsingupäringuga. Olen allpool esitanud SOSL-päringu näite:

NimekirisearchList = [LEIA ‘kaart *’ KÕIGI VALDKONDADE TAGASIVÕTTES Konto (ID, nimi), kontakt, võimalus, müügivihje]

Võite kasutada SOQL-i, kui teate, millises objektis andmed asuvad, ja kasutada SOSL-i, kui te ei tea objekti nime, kus andmed asuvad.

Klassid ja meetodid

Nagu igas muus objektile orienteeritud programmeerimiskeeles, saate ka Apexi abil välja töötada klassid ja meetodid. Võite mõelda klassist kui kavandist, mis kasutab üksikute objektide loomist ja kasutamist. Võite mõelda meetodist kui alamprogrammist, mis toimib andmetega ja tagastab väärtuse. Allpool on teile klassi ja meetodi kirjutamiseks antud süntaks:

Nüüd näitan teile, kuidas klassi ja meetodit Apexis lisada:

Samm 1: Sisestage seadistamisel QuickFind Boxi Apexi klassid, valige Apexi klassid ja klõpsake nuppu Uus.

2. samm: Redaktoris lisage järgmine klassi määratlus:

Avalik tund HelloWorld {

ühenda sort C ++ kood

}

3. samm: Lisage meetodi määratlus klassi avamise ja sulgude vahele:

Avalik staatiline tühine tereWorldMethod (riik__c [] riigid) {

(Riik__c riik: riigid) {

riik.valuuta_väärtus__c * = 1,5

}

}

4. samm: Klõpsake nuppu Salvesta ja teil peaks olema kogu klass:

Avalik tund HelloWorld {

Avalik staatiline tühine tereWorldMethod (riik__c [] riigid) {

(Riik__c riik: riigid) {

riik.valuuta_väärtus__c * = 1,5

}

}

Salesforce'i rakenduse jaoks oma klasside ja meetodite väljatöötamiseks võite kasutada ülaltoodud süntaksit ja näidet. Salesforce'i arendajaks saamiseks peate teadma mitte ainult klasside ja meetodite kirjutamist. Järgmistes jaotistes käsitlen teemasid, mis muudavad rakenduste arendamise Salesforce'i platvormil lihtsaks ja lihtsaks.

Käivitajad

Iga Salesforce'i arendaja peab teadma Salesforce'i käivitajate kontseptsiooni. Võimalik, et olete varem teiste andmebaasidega töötades kokku puutunud päästikutega. Käivitajad pole muud kui salvestatud programmid, mida kutsutakse esile siis, kui sooritate toiminguid enne või pärast Salesforce'i kirjete muudatusi. Näiteks võivad päästikud käivitada enne sisestamistoimingu sooritamist või värskendustoimingu sooritamist. Käivitajaid on kahte tüüpi:

  • Enne päästikut - Enne päästikute kasutamist saate kirjeväärtusi enne andmebaasi salvestamist värskendada või kinnitada.
  • Pärast päästikut - Pärast päästikuid saate kasutada süsteemi määratud väljaväärtustele juurde pääsemiseks ja teiste kirjete muutuste mõjutamiseks.

Käivitajad käivitatakse enne või pärast järgmisi toiminguid:

  • Sisesta
  • Uuenda
  • Kustuta
  • Mine
  • Vabandust
  • Kustuta

Ma näitan teile, kuidas lisada päästik tipus, lisades trigeri riigiobjektile, mida olete ülaltoodud klassis näinud:

Samm 1: Riigi objektihalduse seadetes valige käivitajad ja klõpsake nuppu Uus.

2. samm: Lisage päästikiredaktorisse järgmine päästiku definitsioon:

Käivitage HelloWorldTrigger riigis__c (enne sisestamist) {

Riik__c riigid = Trigger.new

HelloWorld.helloWorldMethod (riigid)

}

Ülaltoodud kood värskendab teie riigi valuutat enne iga andmebaasi sisestamist.

Kuberneri piirid

Võib-olla teate, et Salesforce töötab mitme üürniku arhitektuuril, see tähendab, et ressursse jagatakse erinevate klientide vahel. Veendumaks, et keegi klient ei monopoleeri jagatud ressursse, rakendab Apexi käitamismootor rangelt kuberneri piiranguid. Kui teie Apexi kood ületab kunagi piiri, väljastab eeldatav kuberner käitamisaja erandi, mida ei saa käsitleda. Seega peate Salesforce'i arendajana oma rakendust arendades olema väga ettevaatlik.

Hulgitoimingud

Salesforce'i arendajana peate alati tagama, et teie kood säilitaks kuberneri piiranguid. Veendumaks, et Apex järgib kuberneri piiranguid, peate kasutama hulgikõnede kujundusmustrit. Hulgitoiming viitab DML-toimingu tegemisel mitme kirje sooritamisele. Enne DML-i toimingu tegemist peate alati veenduma, et lisate read kogusse. Allpool on pilt, mis annab teile hulgioperatsioonide kujundusmustri täieliku kirjelduse.

DML-id ja andmetoimingud

Olete varem näinud, kuidas andmebaasist andmeid SOQLi ja SOSL-i päringute abil hankida. Vaatame nüüd erinevaid väiteid, mille abil saate andmeid Salesforce'i andmebaasi sisestada. Salesforce'i arendaja jaoks on vaja teada, mida need avaldused saavad teha ja kuidas neid kasutada.

DML-i avaldus

Kirjeldus
SisestaLisab teie organisatsiooni andmetele ühe või mitu objekti
UuendaMuudab ühte või mitut olemasolevat sObject-kirjet
VabandustLoob uusi kirjeid ja värskendab sObject-kirjeid
KustutaKustutab ühe või mitu olemasolevat sObject-kirjet
KustutaTaastab ühe või mitu olemasolevat sObject-kirjet
MineÜhendab kuni kolm sama sObject tüüpi kirjet ühte kirjesse

Visuaaljõud ja tipp

Salesforce'i arendajaks saamise nimel olete läbinud pika tee. Järgmisena arutlen selle üle, kuidas saaksite integreerida oma Visualforce'i lehe ja oma tipukoodi. Kontrollerite ja laienduste abil saate ühendada oma Visualforce'i lehe ja oma tipukoodi.

  • Kohandatud kontrollerid -Kui soovite, et teie visualforce'i leht töötaks täielikult süsteemirežiimis, st ilma lubade ja väljataseme turvalisuseta, kasutage kohandatud kontrollerit.

  • Kontrolleri laiendus -Kui soovite lisada uusi toiminguid või funktsioone, mis laiendavad standard- või kohandatud kontrolleri funktsionaalsust, kasutage kontrolleri laiendust.

Allolevas koodis näitasin teile, kuidas lisada oma visualforce'i lehele kohandatud kontroller:

Allolevas koodis näitasin teile, kuidas lisada kontrolleri laiendus oma Visualforce'i lehele:

sql serveri kuupäeva andmetüüp

Erandite käsitlemine

Kui olete rakendusi varem välja töötanud, siis oleksite kindlasti kohanud erandeid. Erandiks on eritingimus, mis muudab programmi täitmise tavapärast voogu. Näiteks numbri jagamine nulliga või juurdepääs loendiväärtusele, mis on väljaspool piire. Kui te neid erandeid ei käsitle, peatatakse protsessi käivitamine ja DML-id lükatakse tagasi.

Salesforce'i arendajana peate teadma, kuidas neid erandeid tabada ja mida teha, kui olete neist kinni saanud. Erandite saamiseks võite proovida, püüda ja lõpuks konstrueerida. Kui olete erandi tabanud, saate seda käsitleda allpool nimetatud viisidel:

Erand Kuidas sellega hakkama saada
DMLKasutage kirjel või väljal meetodit addError ()
VisualforceKasutage klassi ApexPages.message
E-kirja saatmine erandkorrasArendajale saate sellest teatada e-posti teel
Kohandatud objekti sisse logimineKohandatud objekti püüdmiseks võite kasutada tulevast meetodit

Siiani olete selles Salesforce'i arendajablogis näinud, kuidas Visualforce'i abil oma kasutajaliidest arendada, olete näinud, kuidas Apexi ja erinevaid mõisteid nagu käivitajad, hulgitoimingud ja erandite käitlemine kohandatud loogikat kirjutada. Viimane, kuid mitte vähem oluline, heidame pilgu Salesforce'i testimisraamistikule.

Testimine

Salesforce'i arendajana peate teadma, kuidas kirjutatud koodi testida. Testpõhine arendus on hea viis tarkvararakenduse pikaajalise edu tagamiseks. Peate oma rakendust testima, et saaksite kinnitada, et teie rakendus töötab ootuspäraselt. Eriti kui arendate rakendust kliendile, on selle testimine enne lõpptoote tarnimist väga oluline. Apex pakub testimisraamistikku, mis võimaldab teil kirjutada ühikutestid, käivitada teste, kontrollida testitulemusi ja omada koodide katvuse tulemusi.

Rakendust saate testida kahel viisil:

  1. Salesforce'i kasutajaliidese kaudu on selline testimisviis oluline, kuid see ei hõlma kõiki teie rakenduste kasutusjuhtumeid
  2. Saate testida hulgifunktsionaalsust, teie koodi kaudu saab edastada kuni 200 kirjet, kasutades SOAP API-d või Visualforce'i standardset kontrollerit

Testiklassid ei seo andmebaasi mingeid andmeid ja need on kommenteeritud @isTest. Olen teile näidanud, kuidas testklassi lisada, lisades testklassi allolevasse klassi HelloWorld:

@isTest

eraklassi HelloWorldTestClass {

staatiline testMethod void validateHelloWorld () {

Riik__c riik = uus Riik__c (nimi = “India”, valuuta_väärtus__c = 50,0)

Sisestage riik

riik = [VALI valuuta_väärtus__c FROM riigist WHERE Id = riik.Id]

System.assertEquals (75, riik.valuuta_väärtus__c)

}

}

Loodan, et olete mõistnud kõiki kontseptsioone, mida peate teadma, et olla Salesforce'i arendaja. Lisateabe saamiseks sukelduge meie lehele mis on varustatud juhendaja juhitud otsekoolituse ja tegeliku elu kogemustega. Kui teil on kommentaare, jätke need palun allpool olevasse kommentaarikasti.