Tutorial pentru dezvoltatori Salesforce: începeți cu programarea Salesforce

Acest blog tutorial explică diferitele concepte de programare precum visualforce și apex pe care trebuie să le cunoașteți pentru a vă începe cariera ca dezvoltator Salesforce.

Doriți să fiți dezvoltator de aplicații software? Doriți să creați propria aplicație pe platforma Force.com? Dacă răspunsul dvs. la aceste întrebări este da, atunci ar trebui să vă gândiți cu siguranță să deveniți dezvoltator Salesforce.

În blogurile mele anterioare, am discutat despre , Certificări Salesforce și de asemenea ți-am arătat să creați o aplicație personalizată folosind opțiunile declarative disponibile în Salesforce. În acest blog, voi discuta despre opțiunile programatice disponibile în Salesforce pentru a vă dezvolta aplicația.





Arhitectura MVC

Înainte să mă scufund în construirea unei aplicații folosind Visualforce și Apex, voi discuta mai întâi despre arhitectura Salesforce Model-View-Controller. Mai jos este o diagramă care prezintă arhitectura Salesforce Model-View-Controller împreună cu diferitele componente Salesforce.

mvc - dezvoltator de vânzări - edureka



Model: Modelul este obiectele, câmpurile și relațiile dvs. de date Salesforce. Constituie obiecte standard (cont, oportunitate etc.) și personalizate (obiecte pe care le creați).

Vedere: Vizualizarea reprezintă prezentarea datelor, adică interfața cu utilizatorul. În Salesforce, vizualizarea constituie paginile, componentele, aspectele și filele vizuale ale forței vizuale.

Controlor: Controlerul este elementul de bază al logicii reale a aplicației. Puteți efectua acțiuni ori de câte ori utilizatorul interacționează cu visualforce.



Salesforce în acțiune

Pentru a fi dezvoltator Salesforce, trebuie mai întâi să știți cum funcționează aplicațiile Salesforce. Mai jos este o imagine ceea ce vă oferă imaginea completă a Salesforce în acțiune. Clientul sau utilizatorul solicită ori furnizează informații aplicației Salesforce. Acest lucru se face în general folosind Visualforce. Aceste informații sunt apoi transmise stratului logic al aplicației, scris în Apex. În funcție de informații, datele sunt fie inserate, fie eliminate din baza de date. Salesforce vă oferă, de asemenea, opțiunea de a utiliza serviciile web pentru a accesa direct logica aplicației.

Un dezvoltator Salesforce poate aborda dezvoltarea folosind opțiunile declarative sau programatice. Mai jos este o imagine care vă oferă detalii atât despre abordările declarative, cât și pe cele programatice disponibile la fiecare dintre interfața cu utilizatorul, logica de afaceri și stratul modelului de date. Pentru a vă construi interfața cu utilizatorul, puteți folosi abordarea declarativă care folosește aspectul paginilor și tipurile de înregistrări sau puteți utiliza abordarea programatică, cum ar fi paginile și componentele visualforce. În general, ar trebui să utilizați abordarea programatică numai atunci când nu puteți realiza interfața de utilizare necesară folosind abordarea declarativă. Pentru a dezvolta stratul de logică de afaceri al aplicației dvs., puteți folosi opțiunile declarative Salesforce pentru fluxul de lucru, reguli de validare și procese de aprobare sau puteți utiliza abordare programatică, cum ar fi declanșatoare, controlere și clase. Pentru a accesa modelul de date, puteți utiliza abordarea declarativă folosind obiecte, câmpuri și relații. De asemenea, puteți accesa modelul de date programatic utilizând metadatele API, API REST și API în bloc.

Am văzut cum funcționează aplicațiile Salesforce, arhitectura MVC utilizată pentru dezvoltarea în Salesforce și cele două abordări diferite care sunt disponibile pentru un dezvoltator Salesforce. Acum, permiteți-mi să discut despre Visualforce și Apex.

c ++ accesați

Visualforce

