Tutorial per a desenvolupadors de Salesforce: Comenceu a programar Salesforce

Aquest bloc d'aprenentatge explica els diferents conceptes de programació com visualforce i apex que heu de conèixer per començar la vostra carrera com a desenvolupador de Salesforce.

Esteu aspirant a ser desenvolupador d'aplicacions de programari? Voleu crear la vostra pròpia aplicació a la plataforma Force.com? Si la resposta a aquestes preguntes és afirmativa, hauríeu de considerar-vos un desenvolupador de Salesforce.



Als meus anteriors blocs, n’he parlat , Certificacions de Salesforce i també us ho heu demostrat creeu una aplicació personalitzada mitjançant les opcions declaratives disponibles a Salesforce. En aquest bloc, parlaré de les opcions programàtiques disponibles a Salesforce per desenvolupar la vostra aplicació.



Arquitectura MVC

Abans d’endinsar-me en la creació d’una aplicació mitjançant Visualforce i Apex, primer parlaré de l’arquitectura Salesforce Model-View-Controller. A continuació es mostra un diagrama que descriu l’arquitectura Salesforce Model-View-Controller juntament amb els diferents components de Salesforce.

mvc - desenvolupador de salesforce - edureka



Model: El model són els vostres objectes, camps i relacions de dades de Salesforce. Constitueix objectes estàndard (compte, oportunitat, etc.) i personalitzats (objectes que creeu).

Veure: La vista representa la presentació de les dades, és a dir, la interfície d'usuari. A Salesforce, la visualització constitueix les pàgines, components, dissenys de pàgina i pestanyes de visualforce.

Controlador: El controlador és el bloc bàsic de la lògica d'aplicació real. Podeu dur a terme accions sempre que l'usuari interactua amb visualforce.



Salesforce en Acció

Per ser desenvolupador de Salesforce, primer heu de saber com funcionen les aplicacions de Salesforce. A continuació es mostra una imatge que us proporciona la imatge completa de Salesforce en acció. El client o l'usuari sol·licita o proporciona informació a l'aplicació Salesforce. Això es fa generalment mitjançant Visualforce. Aquesta informació es transmet a la capa lògica de l'aplicació, escrita a Apex. Depenent de la informació, les dades s’insereixen o s’eliminen de la base de dades. Salesforce també us proporciona l'opció d'utilitzar serveis web per accedir directament a la lògica de l'aplicació.

Un desenvolupador de Salesforce pot abordar el desenvolupament mitjançant opcions declaratives o programàtiques. A continuació es mostra una imatge que us proporciona detalls sobre els enfocaments declaratius i programàtics disponibles a cadascuna de la capa d’interfície d’usuari, lògica empresarial i model de dades. Per crear la vostra interfície d'usuari, podeu utilitzar l'enfocament declaratiu que utilitza dissenys de pàgines i tipus de registres o utilitzar enfocament programàtic com a pàgines i components de visualforce. En general, només heu d’utilitzar un enfocament programàtic quan no pugueu obtenir la interfície d’usuari necessària mitjançant l’enfocament declaratiu. Per desenvolupar la capa de lògica empresarial de l'aplicació, podeu utilitzar les opcions declaratives de Salesforce de flux de treball, regles de validació i processos d'aprovació o utilitzar enfocament programàtic com a activadors, controladors i classes. Per accedir al model de dades, podeu utilitzar l'enfocament declaratiu mitjançant objectes, camps i relacions. També podeu accedir al model de dades mitjançant programació mitjançant l'API de metadades, l'API REST i l'API massiva.

Hem vist com funcionen les aplicacions de Salesforce, l’arquitectura MVC que s’utilitza per al desenvolupament a Salesforce i els dos enfocaments diferents disponibles per a un desenvolupador de Salesforce. Ara, deixeu-me parlar sobre Visualforce i Apex.

ordenar la matriu c ++

Visualforce

