Salesforce-udviklervejledning: Kom godt i gang med Salesforce-programmering



Denne tutorial-blog forklarer de forskellige programmeringskoncepter som visualforce og apex, som du skal vide for at starte din karriere som Salesforce-udvikler.

Stræber du efter at være softwareudvikler? Vil du bygge din egen applikation på Force.com-platformen? Hvis dit svar på disse spørgsmål er ja, bør du helt sikkert overveje at blive Salesforce-udvikler.

I mine tidligere blogs har jeg diskuteret om , Salesforce-certificeringer og også vist dig opret en brugerdefineret applikation ved hjælp af de deklarative muligheder, der er tilgængelige i Salesforce. I denne blog vil jeg diskutere de programmatiske muligheder, der er tilgængelige i Salesforce til at udvikle din applikation.





MVC Arkitektur

Før jeg dykker ned i at opbygge en applikation ved hjælp af Visualforce og Apex, vil jeg først diskutere Salesforce Model-View-Controller-arkitekturen. Nedenfor er et diagram, der beskriver Salesforce Model-View-Controller-arkitekturen sammen med de forskellige Salesforce-komponenter.

mvc - salgsudvikler - edureka



Model: Modellen er dine Salesforce-dataobjekter, felter og relationer. Det udgør standard (konto, mulighed osv.) Og brugerdefinerede objekter (objekter, du opretter).

Udsigt: Visningen repræsenterer præsentationen af ​​data, dvs. brugergrænsefladen. I Salesforce udgør visningen de visualforce-sider, komponenter, sidelayouts og faner.

Styring: Controlleren er byggestenen for den aktuelle applikationslogik. Du kan udføre handlinger, når brugeren interagerer med visualforce.



Salesforce i aktion

For at være Salesforce-udvikler skal du først vide, hvordan Salesforce-applikationer fungerer. Nedenfor er et billede hvilket giver dig det komplette billede af Salesforce i aktion. Enten klienten eller brugeren beder om eller giver oplysninger til Salesforce-applikationen. Dette gøres normalt ved hjælp af Visualforce. Disse oplysninger videregives derefter til applikationslogiklaget, skrevet i Apex. Afhængigt af oplysningerne indsættes eller fjernes data fra databasen. Salesforce giver dig også mulighed for at bruge webtjenester til direkte adgang til applikationslogikken.

En Salesforce-udvikler kan nærme sig udviklingen enten ved hjælp af de deklarative eller programmatiske muligheder. Nedenfor er et billede, der giver dig detaljer om både de deklarative og programmatiske tilgange, der er tilgængelige på hver af brugergrænsefladen, forretningslogikken og datamodellaget. For at opbygge din brugergrænseflade kan du enten bruge den deklarative tilgang, der bruger sidelayouts og registreringstyper, eller bruge programmatisk tilgang som visualforce-sider og komponenter. Generelt skal du kun bruge programmatisk tilgang, når du ikke kan opnå den nødvendige brugergrænseflade ved hjælp af den deklarative tilgang. For at udvikle din applikations forretningslogiske lag kan du enten bruge Salesforce-deklarative muligheder for workflow, valideringsregler og godkendelsesprocesser eller bruge programmatisk tilgang som udløsere, controllere og klasser. For at få adgang til datamodellen kan du bruge den deklarative tilgang ved hjælp af objekter, felter og relationer. Du kan også få adgang til datamodellen programmatisk ved hjælp af metadata API, REST API og bulk API.

Vi har set, hvordan Salesforce-applikationer fungerer, MVC-arkitekturen, der bruges til udvikling i Salesforce, og de to forskellige tilgange, der er tilgængelige for en Salesforce-udvikler. Lad mig nu diskutere om Visualforce og Apex.

Visualforce

For at opbygge applikationer på Salesforce-platformen skal du vide, hvordan du udvikler brugergrænseflade og skriver applikationslogik. Som Salesforce-udvikler kan du udvikle brugergrænsefladen ved hjælp af Visualforce. Visualforce er brugergrænsefladerammen for Force.com-platformen. Ligesom hvordan du kan bruge javascript Angular-JS framework til at oprette brugergrænseflader til dine websteder, kan du bruge Visualforce til at designe og oprette brugergrænseflader til dine Salesforce-applikationer.

