Salesforce-utviklerveiledning: Kom i gang med Salesforce-programmering



Denne opplæringsbloggen forklarer de forskjellige programmeringskonseptene som visualforce og apex som du må vite for å starte karrieren din som Salesforce-utvikler.

Ønsker du å være programvareutvikler? Vil du bygge din egen applikasjon på Force.com-plattformen? Hvis svaret ditt på disse spørsmålene er ja, bør du definitivt vurdere å bli en Salesforce-utvikler.

I mine tidligere blogger har jeg diskutert om , Salesforce-sertifiseringer og viste deg også til bygge et tilpasset program ved hjelp av deklarative alternativene som er tilgjengelige i Salesforce. I denne bloggen vil jeg diskutere de programmatiske alternativene som er tilgjengelige i Salesforce for å utvikle applikasjonen din.





MVC Arkitektur

Før jeg dykker ned i å bygge en applikasjon ved hjelp av Visualforce og Apex, vil jeg først diskutere om Salesforce Model-View-Controller-arkitekturen. Nedenfor er et diagram som viser Salesforce Model-View-Controller-arkitekturen sammen med de forskjellige Salesforce-komponentene.

mvc - salgsstedsutvikler - edureka



Modell: Modellen er dine Salesforce-dataobjekter, felt og relasjoner. Den består av standard (konto, mulighet, osv.) Og egendefinerte objekter (objekter du oppretter).

Utsikt: Visningen representerer presentasjonen av dataene, dvs. brukergrensesnittet. I Salesforce består visningen av visualforce-sider, komponenter, sideoppsett og faner.

Kontroller: Kontrolleren er byggesteinen til den faktiske applikasjonslogikken. Du kan utføre handlinger når brukeren kommuniserer med visualforce.



hvordan du kan forhindre lås i Java

Salesforce i aksjon

For å være en Salesforce-utvikler, må du først vite hvordan Salesforce-applikasjoner fungerer. Nedenfor er et bilde som gir deg et fullstendig bilde av Salesforce i aksjon. Klienten eller brukeren ber om eller gir informasjon til Salesforce-applikasjonen. Dette gjøres vanligvis ved hjelp av Visualforce. Denne informasjonen videreføres til applikasjonslogikklaget, skrevet i Apex. Avhengig av informasjonen blir data enten satt inn eller fjernet fra databasen. Salesforce gir deg også muligheten til å bruke webtjenester for å få direkte tilgang til applikasjonslogikken.

En Salesforce-utvikler kan nærme seg utvikling ved hjelp av deklarative eller programmatiske alternativene. Nedenfor er et bilde som gir deg detaljer om både deklarative og programmatiske tilnærmingene som er tilgjengelige i hvert av brukergrensesnittet, forretningslogikken og datamodellaget. For å bygge brukergrensesnittet kan du enten bruke den deklarative tilnærmingen som bruker sidelayout og posttyper, eller bruke programmatisk tilnærming som visualforce-sider og komponenter. Generelt sett bør du bare bruke programmatisk tilnærming når du ikke kan oppnå det nødvendige brukergrensesnittet ved hjelp av den deklarative tilnærmingen. For å utvikle applikasjonens forretningslogiske lag kan du enten bruke Salesforce-deklarative alternativer for arbeidsflyt, valideringsregler og godkjenningsprosesser eller bruke programmatisk tilnærming som triggere, kontrollere og klasser. For å få tilgang til datamodellen kan du bruke den deklarative tilnærmingen ved hjelp av objekter, felt og relasjoner. Du kan også få tilgang til datamodellen programmatisk ved hjelp av metadata API, REST API og bulk API.

Vi har sett hvordan Salesforce-applikasjoner fungerer, MVC-arkitekturen som brukes til utvikling i Salesforce og de to forskjellige tilnærmingene som er tilgjengelige for en Salesforce-utvikler. La meg nå diskutere om Visualforce og Apex.

Visualforce

For å bygge applikasjoner på Salesforce-plattformen, må du vite hvordan du utvikler brukergrensesnitt og skriver applikasjonslogikk. Som Salesforce-utvikler kan du utvikle brukergrensesnittet ved hjelp av Visualforce. Visualforce er rammeverket for brukergrensesnitt for Force.com-plattformen. Akkurat som hvordan du kan bruke javascript Angular-JS framework til å bygge brukergrensesnitt for nettsteder, kan du bruke Visualforce til å designe og bygge brukergrensesnitt for Salesforce-applikasjonene dine.

Du kan bruke visualforce når du trenger å lage tilpassede sider. Få eksempler på situasjoner der du kan bruke Visualforce er:

  • Å bygge e-postmaler
  • Å utvikle mobil brukergrensesnitt
  • Å generere PDF-filer med data lagret i Salesforce
  • Å legge dem inn i dine standard sideoppsett
  • Å overstyre en standard Salesforce-side
  • Å utvikle egendefinerte faner for applikasjonen din

