Tutorial per sviluppatori Salesforce: introduzione alla programmazione Salesforce

Questo blog tutorial spiega i diversi concetti di programmazione come visualforce e apex che devi conoscere per iniziare la tua carriera come sviluppatore Salesforce.

Aspiri a diventare uno sviluppatore di applicazioni software? Vuoi creare la tua applicazione sulla piattaforma Force.com? Se la tua risposta a queste domande è sì, dovresti assolutamente considerare di diventare uno sviluppatore Salesforce.

Nei miei blog precedenti, ho discusso di , Certificazioni Salesforce e ti ho anche mostrato creare un'applicazione personalizzata utilizzando le opzioni dichiarative disponibili in Salesforce. In questo blog, parlerò delle opzioni programmatiche disponibili in Salesforce per sviluppare la tua applicazione.





Architettura MVC

Prima di immergermi nella creazione di un'applicazione utilizzando Visualforce e Apex, parlerò prima dell'architettura di Salesforce Model-View-Controller. Di seguito è riportato un diagramma che delinea l'architettura del controller di visualizzazione del modello di Salesforce insieme ai diversi componenti di Salesforce.

unisci l'ordinamento in c ++

mvc - sviluppatore salesforce - edureka



Modello: Il modello sono gli oggetti dati, i campi e le relazioni di Salesforce. Costituisce oggetti standard (account, opportunità, ecc.) E personalizzati (oggetti creati dall'utente).

Visualizza: La vista rappresenta la presentazione dei dati, ovvero l'interfaccia utente. In Salesforce, la visualizzazione costituisce le pagine, i componenti, i layout di pagina e le schede di visualforce.

Controller: Il controller è l'elemento costitutivo della logica dell'applicazione effettiva. È possibile eseguire azioni ogni volta che l'utente interagisce con visualforce.



Salesforce in azione

Per essere uno sviluppatore Salesforce, devi prima sapere come funzionano le applicazioni Salesforce. Di seguito un'immagine che ti dà il quadro completo di Salesforce in azione. Il cliente o l'utente richiede o fornisce informazioni all'applicazione Salesforce. Questo viene generalmente fatto utilizzando Visualforce. Queste informazioni vengono quindi passate al livello logico dell'applicazione, scritto in Apex. A seconda delle informazioni, i dati vengono inseriti o rimossi dal database. Salesforce offre anche la possibilità di utilizzare i servizi Web per accedere direttamente alla logica dell'applicazione.

Uno sviluppatore Salesforce può avvicinarsi allo sviluppo utilizzando le opzioni dichiarative o programmatiche. Di seguito è riportata un'immagine che fornisce dettagli sugli approcci dichiarativi e programmatici disponibili a ciascuna interfaccia utente, logica aziendale e livello del modello di dati. Per costruire la tua interfaccia utente, puoi utilizzare l'approccio dichiarativo che utilizza layout di pagina e tipi di record o utilizzare un approccio programmatico come pagine e componenti visualforce. In genere, è necessario utilizzare l'approccio programmatico solo quando non è possibile ottenere l'interfaccia utente necessaria utilizzando l'approccio dichiarativo. Per sviluppare il livello di logica aziendale della tua applicazione puoi utilizzare le opzioni dichiarative di Salesforce del flusso di lavoro, le regole di convalida e i processi di approvazione oppure utilizzare un approccio programmatico come trigger, controller e classi. Per accedere al modello di dati, è possibile utilizzare l'approccio dichiarativo utilizzando oggetti, campi e relazioni. Puoi anche accedere al modello di dati in modo programmatico utilizzando l'API dei metadati, l'API REST e l'API in blocco.

Abbiamo visto come funzionano le applicazioni Salesforce, l'architettura MVC utilizzata per lo sviluppo in Salesforce e i due diversi approcci disponibili per uno sviluppatore Salesforce. Ora, lasciatemi discutere di Visualforce e Apex.

Visualforce

Per creare applicazioni sulla piattaforma Salesforce è necessario sapere come sviluppare l'interfaccia utente e scrivere la logica dell'applicazione. In qualità di sviluppatore Salesforce, puoi sviluppare l'interfaccia utente utilizzando Visualforce. Visualforce è il framework dell'interfaccia utente per la piattaforma Force.com. Proprio come puoi utilizzare il framework javascript Angular-JS per creare interfacce utente per i tuoi siti Web, puoi utilizzare Visualforce per progettare e creare interfacce utente per le tue applicazioni Salesforce.

Puoi utilizzare visualforce ogni volta che devi creare pagine personalizzate. Alcuni esempi di situazioni in cui è possibile utilizzare Visualforce sono:

  • Per creare modelli di posta elettronica
  • Sviluppare un'interfaccia utente mobile
  • Per generare PDF di dati archiviati in Salesforce
  • Per incorporarli nei layout di pagina standard
  • Per sostituire una pagina Salesforce standard
  • Per sviluppare schede personalizzate per la tua applicazione

Una pagina visualforce è composta da due elementi principali:

  • Markup Visualforce: il markup Visualforce include i tag Visualforce, HTML, JavaScript o qualsiasi altro codice abilitato per il Web.
  • Un controller Visualforce: il controller Visualforce contiene le istruzioni che specificano cosa accade quando un utente interagisce con un componente. Il controller visualforce è scritto utilizzando il linguaggio di programmazione Apex.

Puoi dare un'occhiata a un semplice codice di pagina Visualforce insieme ai diversi componenti di seguito:

Di seguito ti ho mostrato i passaggi per scrivere una semplice pagina visualforce per la visualizzazione dei paesi e dei loro valori di valuta:

Passo 1: Da Imposta, immettere Visualforce Pages nella casella Ricerca veloce, quindi selezionare Visualforce Pages e fare clic su Nuovo.

Passo 2: Nell'editor aggiungi il seguente codice per visualizzare il paese e il suo valore di valuta:

Apice

Una volta che hai finito di sviluppare l'interfaccia utente, come sviluppatore Salesforce devi sapere come aggiungere logica personalizzata alla tua applicazione. È possibile scrivere codice controller e aggiungere logica personalizzata all'applicazione utilizzando il linguaggio di programmazione Apex. Apex è un linguaggio di programmazione orientato agli oggetti che consente di eseguire istruzioni di controllo del flusso e delle transazioni sulla piattaforma Force.com. Se hai già utilizzato il linguaggio di programmazione java, puoi facilmente imparare Apex. La sintassi Apex è simile al 70% a quella di java.

È possibile utilizzare Apex ogni volta che si desidera aggiungere una logica personalizzata alla propria applicazione. Alcuni esempi di situazioni in cui è possibile utilizzare Apex sono:

  • Quando desideri aggiungere servizi web ed e-mail alla tua applicazione
  • Quando si desidera eseguire processi aziendali complessi
  • Quando si desidera aggiungere regole di convalida complesse alla propria applicazione
  • Quando si desidera aggiungere una logica personalizzata su operazioni come il salvataggio di un record

Di seguito è riportato uno screenshot del codice Apex insieme ai suoi diversi componenti come l'istruzione di ciclo, l'istruzione del flusso di controllo e la query SOQL:

Ora che abbiamo capito cos'è Apex e quando usarlo, lasciatemi approfondire la programmazione Apex.

Programmazione in Apex

Se hai compreso i concetti sopra descritti, sei a metà del tuo viaggio per diventare uno sviluppatore Salesforce. In questa sezione, approfondirò Apex fornendoti informazioni sui diversi tipi di dati e variabili, sui diversi modi di recuperare i dati dal database e mostrandoti come scrivere una classe e un metodo.

Tipi di dati e variabili

Salesforce ti offre 4 diversi tipi di dati e variabili. La tabella seguente fornisce informazioni su ciascuno dei 4 tipi di dati:

Tipi di dati e variabili Descrizione Esempio
PrimitivoI tipi di dati primitivi in ​​Salesforce includono booleano, data, numero intero, oggetto, stringa e ora.Boolean isSunny = true

Intero I = 1

String myString = 'Hello World'

sObjectssObject si riferisce a qualsiasi oggetto che può essere memorizzato nel database.Account a = nuovo account ()

MyCustomObj__c obj = new MyCustomObj__c ()

CollezioniApex ha i seguenti tipi di raccolte:

  • Liste
  • Mappe
  • Imposta
List var_lst = new List ()

Set setOne = new Set ()

Map var_map = new Map ()

EnumerazioniLe enumerazioni sono tipi di dati astratti con valori che assumono un insieme finito di identificatori.Stagioni enumerazione pubblica {Inverno, Primavera, Estate, Autunno}


SOQL e SOSL

Lo sviluppo di applicazioni software richiede di sapere come inserire e recuperare i dati dai database. In Salesforce, è possibile recuperare i dati dai database utilizzando SOQL e SOSL. Se vuoi diventare uno sviluppatore Salesforce, devi conoscere entrambi questi linguaggi di query. Di seguito ti ho fornito una spiegazione dettagliata di queste lingue:

  • SOQL è l'acronimo di Salesforce Object Query Language. Utilizzando le istruzioni SOQL, è possibile recuperare i dati dal database come un elenco di sObject, un singolo sObject o un Integer per il metodo count. Puoi pensare al SOQL come un equivalente di una query SELECT SOQL. Ho fornito un esempio di una query SOQL di seguito:

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

  • SOSL è l'acronimo di Salesforce Object Search Language. È possibile utilizzare le istruzioni SOSL per recuperare un elenco di sObject, dove ogni elenco contiene i risultati della ricerca per un particolare tipo di sObject. Puoi pensare a SOSL come equivalente a una query di ricerca nel database. Di seguito ho fornito un esempio di una query SOSL:

ElencosearchList = [TROVA 'mappa *' IN TUTTI I CAMPI RESTITUISCE Account (ID, nome), contatto, opportunità, lead]

Puoi utilizzare SOQL quando sai in quale oggetto risiedono i dati e utilizzare SOSL quando non conosci il nome dell'oggetto in cui risiedono i dati.

Classi e metodi

Come in ogni altro linguaggio di programmazione orientato agli oggetti, puoi sviluppare classi e metodi utilizzando Apex. Puoi pensare a una classe come a un modello in cui vengono creati e utilizzati i singoli oggetti. Puoi pensare a un metodo come a un sottoprogramma, che agisce sui dati e restituisce un valore. Ti ho fornito la sintassi per scrivere una classe e un metodo di seguito:

Ora ti mostrerò come aggiungere una classe e un metodo in Apex:

Passo 1: Dalla configurazione immettere Classi Apex nella casella QuickFind, quindi selezionare Classi Apex e fare clic su Nuovo.

Passo 2: Nell'editor aggiungi la seguente definizione di classe:

Classe pubblica HelloWorld {

}

Passaggio 3: Aggiungi una definizione di metodo tra le parentesi di apertura e chiusura della classe:

Public static void helloWorldMethod (Country__c [] countries) {

Per (Country__c country: countries) {

country.currency_value__c * = 1.5

}

}

Passaggio 4: Fai clic su Salva e dovresti avere la tua classe completa come:

Classe pubblica HelloWorld {

Public static void helloWorldMethod (Country__c [] countries) {

Per (Country__c country: countries) {

country.currency_value__c * = 1.5

}

}

È possibile utilizzare la sintassi e l'esempio mostrati sopra per sviluppare classi e metodi personalizzati per l'applicazione Salesforce. Per diventare uno sviluppatore Salesforce è necessario sapere qualcosa di più della semplice scrittura di classi e metodi. Nelle prossime sezioni, tratterò argomenti che rendono semplice e facile lo sviluppo di applicazioni sulla piattaforma Salesforce.

Trigger

Ogni sviluppatore Salesforce deve conoscere il concetto di trigger di Salesforce. Potresti aver già riscontrato trigger mentre lavoravi con altri database. I trigger non sono altro che programmi memorizzati che vengono richiamati quando si eseguono azioni prima o dopo le modifiche ai record di Salesforce. Ad esempio, i trigger possono essere eseguiti prima che venga eseguita un'operazione di inserimento o quando viene eseguita un'operazione di aggiornamento. Esistono due tipi di trigger:

  • Prima del grilletto - È possibile utilizzare prima dei trigger per aggiornare o convalidare i valori dei record prima che vengano salvati nel database.
  • Dopo il trigger - È possibile utilizzare i trigger after per accedere ai valori dei campi impostati dal sistema e per influire sulle modifiche in altri record.

I trigger vengono eseguiti prima o dopo le operazioni seguenti:

  • Inserire
  • Aggiornare
  • Elimina
  • Partire
  • Ops
  • Annulla eliminazione

Ti mostrerò come aggiungere un trigger in apex aggiungendo un trigger per l'oggetto Paese che hai visto nella classe sopra:

Passo 1: Dalle impostazioni di gestione degli oggetti per il paese, vai su Trigger e fai clic su Nuovo.

Passo 2: Nell'editor di trigger, aggiungi la seguente definizione di trigger:

Trigger HelloWorldTrigger su Country__c (prima dell'inserimento) {

Country__c countries = Trigger.new

HelloWorld.helloWorldMethod (paesi)

}

Il codice sopra aggiornerà la valuta del tuo paese prima di ogni inserimento nel database.

Limiti del governatore

Potresti sapere che Salesforce funziona su un'architettura multi-tenant, questo significa che le risorse sono condivise tra diversi client. Per assicurarsi che nessun cliente monopolizzi le risorse condivise, il motore di runtime Apex applica rigorosamente i limiti del governatore. Se il tuo codice Apex supera un limite, il governatore previsto emette un'eccezione di runtime che non può essere gestita. Quindi, come sviluppatore Salesforce, devi stare molto attento mentre sviluppi la tua applicazione.

Operazioni in blocco

In qualità di sviluppatore Salesforce, devi sempre assicurarti che il tuo codice mantenga i limiti del governor. Per assicurarsi che Apex aderisca ai limiti del governor, è necessario utilizzare il modello di progettazione delle chiamate in blocco. Un'operazione in blocco si riferisce al commit di più di un record quando si effettua un'operazione DML. Prima di eseguire un'operazione DML devi sempre assicurarti di aggiungere le righe in una raccolta. Di seguito è un'immagine che fornisce una descrizione completa del modello di progettazione dell'operazione di massa.

DML e operazioni sui dati

Hai visto in precedenza come recuperare i dati dal database utilizzando le query SOQL e SOSL. Ora diamo uno sguardo alle diverse dichiarazioni che puoi utilizzare per inserire dati nel database di Salesforce. Per uno sviluppatore Salesforce, è fondamentale sapere cosa possono fare queste istruzioni e come utilizzarle.

Dichiarazione DML

Descrizione
InserireAggiunge uno o più oggetti ai dati della tua organizzazione
AggiornareModifica uno o più record sObject esistenti
OpsCrea nuovi record e aggiorna i record di sObject
EliminaElimina uno o più record sObject esistenti
Annulla eliminazioneRipristina uno o più record di sObject esistenti
PartireUnisce fino a tre record dello stesso tipo di oggetto in un unico record

Visualforce e Apex

Hai fatto molta strada nella tua ricerca per diventare uno sviluppatore Salesforce. Successivamente parlerò di come integrare la tua pagina visualforce e il tuo codice apex. Puoi connettere la tua pagina visualforce e il tuo codice apex utilizzando controller ed estensioni.

  • Controller personalizzati -Quando desideri che la tua pagina visualforce venga eseguita interamente in modalità di sistema, ovvero senza autorizzazioni e sicurezza a livello di campo, utilizza un controller personalizzato.

  • Estensione controller -Quando si desidera aggiungere nuove azioni o funzioni che estendono la funzionalità di un controller standard o personalizzato, utilizzare un'estensione del controller.

Nel codice seguente, ti ho mostrato come includere un controller personalizzato nella tua pagina visualforce:

Nel codice seguente, ti ho mostrato come includere l'estensione del controller nella tua pagina visualforce:

La gestione delle eccezioni

Se hai già sviluppato applicazioni, ti saresti sicuramente imbattuto in eccezioni. Un'eccezione è una condizione speciale che modifica il normale flusso di esecuzione del programma. Ad esempio, dividendo un numero per zero o accedendo a un valore di elenco fuori dai limiti. Se non gestisci queste eccezioni, l'esecuzione del processo si interrompe e i DML verranno annullati.

In qualità di sviluppatore Salesforce, devi sapere come intercettare queste eccezioni e cosa fare una volta rilevate. Per catturare le eccezioni puoi usare try, catch e infine costruisci. Una volta individuata l'eccezione, puoi gestirla nei modi indicati di seguito:

Eccezione Come gestirlo
DMLUtilizza il metodo addError () su un record o un campo
VisualforceUsa la classe ApexPages.message
Invio di un'e-mail in caso di eccezionePuoi avvisare lo sviluppatore tramite e-mail
Accesso a un oggetto personalizzatoÈ possibile utilizzare un metodo futuro per catturare un oggetto personalizzato

Finora in questo blog degli sviluppatori di Salesforce hai visto come sviluppare la tua interfaccia utente utilizzando Visualforce, hai visto come scrivere logica personalizzata utilizzando Apex e diversi concetti come trigger, operazioni in blocco e gestione delle eccezioni. Ultimo ma non meno importante, daremo uno sguardo al framework di test di Salesforce.

Test

In qualità di sviluppatore Salesforce, devi sapere come testare il codice che scrivi. Lo sviluppo basato su test è un buon modo per garantire il successo a lungo termine della tua applicazione software. È necessario testare l'applicazione in modo da poter convalidare che l'applicazione funzioni come previsto. In particolare, se stai sviluppando un'applicazione per un cliente, è molto importante testarla prima di consegnare il prodotto finale. Apex fornisce un framework di test che consente di scrivere unit test, eseguire i test, controllare i risultati dei test e ottenere risultati di code coverage.

Puoi testare la tua applicazione in due modi:

  1. Attraverso l'interfaccia utente di Salesforce, questo metodo di test è importante ma non catturerà tutti i casi d'uso per le tue applicazioni
  2. È possibile testare la funzionalità in blocco, fino a 200 record possono essere passati attraverso il codice utilizzando SOAP API o visualforce standard set controller

Le classi di test non inviano dati al database e vengono annotate con @isTest. Ti ho mostrato come aggiungere una classe di test, aggiungendo una classe di test alla classe HelloWorld di seguito:

@isTest

classe privata HelloWorldTestClass {

static testMethod void validateHelloWorld () {

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

Inserisci paese

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

System.assertEquals (75, country.currency_value__c)

tipi di filtri nel tableau

}

}

Spero che tu abbia compreso tutti i concetti che devi conoscere per essere uno sviluppatore Salesforce. Per approfondire i dettagli, controlla il nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto di vita reale. Se hai commenti, lasciali nella casella dei commenti qui sotto.