Du kan bruge visualforce, når du har brug for at oprette brugerdefinerede sider. Få eksempler på situationer, hvor du kan bruge Visualforce, er:

  • At oprette e-mail-skabeloner
  • At udvikle mobil brugergrænseflade
  • At generere PDF'er af data gemt i Salesforce
  • At integrere dem i dine standard sidelayouts
  • At tilsidesætte en standard Salesforce-side
  • At udvikle brugerdefinerede faner til din applikation

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

  • Visualforce Markup - Visualforce-markeringen inkluderer visualforce-tags, HTML, JavaScript eller enhver anden webaktiveret kode.
  • En Visualforce-controller - Visualforce-controlleren indeholder instruktionerne, der specificerer, hvad der sker, når en bruger interagerer med en komponent. Visualforce-controlleren er skrevet ved hjælp af Apex-programmeringssprog.

Du kan se på en simpel Visualforce-sidekode sammen med de forskellige komponenter nedenfor:

Nedenfor har jeg vist dig trinene til at skrive en simpel visualforce-side til visning af lande og deres valutaværdier:

Trin 1: Fra installation skal du indtaste Visualforce-sider i feltet Hurtig søgning, derefter vælge Visualforce-sider og klikke på Ny.

Trin 2: I editoren tilføj følgende kode for at få vist land og dets valuta værdi:

Spids

Når du er færdig med at udvikle brugergrænsefladen, skal du som Salesforce-udvikler vide, hvordan du tilføjer brugerdefineret logik til din applikation. Du kan skrive controller-kode og tilføje brugerdefineret logik til din applikation ved hjælp af Apex programmeringssprog. Apex er et objektorienteret programmeringssprog, der giver dig mulighed for at udføre flow- og transaktionskontrolerklæringer på Force.com-platformen. Hvis du har brugt Java programmeringssprog før, kan du nemt lære Apex. Apex-syntaksen svarer til 70% til java.

Du kan bruge Apex, når du vil tilføje brugerdefineret logik til din applikation. Få eksempler på situationer, hvor du kan bruge Apex, er:

  • Når du vil føje web- og e-mail-tjenester til din applikation
  • Når du vil udføre komplekse forretningsprocesser
  • Når du vil tilføje komplekse valideringsregler til din applikation
  • Når du vil tilføje en brugerdefineret logik på handlinger som at gemme en post

Nedenfor er et skærmbillede af Apex-kode sammen med dens forskellige komponenter som looping-sætning, kontrol-flow-erklæring og SOQL-forespørgsel:

Nu hvor vi har forstået, hvad Apex er, og hvornår vi skal bruge det, lad mig dykke dybt ned i Apex-programmering.

Programmering i Apex

Hvis du har forstået de begreber, der er beskrevet ovenfor, er du halvvejs gennem din rejse med at blive Salesforce-udvikler. I dette afsnit vil jeg dykke dybere ned i Apex ved at give dig information om de forskellige datatyper og variabler, forskellige måder at hente data fra databasen og vise dig, hvordan du skriver en klasse og metode.

Datatyper og variabler

java datastrukturer og algoritmer

Salesforce tilbyder dig 4 forskellige datatyper og variabler. Nedenstående tabel giver dig information om hver af de 4 datatyper:

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

Heltal I = 1

String myString = “Hej verden”

sObjektersObject henviser til ethvert objekt, der kan gemmes i databasen.Konto a = ny konto ()

MyCustomObj__c obj = ny MyCustomObj__c ()

SamlingerApex har følgende samlingstyper:

  • Lister
  • Kort
  • Sæt
Liste var_lst = ny liste ()

Set setOne = nyt sæt ()

Kort var_map = nyt kort ()

EnumsEnums er abstrakte datatyper med værdier, der får et endeligt sæt identifikatorer.Offentlige årstider {vinter, forår, sommer, efterår}


SOQL og SOSL

Udvikling af softwareapplikationer kræver, at du ved, hvordan du indsætter og henter data fra databaser. I Salesforce kan du hente data fra databaser ved hjælp af SOQL og SOSL. Hvis du vil være Salesforce-udvikler, skal du kende begge disse forespørgselssprog. Jeg har givet dig en detaljeret forklaring på disse sprog nedenfor:

  • SOQL står for Salesforce Object Query Language. Ved hjælp af SOQL-sætninger kan du hente data fra databasen som en liste over sObjects, et enkelt sObject eller et Integer for count-metode. Du kan tænke på SOQL som et svar på en SELECT SOQL-forespørgsel. Jeg har givet et eksempel på en SOQL-forespørgsel nedenfor:

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

  • SOSL står for Salesforce Object Search Language. Du kan bruge SOSL-sætninger til at hente en liste over sObjects, hvor hver liste indeholder søgeresultaterne til en bestemt sObject-type. Du kan tænke på SOSL som svarende til en databasesøgningsforespørgsel. Jeg har givet et eksempel på en SOSL-forespørgsel nedenfor:

ListesearchList = [FIND 'kort *' PÅ ALLE OMRÅDER, DER GÅR TILBAGE Konto (Id, Navn), Kontakt, Mulighed, Lead]

Du kan bruge SOQL, når du ved, hvilket objekt dataene ligger i, og bruge SOSL, når du ikke kender navnet på objektet, hvor dataene ligger.

Klasser og metoder

Som i alle andre objektorienterede programmeringssprog kan du udvikle klasser og metoder ved hjælp af Apex. Du kan tænke på en klasse som en tegning, hvorved individuelle objekter oprettes og bruges. Du kan tænke på en metode som et underprogram, der virker på data og returnerer en værdi. Jeg har forsynet dig med syntaksen for at skrive en klasse og metode nedenfor:

Jeg vil nu vise dig, hvordan du tilføjer en klasse og metode i Apex:

Trin 1: Fra opsætning skal du indtaste Apex-klasser i QuickFind Box, derefter vælge Apex-klasser og klikke på Ny.

Trin 2: I editoren tilføj følgende klassedefinition:

Offentlig klasse HelloWorld {

}

Trin 3: Tilføj en metodedefinition mellem klasseåbning og lukning af parenteser:

Offentlig statisk ugyldighed helloWorldMethod (Country__c [] lande) {

For (Country__c land: lande) {

country.currency_value__c * = 1.5

}

}

Trin 4: Klik på Gem, og du skal have din fulde klasse som:

Offentlig klasse HelloWorld {

python klasse __init__

Offentlig statisk ugyldighed helloWorldMethod (Country__c [] lande) {

For (Country__c land: lande) {

country.currency_value__c * = 1.5

}

}

Du kan bruge syntaksen og eksemplet vist ovenfor til at udvikle dine egne klasser og metoder til din Salesforce-applikation. For at blive Salesforce-udvikler skal du vide mere end bare at skrive klasser og metoder. I de næste par afsnit vil jeg diskutere emner, der gør det nemt og let at udvikle applikationer på Salesforce-platformen.

Udløsere

Hver Salesforce-udvikler skal kende begrebet Salesforce-udløsere. Du er muligvis tidligere stødt på udløsere, mens du arbejder med andre databaser. Udløsere er intet andet end lagrede programmer, der påberåbes, når du udfører handlinger før eller efter ændringer i Salesforce-poster. For eksempel kan udløsere køre, før en indsættelseshandling udføres, eller når der udføres en opdateringshandling. Der er to typer udløsere:

  • Før trigger - Du kan bruge før udløsere til at opdatere eller validere postværdier, før de gemmes i databasen.
  • Efter trigger - Du kan bruge efter udløsere til at få adgang til feltværdier, der er indstillet af systemet, og til at påvirke ændringer i andre poster.

Udløsere bliver udført før eller efter nedenstående operationer:

  • Indsæt
  • Opdatering
  • Slet
  • Ups
  • Fortryd sletning

Jeg vil vise dig, hvordan du tilføjer en trigger i apex ved at tilføje en trigger for det land-objekt, som du har set i klassen ovenfor:

Trin 1: Fra objektstyringsindstillingerne for land skal du gå til Udløsere og klikke på Ny.

Trin 2: I triggereditoren skal du tilføje følgende triggerdefinition:

Trigger HelloWorldTrigger på Country__c (før indsæt) {

Land__c lande = Trigger.new

HelloWorld.helloWorldMethod (lande)

}

Ovenstående kode opdaterer dit lands valuta inden hver indsættelse i databasen.

Guvernør Grænser

Du ved måske, at Salesforce arbejder på arkitektur med flere lejere, hvilket betyder, at ressourcer deles på tværs af forskellige klienter. For at sikre, at ingen klienter monopoliserer de delte ressourcer, håndhæver Apex run-time-motor strengt guvernørens grænser. Hvis din Apex-kode nogensinde overstiger en grænse, udsteder den forventede guvernør en undtagelse, der ikke kan håndteres. Så som Salesforce-udvikler skal du være meget forsigtig, når du udvikler din applikation.

Bulkoperationer

Som Salesforce-udvikler skal du altid sørge for, at din kode opretholder guvernørens grænser. For at sikre, at Apex overholder guvernørens grænser, skal du bruge designmønsteret for bulkopkald. En bulkoperation refererer til at begå mere end en post, når du foretager en DML-operation. Før du foretager en DML-handling, skal du altid sørge for at tilføje rækkerne i en samling. Nedenfor er et billede, der giver dig en komplet beskrivelse af designmønsteret for bulkoperationer.

DML'er og datafunktioner

Du har set tidligere, hvordan man henter data fra databasen ved hjælp af SOQL- og SOSL-forespørgsler. Lad os nu se på de forskellige udsagn, som du kan bruge til at indsætte data i Salesforce-databasen. For en Salesforce-udvikler er det et must at vide, hvad disse udsagn kan gøre, og hvordan de bruges.

DML-erklæring

Beskrivelse
IndsætFøjer en eller flere sObjekter til din organisations data
OpdateringÆndrer en eller flere eksisterende sObject-poster
UpsOpretter nye poster og opdaterer sObject-poster
SletSletter en eller flere eksisterende sObject-poster
Fortryd sletningGendanner en eller flere eksisterende sObject-poster
Fletter op til tre poster af samme sObject-type til en post

Visualforce og Apex

Du er kommet langt i din søgen efter at blive en Salesforce-udvikler. Derefter diskuterer jeg, hvordan du kan integrere din visualforce-side og din apex-kode. Du kan forbinde din visualforce-side og din apex-kode ved hjælp af controllere og udvidelser.

  • Brugerdefinerede controllere -Når du vil have din visualforce-side til at køre helt i systemtilstand, dvs. uden tilladelser og sikkerhed på feltniveau, skal du bruge en brugerdefineret controller.

  • Controller-udvidelse -Når du vil tilføje nye handlinger eller funktioner, der udvider funktionaliteten til en standard- eller brugerdefineret controller, skal du bruge en controller-udvidelse.

I koden nedenfor har jeg vist dig, hvordan du inkluderer en brugerdefineret controller på din visualforce-side:

I koden nedenfor har jeg vist dig, hvordan du inkluderer controllerudvidelse på din visualforce-side:

Undtagelse Håndtering

Hvis du har udviklet applikationer før, ville du helt sikkert være stødt på undtagelser. En undtagelse er en speciel tilstand, der ændrer den normale strøm af programudførelsen. For eksempel at dele et tal med nul eller få adgang til en listeværdi, der er uden for grænserne. Hvis du ikke håndterer disse undtagelser, stoppes udførelsen af ​​processen, og DML'er rulles tilbage.

Som Salesforce-udvikler skal du vide, hvordan du får fat i disse undtagelser, og hvad du skal gøre, når du først har fanget dem. For at fange undtagelser kan du bruge prøve, fange og endelig konstruere. Når du har fanget undtagelsen, kan du håndtere den på nedenstående måder:

Undtagelse Sådan håndteres det
DMLBrug metoden addError () på en post eller et felt
VisualforceBrug klasse ApexPages.message
Afsendelse af en e-mail med undtagelseDu kan underrette udvikleren via e-mail
Logge på et brugerdefineret objektDu kan bruge en fremtidig metode til at fange et brugerdefineret objekt

Indtil nu har du på denne Salesforce-udviklerblog set, hvordan du udvikler din brugergrænseflade ved hjælp af Visualforce, du har set, hvordan man skriver tilpasset logik ved hjælp af Apex og forskellige begreber som udløsere, bulkoperationer og undtagelseshåndtering. Sidst, men ikke mindst, ser vi på Salesforce-testrammen.

Testning

Som Salesforce-udvikler skal du vide, hvordan du tester koden, du skriver. Testdrevet udvikling er en god måde at sikre din softwareapplikations langsigtede succes på. Du skal teste din ansøgning, så du kan validere, at din ansøgning fungerer som forventet. Især hvis du udvikler en applikation til en kunde, er det meget vigtigt at teste den, før den leverer det endelige produkt. Apex giver dig en testramme, der giver dig mulighed for at skrive enhedstests, køre testene, kontrollere testresultaterne og få kodedækningsresultater.

Du kan teste din ansøgning på to måder:

hvordan man bruger Microsoft Visual Studio
  1. Gennem Salesforce-brugergrænsefladen er denne måde at teste på, men den fanger ikke alle brugssager til dine applikationer
  2. Du kan teste bulkfunktionalitet, op til 200 poster kan sendes gennem din kode ved hjælp af SOAP API eller visualforce standard sæt controller

Testklasser forpligter ingen data til databasen og kommenteres med @isTest. Jeg har vist dig, hvordan du tilføjer en testklasse ved at tilføje en testklasse til HelloWorld-klassen nedenfor:

@isTest

privat klasse HelloWorldTestClass {

statisk testMetode ugyldig validateHelloWorld () {

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

Indsæt land

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

System.assertEquals (75, country.currency_value__c)

}

}

Jeg håber, du har forstået alle de begreber, du har brug for at vide for at være en Salesforce-udvikler. For at dykke ned i flere detaljer, tjek vores som kommer med instruktørledet live træning og oplevelse af det virkelige liv. Hvis du har kommentarer, skal du lade dem være i kommentarfeltet nedenfor.