Per crear aplicacions a la plataforma Salesforce, heu de saber com desenvolupar la interfície d'usuari i escriure la lògica d'aplicacions. Com a desenvolupador de Salesforce, podeu desenvolupar la interfície d'usuari mitjançant Visualforce. Visualforce és el marc d’interfície d’usuari de la plataforma Force.com. Igual que com podeu utilitzar el framework Angular-JS de javascript per crear interfícies d'usuari per als vostres llocs web, podeu utilitzar Visualforce per dissenyar i crear interfícies d'usuari per a les vostres aplicacions de Salesforce.

Podeu utilitzar Visualforce sempre que necessiteu crear pàgines personalitzades. Alguns exemples de situacions en què podeu utilitzar Visualforce són:

  • Per crear plantilles de correu electrònic
  • Per desenvolupar una interfície d'usuari mòbil
  • Per generar PDF de dades emmagatzemades a Salesforce
  • Per inserir-los als dissenys de pàgina estàndard
  • Per substituir una pàgina estàndard de Salesforce
  • Per desenvolupar pestanyes personalitzades per a la vostra aplicació

Una pàgina de visualforce consta de dos elements principals:

  • Visualforce Markup: el marcador visualforce inclou les etiquetes visualforce, HTML, JavaScript o qualsevol altre codi habilitat per a la web.
  • Un controlador Visualforce: el controlador visualforce conté les instruccions que especifiquen què passa quan un usuari interactua amb un component. El controlador visualforce s’escriu amb un llenguatge de programació Apex.

Podeu fer una ullada a un codi de pàgina simple de Visualforce juntament amb els diferents components següents:

A continuació us he mostrat els passos per escriure una pàgina visualforce senzilla per mostrar els països i els seus valors monetaris:

Pas 1: A Configuració, introduïu Visualforce Pages al quadre Cerca ràpida i seleccioneu Visualforce Pages i feu clic a Nou.

Pas 2: A l'editor, afegiu el codi següent per mostrar el país i el seu valor de moneda:

Vèrtex

Un cop hàgiu acabat de desenvolupar la interfície d'usuari, com a desenvolupador de Salesforce heu de saber afegir una lògica personalitzada a la vostra aplicació. Podeu escriure codi de controlador i afegir lògica personalitzada a la vostra aplicació mitjançant el llenguatge de programació Apex. Apex és un llenguatge de programació orientat a objectes que us permet executar sentències de control de flux i transaccions a la plataforma Force.com. Si ja heu utilitzat el llenguatge de programació java, podeu aprendre fàcilment Apex. La sintaxi Apex és un 70% similar a la de Java.

Podeu utilitzar Apex sempre que vulgueu afegir una lògica personalitzada a la vostra aplicació. Alguns exemples de situacions en què podeu utilitzar Apex són:

  • Quan vulgueu afegir serveis web i de correu electrònic a la vostra aplicació
  • Quan vulgueu realitzar processos empresarials complexos
  • Quan vulgueu afegir regles de validació complexes a la vostra aplicació
  • Quan vulgueu afegir una lògica personalitzada a operacions com ara desar un registre

A continuació es mostra una captura de pantalla del codi Apex juntament amb els seus diferents components com la declaració de bucle, la declaració de control de flux i la consulta SOQL:

Ara que hem entès què és Apex i quan utilitzar-lo, deixeu-me aprofundir en la programació d'Apex.

Programació a Apex

Si heu entès els conceptes descrits anteriorment, esteu a la meitat del vostre camí per convertir-vos en desenvolupador de Salesforce. En aquesta secció, aprofundiré en Apex proporcionant-vos informació sobre els diferents tipus de dades i variables, diferents maneres de recuperar dades de la base de dades i mostrant-vos com escriure una classe i un mètode.

Tipus de dades i variables

Salesforce us ofereix quatre tipus de dades i variables diferents. La taula següent us proporciona informació sobre cadascun dels 4 tipus de dades:

Tipus i variables de dades Descripció Exemple
PrimitivaEls tipus de dades primitius a Salesforce inclouen booleà, data, enter, objecte, cadena i hora.Booleà és Sol = cert

Enter I = 1

String myString = 'Hola món'

sObjectessObject fa referència a qualsevol objecte que es pugui emmagatzemar a la base de dades.Compte a = compte nou ()

MyCustomObj__c obj = new MyCustomObj__c ()

Col·leccionsApex té els següents tipus de col·leccions:

  • Llistes
  • Mapes
  • Conjunts
Llista var_lst = nova Llista ()

Set setOne = new Set ()

Mapa var_map = mapa nou ()

EnumeracionsLes enumeracions són tipus de dades abstractes amb valors que prenen un conjunt finit d’identificadors.Temporades publicitàries {Hivern, Primavera, Estiu, Tardor}


SOQL i SOSL

El desenvolupament d’aplicacions de programari requereix que sàpiga com inserir i recuperar dades de bases de dades. A Salesforce, podeu recuperar dades de les bases de dades mitjançant SOQL i SOSL. Si voleu ser desenvolupador de Salesforce, heu de conèixer aquests dos idiomes de consulta. A continuació us he proporcionat una explicació detallada d’aquests idiomes:

  • SOQL significa Salesforce Object Query Language. Mitjançant instruccions SOQL, podeu recuperar dades de la base de dades com una llista de sObjects, un sol sObject o un mètode Integer for count. Podeu considerar el SOQL com un equivalent a una consulta SELECT SOQL. A continuació he proporcionat un exemple de consulta SOQL:

Llista accList = [SELECCIÓ d'identificador, nom DES del compte WHERE Nom = 'El vostre nom']

  • SOSL significa Salesforce Object Search Language. Podeu utilitzar sentències SOSL per recuperar una llista de sObjects, on cada llista conté els resultats de la cerca d’un tipus de sObject concret. Podeu pensar en SOSL com un equivalent a una consulta de cerca de bases de dades. A continuació he proporcionat un exemple de consulta SOSL:

LlistasearchList = [TROBAR 'mapa *' A TOTS ELS CAMPS QUE TORNEN Compte (identificador, nom), contacte, oportunitat, potencial)

Podeu utilitzar SOQL quan sàpiga en quin objecte resideixen les dades i utilitzar SOSL quan no sabeu el nom de l’objecte on resideixen les dades.

Classes i mètodes

Com en qualsevol altre llenguatge de programació orientat a objectes, podeu desenvolupar classes i mètodes amb Apex. Podeu pensar en una classe com un pla que utilitza objectes individuals que es creen i s’utilitzen. Podeu pensar en un mètode com un subprograma que actua sobre les dades i retorna un valor. Us he proporcionat la sintaxi per escriure una classe i un mètode a continuació:

Ara us mostraré com afegir una classe i un mètode a Apex:

Pas 1: Des de la configuració, introduïu Classes Apex al quadre de cerca ràpida i seleccioneu Classes Apex i feu clic a Nou.

Pas 2: Afegiu a l'editor la següent definició de classe:

Classe pública HelloWorld {

}

Pas 3: Afegiu una definició de mètode entre claudàtors d'obertura i tancament:

Buit estàtic públic helloWorldMethod (països__c [] països) {

Per a (País__c país: països) {

country.currency_value__c * = 1.5

}

}

Pas 4: Feu clic a Desa i teniu la classe completa com:

Classe pública HelloWorld {

Buit estàtic públic helloWorldMethod (països__c [] països) {

Per a (País__c país: països) {

country.currency_value__c * = 1.5

}

}

Podeu utilitzar la sintaxi i l'exemple que es mostren més amunt per desenvolupar les vostres pròpies classes i mètodes per a l'aplicació Salesforce. Per convertir-vos en desenvolupador de Salesforce, heu de saber més que escriure classes i mètodes. A les properes seccions, parlaré de temes que fan que el desenvolupament d'aplicacions a la plataforma Salesforce sigui senzill i senzill.

Desencadenants

Tots els desenvolupadors de Salesforce han de conèixer el concepte d'activadors de Salesforce. És possible que hagueu trobat activadors anteriorment mentre treballava amb altres bases de dades. Els activadors no són res més que programes emmagatzemats que s’invocen quan realitzeu accions abans o després dels canvis als registres de Salesforce. Per exemple, els activadors es poden executar abans que es faci una operació d'inserció o quan es faci una operació d'actualització. Hi ha dos tipus de desencadenants:

  • Abans del disparador - Podeu utilitzar abans dels activadors per actualitzar o validar els valors del registre abans de desar-los a la base de dades.
  • Després del disparador - Podeu utilitzar després dels activadors per accedir als valors de camp establerts pel sistema i per afectar els canvis d'altres registres.

Els activadors s'executen abans o després de les operacions següents:

  • Insereix
  • Actualització
  • Suprimeix
  • Vaja
  • Vaja
  • Recuperació

Us mostraré com afegir un activador a l’àpex afegint un activador per a l’objecte Country que heu vist a la classe anterior:

Pas 1: Des de la configuració de gestió d'objectes del país, aneu a Activadors i feu clic a Nou.

Pas 2: A l'editor de disparadors, afegiu la definició de disparador següent:

Activador HelloWorldTrigger a Country__c (abans de la inserció) {

Països__c països = Trigger.new

HelloWorld.helloWorldMethod (països)

}

El codi anterior actualitzarà la moneda del vostre país abans de cada inserció a la base de dades.

Límits del governador

És possible que sàpigueu que Salesforce funciona amb arquitectures multi-inquilins, cosa que significa que els recursos es comparteixen entre diferents clients. Per assegurar-se que cap client monopolitzi els recursos compartits, el motor d'execució d'Apex aplica estrictament els límits dels governadors. Si el vostre codi Apex supera mai un límit, el governador esperat emet una excepció en temps d'execució que no es pot gestionar. Per tant, com a desenvolupador de Salesforce, heu de tenir molta precaució mentre desenvolupeu la vostra aplicació.

Operacions massives

Com a desenvolupador de Salesforce, sempre heu de garantir que el vostre codi mantingui els límits del governador. Per assegurar-vos que Apex compleixi els límits del governador, heu d'utilitzar el patró de disseny de trucades massives. Una operació massiva es refereix a cometre més d’un registre quan feu una operació DML. Abans de fer una operació DML, heu d'assegurar-vos sempre que afegiu les files a una col·lecció. A continuació es mostra una imatge que us proporciona una descripció completa del patró de disseny d’operacions massives.

DML i operacions de dades

Ja heu vist anteriorment com recuperar dades de la base de dades mitjançant consultes SOQL i SOSL. Vegem ara les diferents afirmacions que podeu utilitzar per inserir dades a la base de dades de Salesforce. Per a un desenvolupador de Salesforce, és imprescindible saber què poden fer aquestes declaracions i com utilitzar-les.

Declaració DML

Descripció
InsereixAfegeix un o més objectes sO a les dades de la vostra organització
ActualitzacióModifica un o més registres sObject existents
VajaCrea registres nous i actualitza registres sObject
SuprimeixSuprimeix un o més registres sObject existents
RecuperacióRestaura un o més registres sObject existents
VajaCombina fins a tres registres del mateix tipus sObject en un sol registre

Visualforce i Apex

Heu recorregut un llarg camí en la vostra tasca per convertir-vos en desenvolupador de Salesforce. A continuació parlaré de com podeu integrar la vostra pàgina de visualforce i el vostre codi àpex. Podeu connectar la vostra pàgina de visualforce i el vostre codi àpex mitjançant controladors i extensions.

  • Controladors personalitzats -Si voleu que la pàgina de visualforce s'executi completament en mode sistema, és a dir, sense permisos i seguretat a nivell de camp, utilitzeu un controlador personalitzat.

  • Extensió del controlador -Quan vulgueu afegir accions o funcions noves que ampliïn la funcionalitat d'un controlador estàndard o personalitzat, utilitzeu una extensió de controlador.

Al codi següent, us he mostrat com incloure un controlador personalitzat a la pàgina de Visualforce:

Al codi següent, us he mostrat com incloure l'extensió del controlador a la pàgina de visualforce:

Manipulació d’excepcions

Si ja heu desenvolupat aplicacions, haureu trobat excepcions. Una excepció és una condició especial que canvia el flux normal d'execució del programa. Per exemple, dividir un nombre per zero o accedir a un valor de llista que està fora de límit. Si no gestioneu aquestes excepcions, l'execució del procés s'aturarà i els DML es recuperaran.

Com a desenvolupador de Salesforce, heu de saber agafar aquestes excepcions i què heu de fer un cop les agafeu. Per obtenir excepcions, podeu fer servir try, catch i finalment construir. Quan hàgiu capturat l'excepció, podeu gestionar-la de les maneres que s'esmenten a continuació:

Excepció Com manejar-lo
DMLUtilitzeu el mètode addError () en un registre o un camp
VisualforceUtilitzeu la classe ApexPages.message
S’envia un correu electrònic a excepcióPodeu notificar-ho al correu electrònic al desenvolupador
Inici de sessió en un objecte personalitzatPodeu utilitzar un mètode futur per atrapar un objecte personalitzat

Fins ara, en aquest bloc de desenvolupadors de Salesforce, heu vist com desenvolupar la vostra interfície d’usuari mitjançant Visualforce, heu vist com escriure una lògica personalitzada mitjançant Apex i diferents conceptes com a activadors, operacions massives i manipulació d’excepcions. Per últim, però no menys important, veurem el marc de proves de Salesforce.

Proves

Com a desenvolupador de Salesforce, heu de saber com provar el codi que escriviu. El desenvolupament basat en proves és una bona manera d’assegurar l’èxit a llarg termini de la vostra aplicació de programari. Heu de provar la vostra sol·licitud perquè pugueu validar que la vostra sol·licitud funciona com s’esperava. Especialment, si esteu desenvolupant una aplicació per a un client, és molt important provar-la abans de lliurar el producte final. Apex us proporciona un marc de proves que us permet escriure proves unitàries, executar-les, comprovar els resultats de les proves i obtenir resultats de cobertura de codi.

Podeu provar la vostra sol·licitud de dues maneres:

  1. Mitjançant la interfície d'usuari de Salesforce, aquesta manera de provar és important, però no detectarà tots els casos d'ús de les vostres aplicacions
  2. Podeu provar la funcionalitat massiva; es poden passar fins a 200 registres a través del codi mitjançant l'API SOAP o el controlador de conjunt estàndard de visualforce

Les classes de prova no envien dades a la base de dades i s’anoten amb @isTest. Us he mostrat com afegir una classe de prova afegint una classe de prova a la classe HelloWorld a continuació:

@isTest

classe privada HelloWorldTestClass {

static testMethod void validateHelloWorld () {

País__c país = nou País__c (Nom = ”Índia”, valor_de moneda__c = 50,0)

Insereix país

país = [SELECCIONA valor_de moneda__c DE País WHERE Id = país.Id]

System.assertEquals (75, country.currency_value__c)

}

}

Espero que hagueu entès tots els conceptes que heu de conèixer per ser desenvolupador de Salesforce. Per aprofundir en més detalls, consulteu el nostre que ve amb la formació en directe dirigida per l'instructor i l'experiència del projecte de la vida real. Si teniu algun comentari, deixeu-los al quadre de comentaris següent.