Pentru a construi aplicații pe platforma Salesforce, trebuie să știți cum să dezvoltați interfața cu utilizatorul și să scrieți logica aplicației. În calitate de dezvoltator Salesforce, puteți dezvolta interfața cu utilizatorul utilizând Visualforce. Visualforce este cadrul de interfață cu utilizatorul pentru platforma Force.com. La fel cum puteți utiliza cadrul Angular-JS javascript pentru a construi interfețe utilizator pentru site-urile dvs. web, puteți utiliza Visualforce pentru a proiecta și construi interfețe utilizator pentru aplicațiile dvs. Salesforce.

Puteți utiliza visualforce ori de câte ori aveți nevoie pentru a crea pagini personalizate. Câteva exemple de situații în care puteți utiliza Visualforce sunt:

  • Pentru a crea șabloane de e-mail
  • Pentru a dezvolta interfața utilizator mobilă
  • Pentru a genera PDF-uri de date stocate în Salesforce
  • Pentru a le încorpora în aspectele dvs. standard de pagină
  • Pentru a suprascrie o pagină Salesforce standard
  • Pentru a dezvolta file personalizate pentru aplicația dvs.

O pagină visualforce constă din două elemente principale:

  • Visualforce Markup - Marcajul visualforce include etichetele visualforce, HTML, JavaScript sau orice alt cod activat pe web.
  • Un controler Visualforce - Controlerul visualforce conține instrucțiunile care specifică ce se întâmplă atunci când un utilizator interacționează cu o componentă. Controlerul visualforce este scris folosind limbajul de programare Apex.

Puteți arunca o privire la un cod de pagină Visualforce simplu împreună cu diferitele componente de mai jos:

Mai jos v-am arătat pașii pentru a scrie o pagină simplă de forță vizuală pentru afișarea țărilor și a valorilor valutare ale acestora:

Pasul 1: Din Configurare, introduceți Visualforce Pages în caseta Căutare rapidă, apoi selectați Visualforce Pages și faceți clic pe Nou.

Pasul 2: În editor adăugați următorul cod pentru a afișa țara și valoarea monedei sale:

Apex

După ce ați terminat dezvoltarea interfeței cu utilizatorul, ca dezvoltator Salesforce, trebuie să știți cum să adăugați logică personalizată aplicației dvs. Puteți scrie codul controlerului și puteți adăuga logică personalizată aplicației dvs. utilizând limbajul de programare Apex. Apex este un limbaj de programare orientat pe obiecte care vă permite să executați instrucțiuni de control al fluxului și tranzacțiilor pe platforma Force.com. Dacă ați folosit deja limbajul de programare Java, atunci puteți învăța cu ușurință Apex. Sintaxa Apex este similară cu 70% cu cea a java.

Puteți utiliza Apex ori de câte ori doriți să adăugați logică personalizată aplicației dvs. Câteva exemple de situații în care puteți utiliza Apex sunt:

  • Când doriți să adăugați servicii web și de e-mail la aplicația dvs.
  • Când doriți să efectuați procese de afaceri complexe
  • Când doriți să adăugați reguli complexe de validare la aplicația dvs.
  • Când doriți să adăugați o logică personalizată la operațiuni precum salvarea unei înregistrări

Mai jos este o captură de ecran a codului Apex împreună cu diferitele sale componente, cum ar fi instrucțiunea looping, instrucțiunea control-flow și interogarea SOQL:

Acum, că am înțeles ce este Apex și când să-l folosim, permiteți-mi să mă adânc în programarea Apex.

Programare în Apex

Dacă ați înțeles conceptele descrise mai sus, atunci sunteți la jumătatea călătoriei dvs. pentru a deveni dezvoltator Salesforce. În această secțiune, mă voi arunca mai adânc în Apex oferindu-vă informații despre diferitele tipuri de date și variabile, moduri diferite de a extrage date din baza de date și arătându-vă cum să scrieți o clasă și o metodă.

Tipuri de date și variabile

Salesforce vă oferă 4 tipuri de date și variabile diferite. Tabelul de mai jos vă oferă informații despre fiecare dintre cele 4 tipuri de date:

Tipuri de date și variabile Descriere Exemplu
PrimitivTipurile de date primitive din Salesforce includ boolean, dată, număr întreg, obiect, șir și oră.Boolean isSunny = adevărat

Întreg I = 1

String myString = „Hello World”

ObiectesObject se referă la orice obiect care poate fi stocat în baza de date.Cont a = Cont nou ()

MyCustomObj__c obj = new MyCustomObj__c ()

ColecțiiApex are următoarele tipuri de colecții:

  • Liste
  • Hărți
  • Seturi
Listă var_lst = Listă nouă ()

Set setOne = set nou ()

Hartă var_map = hartă nouă ()

EnumereEnumeri sunt tipuri de date abstracte cu valori care iau un set finit de identificatori.Sezon public public {Iarna, Primăvara, Vara, Toamna}


SOQL și SOSL

Dezvoltarea aplicațiilor software necesită să știți cum să inserați și să preluați date din baze de date. În Salesforce, puteți prelua date din bazele de date folosind SOQL și SOSL. Dacă doriți să fiți dezvoltator Salesforce, trebuie să cunoașteți ambele limbi de interogare. Vă oferim mai jos o explicație detaliată a acestor limbi:

  • SOQL înseamnă Salesforce Object Query Language. Folosind instrucțiunile SOQL, puteți prelua date din baza de date ca o listă de sObjects, un singur sObject sau o metodă Integer for count. Vă puteți gândi la SOQL ca la un echivalent al unei interogări SELECT SOQL. Am furnizat mai jos un exemplu de interogare SOQL:

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

  • SOSL înseamnă Salesforce Object Search Language. Puteți utiliza instrucțiunile SOSL pentru a prelua o listă de sObjects, unde fiecare listă conține rezultatele căutării pentru un anumit tip de sObject. Vă puteți gândi la SOSL ca la un echivalent al unei interogări de căutare în baza de date. Am furnizat mai jos un exemplu de interogare SOSL:

ListăsearchList = [GĂSEȘTE „hartă *” ÎN TOATE DOMENIUL DE ÎNTORNIRE Cont (Id, Nume), Contact, Oportunitate, Conducător]

Puteți utiliza SOQL când știți în ce obiect se află datele și puteți utiliza SOSL când nu știți numele obiectului în care se află datele.

Clase și metode

Ca în orice alt limbaj de programare orientat pe obiecte, puteți dezvolta clase și metode folosind Apex. Vă puteți gândi la o clasă ca la un plan folosind obiectele individuale care sunt create și utilizate. Vă puteți gândi la o metodă ca la un subprogram, care acționează asupra datelor și returnează o valoare. V-am oferit sintaxa pentru a scrie o clasă și o metodă mai jos:

Vă voi arăta acum cum să adăugați o clasă și o metodă în Apex:

Pasul 1: Din configurare, introduceți Apex Classes în QuickFind Box, apoi selectați Apex Classes și faceți clic pe New.

Pasul 2: În editor adăugați următoarea definiție a clasei:

Clasă publică HelloWorld {

}

Pasul 3: Adăugați o definiție a metodei între parantezele de deschidere și închidere a clasei:

Gol static public helloWorldMethod (Țara__c [] țări) {

Pentru (Țara__c țară: țări) {

country.currency_value__c * = 1.5

}

}

Pasul 4: Faceți clic pe Salvare și ar trebui să aveți clasa completă ca:

Clasă publică HelloWorld {

Gol static public helloWorldMethod (Țara__c [] țări) {

Pentru (Țara__c țară: țări) {

country.currency_value__c * = 1.5

}

}

Puteți utiliza sintaxa și exemplul de mai sus pentru a vă dezvolta propriile clase și metode pentru aplicația Salesforce. Pentru a deveni dezvoltator Salesforce trebuie să știți mai mult decât să scrieți cursuri și metode. În următoarele câteva secțiuni, voi discuta subiecte care fac ca dezvoltarea de aplicații pe platforma Salesforce să fie simplă și ușoară.

Declanșatoare

Fiecare dezvoltator Salesforce trebuie să cunoască conceptul declanșatorilor Salesforce. Este posibil să fi întâlnit anterior declanșatoare în timp ce lucrați cu alte baze de date. Declanșatoarele nu sunt altceva decât programele stocate care sunt invocate atunci când efectuați acțiuni înainte sau după modificări ale înregistrărilor Salesforce. De exemplu, declanșatoarele pot rula înainte de efectuarea unei operații de inserare sau când se efectuează o operație de actualizare. Există două tipuri de declanșatoare:

  • Înainte de declanșare - Puteți utiliza înainte de declanșatoare pentru a actualiza sau valida valorile înregistrării înainte de a fi salvate în baza de date.
  • După declanșare - Puteți utiliza după declanșatoare pentru a accesa valorile câmpului setate de sistem și pentru a afecta modificările din alte înregistrări.

Declanșatoarele sunt executate înainte sau după operațiile de mai jos:

  • Introduce
  • Actualizați
  • Șterge
  • Merge
  • Hopa
  • Anulați ștergerea

Vă voi arăta cum să adăugați un declanșator în vârf adăugând un declanșator pentru obiectul Țară pe care l-ați văzut în clasa de mai sus:

Pasul 1: Din setările de gestionare a obiectelor pentru țară, accesați Declanșatoare și faceți clic pe Nou.

Pasul 2: În editorul de declanșare, adăugați următoarea definiție a declanșatorului:

Trigger HelloWorldTrigger pe Country__c (înainte de inserare) {

Țări__c țări = Trigger.new

HelloWorld.helloWorldMethod (țări)

}

Codul de mai sus va actualiza moneda țării dvs. înainte de fiecare inserare în baza de date.

Limite de guvernator

Este posibil să știți că Salesforce funcționează pe arhitectura multi-chiriași, ceea ce înseamnă că resursele sunt partajate între diferiți clienți. Pentru a ne asigura că nimeni nu monopolizează resursele partajate, motorul de execuție Apex aplică strict limitele guvernatorilor. Dacă codul dvs. Apex depășește vreodată o limită, guvernatorul așteptat emite o excepție în timp de execuție care nu poate fi gestionată. Deci, ca dezvoltator Salesforce, trebuie să fiți foarte atenți în timp ce vă dezvoltați aplicația.

Operațiuni în vrac

În calitate de dezvoltator Salesforce, trebuie să vă asigurați întotdeauna că codul dvs. menține limitele guvernatorului. Pentru a vă asigura că Apex respectă limitele guvernatorului, trebuie să utilizați modelul de proiectare a apelurilor în bloc. O operațiune în bloc se referă la comiterea mai multor înregistrări atunci când efectuați o operație DML. Înainte de a efectua o operație DML, trebuie să vă asigurați întotdeauna că adăugați rândurile într-o colecție. Mai jos este o imagine care vă oferă o descriere completă a modelului de proiectare a operațiunilor în bloc.

DML și operațiuni de date

Ați văzut mai devreme cum să preluați date din baza de date folosind interogări SOQL și SOSL. Acum, să aruncăm o privire asupra diferitelor afirmații pe care le puteți utiliza pentru a insera date în baza de date Salesforce. Pentru un dezvoltator Salesforce, trebuie să știm ce pot face aceste declarații și cum să le folosim.

Declarație DML

Descriere
IntroduceAdaugă unul sau mai multe obiecte sO la datele organizației dvs.
ActualizațiModifică una sau mai multe înregistrări sObject existente
HopaCreează înregistrări noi și actualizează înregistrările sObject
ȘtergeȘterge una sau mai multe înregistrări sObject existente
Anulați ștergereaRestaurează una sau mai multe înregistrări sObject existente
MergeFuzionează până la trei înregistrări de același tip sObject într-o singură înregistrare

Visualforce și Apex

Ați parcurs un drum lung în încercarea de a deveni dezvoltator Salesforce. Voi discuta în continuare despre modul în care vă puteți integra pagina visualforce și codul apex. Puteți conecta pagina dvs. visualforce și codul apex utilizând controlere și extensii.

  • Controlere personalizate -Când doriți ca pagina dvs. Visualforce să ruleze în întregime în modul sistem, adică fără permisiuni și securitate la nivel de câmp, utilizați un controler personalizat.

  • Extensie controler -Când doriți să adăugați noi acțiuni sau funcții care extind funcționalitatea unui controler standard sau personalizat, utilizați o extensie a controlerului.

În codul de mai jos, v-am arătat cum să includeți controlerul personalizat în pagina dvs. Visualforce:

În codul de mai jos, v-am arătat cum să includeți extensia controlerului în pagina dvs. Visualforce:

Manevrarea excepțiilor

Dacă ați mai dezvoltat aplicații, atunci ați fi întâlnit cu siguranță excepții. O excepție este o condiție specială care schimbă fluxul normal de execuție a programului. De exemplu, împărțirea unui număr la zero sau accesarea unei valori de listă care este în afara limitelor. Dacă nu gestionați aceste excepții, atunci execuția procesului se oprește și DML-urile vor fi anulate.

În calitate de dezvoltator Salesforce, trebuie să știți cum să prindeți aceste excepții și ce să faceți după ce le prindeți. Pentru a prinde excepții puteți folosi try, catch și, în cele din urmă, construiți. Odată ce ați surprins excepția, atunci o puteți gestiona în modurile menționate mai jos:

Excepție Cum să o gestionați
DMLUtilizați metoda addError () pe o înregistrare sau un câmp
VisualforceUtilizați clasa ApexPages.message
Trimiterea unui e-mail la excepțiePuteți notifica dezvoltatorul prin e-mail
Conectarea la un obiect personalizatPuteți utiliza o metodă viitoare pentru a prinde un obiect personalizat

Până acum, în acest blog pentru dezvoltatori Salesforce, ați văzut cum să vă dezvoltați interfața cu utilizatorul utilizând Visualforce, ați văzut cum să scrieți logică personalizată folosind Apex și diferite concepte, cum ar fi declanșatoarele, operațiile în bloc și tratarea excepțiilor. Nu în ultimul rând, vom arunca o privire asupra cadrului de testare Salesforce.

Testarea

În calitate de dezvoltator Salesforce, trebuie să știți cum să testați codul pe care îl scrieți. Dezvoltarea bazată pe test este o modalitate bună de a asigura succesul pe termen lung al aplicației dvs. software. Trebuie să vă testați aplicația, astfel încât să puteți valida că aplicația dvs. funcționează conform așteptărilor. Mai ales, dacă dezvoltați o aplicație pentru un client, atunci este foarte important să o testați înainte de a livra produsul final. Apex vă oferă un cadru de testare care vă permite să scrieți teste unitare, să rulați testele, să verificați rezultatele testelor și să obțineți rezultate de acoperire a codului.

Puteți testa aplicația dvs. în două moduri:

  1. Prin interfața cu utilizatorul Salesforce, acest mod de testare este important, dar nu va surprinde toate cazurile de utilizare pentru aplicațiile dvs.
  2. Puteți testa funcționalitatea în bloc, până la 200 de înregistrări pot fi transmise prin codul dvs. folosind SOAP API sau controlerul setului standard visualforce

Clasele de test nu trimit date în baza de date și sunt adnotate cu @isTest. V-am arătat cum să adăugați o clasă de test, adăugând o clasă de testare la clasa HelloWorld de mai jos:

@esteTest

curs privat HelloWorldTestClass {

static testMethod void validateHelloWorld () {

Țara__c țară = țară nouă__c (Nume = ”India”, valoare_valută__c = 50,0)

Introduceți țara

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

System.assertEquals (75, country.currency_value__c)

}

}

Sper că ați înțeles toate conceptele pe care trebuie să le cunoașteți pentru a fi dezvoltator Salesforce. Pentru a intra în mai multe detalii, verificați care vine cu instruire live condusă de instructor și experiență de proiect din viața reală. Dacă aveți comentarii, vă rugăm să le lăsați în caseta de comentarii de mai jos.