En visualforce-side består av to primære elementer:

  • Visualforce Markup - Visualforce-markeringen inkluderer visualforce-koder, HTML, JavaScript eller annen nettaktivert kode.
  • En Visualforce-kontroller - Visualforce-kontrolleren inneholder instruksjonene som spesifiserer hva som skjer når en bruker kommuniserer med en komponent. Visualforce-kontrolleren er skrevet ved hjelp av Apex programmeringsspråk.

Du kan ta en titt på en enkel Visualforce-sidekode sammen med de forskjellige komponentene nedenfor:

Nedenfor har jeg vist deg trinnene for å skrive en enkel visualforce-side for visning av land og deres valutaverdier:

Trinn 1: Fra Oppsett, skriv inn Visualforce Pages i Quick Find-boksen, velg deretter Visualforce Pages og klikk Ny.

Steg 2: I redigereren legger du til følgende kode for å vise landet og dets valutaverdi:

Toppunkt

Når du er ferdig med å utvikle brukergrensesnittet, må du som Salesforce-utvikler vite hvordan du legger til tilpasset logikk i applikasjonen din. Du kan skrive kontrollerkode og legge til tilpasset logikk i applikasjonen din ved hjelp av Apex programmeringsspråk. Apex er et objektorientert programmeringsspråk som lar deg utføre flyt- og transaksjonskontrolluttalelser på Force.com-plattformen. Hvis du har brukt Java-programmeringsspråket før, kan du enkelt lære Apex. Apex-syntaksen er 70% lik den for java.

Du kan bruke Apex når du vil legge til tilpasset logikk i applikasjonen din. Få eksempler på situasjoner der du kan bruke Apex er:

  • Når du vil legge til nett- og e-posttjenester i applikasjonen din
  • Når du vil utføre komplekse forretningsprosesser
  • Når du vil legge til kompliserte valideringsregler i applikasjonen din
  • Når du vil legge til en tilpasset logikk på operasjoner som å lagre en post

Nedenfor er et skjermbilde av Apex-kode sammen med de forskjellige komponentene som looping statement, control-flow statement og SOQL query:

Nå som vi har forstått hva Apex er og når vi skal bruke det, la meg dykke dypt ned i Apex-programmering.

Programmering i Apex

Hvis du har forstått konseptene som er beskrevet ovenfor, er du halvveis i løpet av å bli Salesforce-utvikler. I denne delen vil jeg dykke dypere inn i Apex ved å gi deg informasjon om de forskjellige datatypene og variablene, forskjellige måter å hente data fra databasen og vise deg hvordan du skriver en klasse og metode.

Datatyper og variabler

Salesforce tilbyr deg 4 forskjellige datatyper og variabler. Tabellen nedenfor gir deg informasjon om hver av de fire datatypene:

Datatyper og variabler Beskrivelse Eksempel
PrimitivPrimitive datatyper i Salesforce inkluderer boolsk, dato, heltall, objekt, streng og tid.Boolsk isSunny = sant

Heltall I = 1

String myString = “Hello World”

sObjektersObject refererer til ethvert objekt som kan lagres i databasen.Konto a = ny konto ()

MyCustomObj__c obj = new MyCustomObj__c ()

SamlingerApex har følgende typer samlinger:

  • Lister
  • Kart
  • Settene
Liste var_lst = ny liste ()

Sett setOne = nytt sett ()

Kart var_map = nytt kart ()

EnumsEnums er abstrakte datatyper med verdier som får et endelig sett med identifikatorer.Public enum Seasons {Winter, Spring, Summer, Fall}


SOQL og SOSL

Å utvikle programvare krever at du vet hvordan du setter inn og henter data fra databaser. I Salesforce kan du hente data fra databasene ved hjelp av SOQL og SOSL. Hvis du vil være Salesforce-utvikler, må du kjenne begge disse spørringsspråkene. Jeg har gitt deg en detaljert forklaring på disse språkene nedenfor:

  • SOQL står for Salesforce Object Query Language. Ved hjelp av SOQL-setninger kan du hente data fra databasen som en liste over sObjects, et enkelt sObject eller et heltall for metoden. Du kan tenke på SOQL som et ekvivalent av et SELECT SOQL-spørsmål. Jeg har gitt et eksempel på et SOQL-spørsmål nedenfor:

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

  • SOSL står for Salesforce Object Search Language. Du kan bruke SOSL-setninger for å hente en liste over sObjects, der hver liste inneholder søkeresultatene for en bestemt sObject-type. Du kan tenke på SOSL som et ekvivalent med et databasesøk. Jeg har gitt et eksempel på et SOSL-spørsmål nedenfor:

ListesearchList = [FINN ‘kart *’ PÅ ALLE FELTER RETURERING Konto (Id, Navn), Kontakt, Mulighet, Lead]

Du kan bruke SOQL når du vet hvilket objekt dataene ligger i, og bruke SOSL når du ikke vet navnet på objektet der dataene ligger.

Klasser og metoder

Som i alle andre objektorienterte programmeringsspråk, kan du utvikle klasser og metoder ved hjelp av Apex. Du kan tenke på en klasse som en tegning der individuelle objekter blir opprettet og brukt. Du kan tenke på en metode som et underprogram, som virker på data og returnerer en verdi. Jeg har gitt deg syntaksen for å skrive en klasse og metode nedenfor:

Jeg vil nå vise deg hvordan du legger til en klasse og metode i Apex:

Trinn 1: Fra oppsett skriver du inn Apex Classes i QuickFind Box, velger deretter Apex Classes og klikker Ny.

Steg 2: I redaktøren legger du til følgende klassedefinisjon:

Offentlig klasse HelloWorld {

}

Trinn 3: Legg til en metodedefinisjon mellom klasseåpning og lukking av parentes:

Offentlig statisk ugyldig helloWorldMethod (Country__c [] land) {

For (Country__c land: land) {

country.currency_value__c * = 1.5

}

}

Trinn 4: Klikk på Lagre, og du bør ha hele klassen din som:

Offentlig klasse HelloWorld {

Offentlig statisk ugyldig helloWorldMethod (Country__c [] land) {

For (Country__c land: land) {

country.currency_value__c * = 1.5

}

}

Du kan bruke syntaksen og eksemplet vist ovenfor for å utvikle dine egne klasser og metoder for Salesforce-applikasjonen. For å bli Salesforce-utvikler må du vite mer enn bare å skrive klasser og metoder. I de neste avsnittene vil jeg diskutere emner som gjør det enkelt og enkelt å utvikle applikasjoner på Salesforce-plattformen.

Utløsere

Hver Salesforce-utvikler må kjenne konseptet med Salesforce-utløsere. Du har kanskje tidligere kommet over utløsere mens du jobber med andre databaser. Utløsere er bare lagrede programmer som blir påkalt når du utfører handlinger før eller etter endringer i Salesforce-poster. Utløsere kan for eksempel kjøres før en innsettingsoperasjon utføres eller når en oppdateringsoperasjon utføres. Det er to typer utløsere:

  • Før utløser - Du kan bruke før utløsere til å oppdatere eller validere postverdier før de lagres i databasen.
  • Etter trigger - Du kan bruke etter utløsere for å få tilgang til feltverdier som er satt av systemet og for å påvirke endringer i andre poster.

Utløsere blir henrettet før eller etter operasjonene nedenfor:

  • Sett inn
  • Oppdater
  • Slett
  • Upsert
  • Angre sletting

Jeg vil vise deg hvordan du legger til en trigger i apex ved å legge til en trigger for Country-objektet som du har sett i klassen ovenfor:

Trinn 1: Fra objektadministrasjonsinnstillingene for land, gå til Utløsere og klikk på Ny.

Steg 2: I triggereditoren legger du til følgende triggerdefinisjon:

Utløs HelloWorldTrigger på Country__c (før innsats) {

Land__c land = Utløser. Nytt

HelloWorld.helloWorldMethod (land)

}

Ovennevnte kode vil oppdatere landets valuta før hver innsetting i databasen.

Guvernørgrenser

Du vet kanskje at Salesforce jobber med flerleierarkitektur, dette betyr at ressursene deles på tvers av forskjellige klienter. For å sikre at ingen klienter monopoliserer de delte ressursene, håndhever Apex kjøretidsmotor strengt guvernørens grenser. Hvis Apex-koden din noen gang overskrider en grense, utsteder den forventede guvernøren et unntak for kjøretid som ikke kan håndteres. Så som Salesforce-utvikler må du være veldig forsiktig når du utvikler applikasjonen din.

Masseoperasjoner

Som Salesforce-utvikler må du alltid sørge for at koden din opprettholder guvernørens grenser. For å sikre at Apex overholder guvernørens grenser, må du bruke designmønsteret for bulkanrop. En bulkoperasjon refererer til å begå mer enn en post når du foretar en DML-operasjon. Før du foretar en DML-operasjon, må du alltid sørge for at du legger til radene i en samling. Nedenfor er et bilde som gir deg en fullstendig beskrivelse av designmønsteret for bulkoperasjoner.

DML og datoperasjoner

Du har tidligere sett hvordan du henter data fra databasen ved hjelp av SOQL- og SOSL-spørsmål. La oss nå se på de forskjellige utsagnene du kan bruke til å sette inn data i Salesforce-databasen. For en Salesforce-utvikler er det et must å vite hva disse uttalelsene kan gjøre og hvordan de kan brukes.

DML-uttalelse

Beskrivelse
Sett innLegger til en eller flere sObjekter i organisasjonens data
OppdaterEndrer en eller flere eksisterende sObject-poster
UpsertOppretter nye poster og oppdaterer sObject-poster
SlettSletter en eller flere eksisterende sObject-poster
Angre slettingGjenoppretter en eller flere eksisterende sObject-poster
Slår sammen opptil tre poster av samme sObject-type til en plate

Visualforce And Apex

hva er rammeverk i selen

Du har kommet langt i din søken etter å bli en Salesforce-utvikler. Deretter vil jeg diskutere hvordan du kan integrere visualforce-siden din og din apex-kode. Du kan koble visualforce-siden din og apex-koden din ved hjelp av kontrollere og utvidelser.

  • Egendefinerte kontrollere -Når du vil at visualforce-siden skal kjøre helt i systemmodus, dvs. uten tillatelser og sikkerhet på feltnivå, bruker du en tilpasset kontroller.

  • Kontrollerutvidelse -Når du vil legge til nye handlinger eller funksjoner som utvider funksjonaliteten til en standard eller tilpasset kontroller, bruker du en kontrollerutvidelse.

I koden nedenfor har jeg vist deg hvordan du tar med tilpasset kontroller på visualforce-siden din:

I koden nedenfor har jeg vist deg hvordan du inkluderer kontrollerutvidelse på visualforce-siden din:

Avvikshåndtering

Hvis du har utviklet applikasjoner før, ville du definitivt ha kommet over unntak. Et unntak er en spesiell tilstand som endrer den normale strømmen av programgjennomføring. For eksempel dele et tall med null eller få tilgang til en listeverdi som er utenfor grensene. Hvis du ikke håndterer disse unntakene, stopper utførelsen av prosessen, og DML-er blir rullet tilbake.

Som Salesforce-utvikler må du vite hvordan du kan fange disse unntakene og hva du skal gjøre når du får dem. For å fange unntak kan du bruke prøve, fange og til slutt konstruere. Når du har fått unntaket, kan du håndtere det på måter som er nevnt nedenfor:

Unntak Hvordan håndtere det
DMLBruk metoden addError () på en post eller et felt
VisualforceBruk ApexPages.message-klassen
Sende en e-post med unntakDu kan varsle utvikleren via e-post
Logge på et tilpasset objektDu kan bruke en fremtidig metode for å fange et tilpasset objekt

Til nå i denne Salesforce-utviklerbloggen har du sett hvordan du kan utvikle brukergrensesnittet ditt ved hjelp av Visualforce, du har sett hvordan du skriver tilpasset logikk ved hjelp av Apex og forskjellige konsepter som utløsere, bulkoperasjoner og unntakshåndtering. Sist men ikke minst, vi tar en titt på Salesforce-testrammeverket.

Testing

Som Salesforce-utvikler må du vite hvordan du tester koden du skriver. Testdrevet utvikling er en god måte å sikre langsiktig suksess for programvaren din. Du må teste søknaden din slik at du kan validere at søknaden din fungerer som forventet. Spesielt hvis du utvikler en applikasjon for en kunde, er det veldig viktig å teste den før du leverer det endelige produktet. Apex gir deg et testrammeverk som lar deg skrive enhetstester, kjøre testene, sjekke testresultatene og ha resultater for kodedekning.

Du kan teste søknaden din på to måter:

  1. Gjennom Salesforce brukergrensesnitt er denne måten å teste viktig, men vil ikke fange opp alle brukssakene for applikasjonene dine
  2. Du kan teste bulkfunksjonalitet, opptil 200 poster kan sendes gjennom koden din ved hjelp av SOAP API eller visualforce standard settkontroller

Testklasser forplikter ingen data til databasen og er kommentert med @isTest. Jeg har vist deg hvordan du legger til en testklasse ved å legge til en testklasse i HelloWorld-klassen nedenfor:

@isTest

privat klasse HelloWorldTestClass {

statisk testMetode ugyldig validereHelloWorld () {

Country__c country = new Country__c (Name = ”India”, currency_value__c = 50.0)

Sett inn land

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

System.assertEquals (75, country.currency_value__c)

}

}

Jeg håper du har forstått alle konseptene du trenger å vite for å være en Salesforce-utvikler. For å dykke ned i flere detaljer, sjekk ut vår som kommer med instruktørledet live opplæring og prosjektopplevelse fra det virkelige liv. Hvis du har noen kommentarer, kan du legge dem igjen i kommentarfeltet nedenfor.