Tutoriel pour les développeurs Salesforce: Premiers pas avec la programmation Salesforce

Ce blog tutoriel explique les différents concepts de programmation tels que visualforce et apex que vous devez connaître pour démarrer votre carrière de développeur Salesforce.

Vous aspirez à devenir développeur d'applications logicielles? Vous souhaitez créer votre propre application sur la plateforme Force.com? Si votre réponse à ces questions est oui, vous devez absolument envisager de devenir développeur Salesforce.



Dans mes blogs précédents, j'ai discuté de , Certifications Salesforce et vous a également montré créer une application personnalisée en utilisant les options déclaratives disponibles dans Salesforce. Dans ce blog, je discuterai des options programmatiques disponibles dans Salesforce pour développer votre application.



Architecture MVC

Avant de me lancer dans la création d'une application à l'aide de Visualforce et Apex, je vais d'abord parler de l'architecture Salesforce Model-View-Controller. Vous trouverez ci-dessous un diagramme qui présente l'architecture Salesforce Model-View-Controller ainsi que les différents composants Salesforce.

MVC - Développeur Salesforce - Edureka



Modèle: Le modèle correspond à vos objets de données, champs et relations Salesforce. Il se compose d'objets standards (compte, opportunité, etc.) et personnalisés (objets que vous créez).

Vue: La vue représente la présentation des données, c'est-à-dire l'interface utilisateur. Dans Salesforce, la vue constitue les pages, les composants, les mises en page et les onglets de Visualforce.

Manette: Le contrôleur est le bloc de construction de la logique d'application réelle. Vous pouvez effectuer des actions chaque fois que l'utilisateur interagit avec visualforce.



Salesforce en action

Pour devenir développeur Salesforce, vous devez d'abord savoir comment fonctionnent les applications Salesforce. Ci-dessous une image qui vous donne une image complète de Salesforce en action. Le client ou l'utilisateur demande ou fournit des informations à l'application Salesforce. Cela se fait généralement à l'aide de Visualforce. Ces informations sont ensuite transmises à la couche logique de l'application, écrites en Apex. Selon les informations, les données sont insérées ou supprimées de la base de données. Salesforce vous offre également la possibilité d'utiliser des services Web pour accéder directement à la logique de l'application.

Un développeur Salesforce peut aborder le développement en utilisant les options déclaratives ou programmatiques. Vous trouverez ci-dessous une image qui vous fournit des détails sur les approches déclarative et programmatique disponibles à chacune des couches d'interface utilisateur, de logique métier et de modèle de données. Pour créer votre interface utilisateur, vous pouvez soit utiliser l'approche déclarative qui utilise des mises en page et des types d'enregistrements, soit utiliser une approche programmatique comme les pages et les composants visualforce. En règle générale, vous ne devez utiliser l'approche par programme que lorsque vous ne pouvez pas obtenir l'interface utilisateur nécessaire à l'aide de l'approche déclarative. Pour développer la couche de logique métier de votre application, vous pouvez soit utiliser les options déclaratives Salesforce du flux de travail, des règles de validation et des processus d'approbation, soit utiliser une approche programmatique comme des déclencheurs, des contrôleurs et des classes. Pour accéder au modèle de données, vous pouvez utiliser l'approche déclarative en utilisant des objets, des champs et des relations. Vous pouvez également accéder au modèle de données par programme à l'aide de l'API de métadonnées, de l'API REST et de l'API en bloc.

Nous avons vu le fonctionnement des applications Salesforce, l'architecture MVC utilisée pour le développement dans Salesforce et les deux approches différentes disponibles pour un développeur Salesforce. Maintenant, laissez-moi parler de Visualforce et Apex.

Visualforce

Pour créer des applications sur la plate-forme Salesforce, vous devez savoir comment développer une interface utilisateur et écrire une logique d'application. En tant que développeur Salesforce, vous pouvez développer l'interface utilisateur à l'aide de Visualforce. Visualforce est le cadre d'interface utilisateur de la plate-forme Force.com. Tout comme vous pouvez utiliser le framework JavaScript Angular-JS pour créer des interfaces utilisateur pour vos sites Web, vous pouvez utiliser Visualforce pour concevoir et créer des interfaces utilisateur pour vos applications Salesforce.

Vous pouvez utiliser visualforce chaque fois que vous avez besoin de créer des pages personnalisées. Quelques exemples de situations dans lesquelles vous pouvez utiliser Visualforce sont:

  • Pour créer des modèles de courrier électronique
  • Développer une interface utilisateur mobile
  • Pour générer des PDF de données stockées dans Salesforce
  • Pour les intégrer dans vos mises en page standard
  • Pour remplacer une page Salesforce standard
  • Pour développer des onglets personnalisés pour votre application

Une page visualforce se compose de deux éléments principaux:

  • Balisage Visualforce - Le balisage visualforce comprend les balises visualforce, HTML, JavaScript ou tout autre code Web.
  • Un contrôleur Visualforce - Le contrôleur visualforce contient les instructions qui spécifient ce qui se passe lorsqu'un utilisateur interagit avec un composant. Le contrôleur visualforce est écrit à l'aide du langage de programmation Apex.

Vous pouvez consulter un simple code de page Visualforce avec les différents composants ci-dessous:

Ci-dessous, je vous ai montré les étapes pour rédiger une page visualforce simple pour afficher les pays et leurs valeurs monétaires:

Étape 1: Dans Configuration, saisissez Pages Visualforce dans la case Recherche rapide, puis sélectionnez Pages Visualforce et cliquez sur Nouveau.

Étape 2: Dans l'éditeur, ajoutez le code suivant pour afficher le pays et sa valeur de devise:

Sommet

Une fois que vous avez terminé de développer l'interface utilisateur, en tant que développeur Salesforce, vous devez savoir comment ajouter une logique personnalisée à votre application. Vous pouvez écrire du code de contrôleur et ajouter une logique personnalisée à votre application à l'aide du langage de programmation Apex. Apex est un langage de programmation orienté objet qui vous permet d'exécuter des instructions de contrôle de flux et de transaction sur la plate-forme Force.com. Si vous avez déjà utilisé le langage de programmation java, vous pouvez facilement apprendre Apex. La syntaxe Apex est similaire à 70% à celle de java.

Vous pouvez utiliser Apex chaque fois que vous souhaitez ajouter une logique personnalisée à votre application. Quelques exemples de situations dans lesquelles vous pouvez utiliser Apex sont:

  • Lorsque vous souhaitez ajouter des services Web et de messagerie à votre application
  • Lorsque vous souhaitez exécuter des processus métier complexes
  • Lorsque vous souhaitez ajouter des règles de validation complexes à votre application
  • Lorsque vous souhaitez ajouter une logique personnalisée sur des opérations telles que la sauvegarde d'un enregistrement

Vous trouverez ci-dessous une capture d'écran du code Apex avec ses différents composants tels que l'instruction de boucle, l'instruction de flux de contrôle et la requête SOQL:

Maintenant que nous avons compris ce qu'est Apex et quand l'utiliser, permettez-moi de plonger profondément dans la programmation Apex.

Programmation dans Apex

Si vous avez compris les concepts décrits ci-dessus, vous êtes à mi-chemin de votre parcours pour devenir développeur Salesforce. Dans cette section, je vais approfondir Apex en vous fournissant des informations sur les différents types de données et variables, les différentes façons de récupérer des données de la base de données et en vous montrant comment écrire une classe et une méthode.

Types de données et variables

Salesforce vous propose 4 types de données et variables différents. Le tableau ci-dessous vous fournit des informations sur chacun des 4 types de données:

Types de données et variables La description Exemple
PrimitifLes types de données primitifs dans Salesforce incluent booléen, date, entier, objet, chaîne et heure.Boolean isSunny = true

Entier I = 1

String myString = 'Hello World'

sObjetssObject fait référence à tout objet pouvant être stocké dans la base de données.Compte a = nouveau compte ()

MyCustomObj__c obj = nouveau MyCustomObj__c ()

Les collectionsApex propose les types de collections suivants:

  • Listes
  • Plans
  • Ensembles
Liste var_lst = nouvelle liste ()

Set setOne = new Set ()

Carte var_map = nouvelle carte ()

EnumsLes énumérations sont des types de données abstraits avec des valeurs qui prennent un ensemble fini d'identificateurs.Public enum Seasons {Winter, Spring, Summer, Fall}


SOQL et SOSL

Le développement d'applications logicielles nécessite que vous sachiez comment insérer et récupérer des données à partir de bases de données. Dans Salesforce, vous pouvez récupérer des données à partir des bases de données à l'aide de SOQL et SOSL. Si vous souhaitez devenir développeur Salesforce, vous devez connaître ces deux langages de requête. Je vous ai fourni une explication détaillée de ces langues ci-dessous:

binaire à décimal en java
  • SOQL signifie Salesforce Object Query Language. À l'aide des instructions SOQL, vous pouvez récupérer des données de la base de données sous la forme d'une liste de sObjects, d'un seul sObject ou d'une méthode Integer for count. Vous pouvez considérer le SOQL comme un équivalent d'une requête SELECT SOQL. J'ai fourni un exemple de requête SOQL ci-dessous:

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

  • SOSL signifie Salesforce Object Search Language. Vous pouvez utiliser des instructions SOSL pour récupérer une liste de sObjects, où chaque liste contient les résultats de la recherche pour un type de sObject particulier. Vous pouvez considérer SOSL comme un équivalent à une requête de recherche de base de données. J'ai fourni un exemple de requête SOSL ci-dessous:

listesearchList = [TROUVEZ 'carte *' DANS TOUS LES CHAMPS RETOURNANT Compte (Id, Nom), Contact, Opportunité, Prospect]

Vous pouvez utiliser SOQL lorsque vous savez dans quel objet les données résident et utiliser SOSL lorsque vous ne connaissez pas le nom de l’objet où se trouvent les données.

Classes et méthodes

Comme dans tout autre langage de programmation orienté objet, vous pouvez développer des classes et des méthodes à l'aide d'Apex. Vous pouvez considérer une classe comme un plan à l'aide duquel des objets individuels sont créés et utilisés. Vous pouvez considérer une méthode comme un sous-programme, qui agit sur les données et renvoie une valeur. Je vous ai fourni la syntaxe pour écrire une classe et une méthode ci-dessous:

Je vais maintenant vous montrer comment ajouter une classe et une méthode dans Apex:

Étape 1: À partir de la configuration, entrez Apex Classes dans QuickFind Box, puis sélectionnez Apex Classes et cliquez sur New.

Étape 2: Dans l'éditeur, ajoutez la définition de classe suivante:

Classe publique HelloWorld {

}

Étape 3: Ajoutez une définition de méthode entre les crochets ouvrants et fermants de la classe:

Public static void helloWorldMethod (Country__c [] countries) {

Pour (Pays__c pays: pays) {

country.currency_value__c * = 1,5

}

}

Étape 4: Cliquez sur Enregistrer et vous devriez avoir votre classe complète en tant que:

Classe publique HelloWorld {

Public static void helloWorldMethod (Country__c [] countries) {

Pour (Pays__c pays: pays) {

country.currency_value__c * = 1,5

}

}

Vous pouvez utiliser la syntaxe et l'exemple ci-dessus pour développer vos propres classes et méthodes pour votre application Salesforce. Pour devenir développeur Salesforce, vous devez savoir plus que simplement écrire des classes et des méthodes. Dans les prochaines sections, j'aborderai des sujets qui simplifient et simplifient le développement d'applications sur la plate-forme Salesforce.

Déclencheurs

Chaque développeur Salesforce doit connaître le concept des déclencheurs Salesforce. Vous avez peut-être déjà rencontré des déclencheurs en travaillant avec d'autres bases de données. Les déclencheurs ne sont rien d'autre que des programmes stockés qui sont appelés lorsque vous effectuez des actions avant ou après les modifications apportées aux enregistrements Salesforce. Par exemple, les déclencheurs peuvent s'exécuter avant qu'une opération d'insertion ne soit effectuée ou lorsqu'une opération de mise à jour est effectuée. Il existe deux types de déclencheurs:

  • Avant le déclenchement - Vous pouvez utiliser les déclencheurs avant pour mettre à jour ou valider les valeurs d'enregistrement avant qu'elles ne soient enregistrées dans la base de données.
  • Après le déclenchement - Vous pouvez utiliser les déclencheurs after pour accéder aux valeurs de champ définies par le système et pour affecter les modifications d'autres enregistrements.

Les déclencheurs sont exécutés avant ou après les opérations ci-dessous:

  • Insérer
  • Mise à jour
  • Effacer
  • Aller
  • Oops
  • Annuler la suppression

Je vais vous montrer comment ajouter un déclencheur dans l'apex en ajoutant un déclencheur pour l'objet Country que vous avez vu dans la classe ci-dessus:

Étape 1: Dans les paramètres de gestion des objets pour le pays, allez dans Déclencheurs et cliquez sur Nouveau.

Étape 2: Dans l'éditeur de déclencheurs, ajoutez la définition de déclencheur suivante:

Déclenchez HelloWorldTrigger sur Country__c (avant l'insertion) {

qu'est-ce que l'usine dans angularjs

Pays__c pays = Trigger.new

HelloWorld.helloWorldMethod (pays)

}

Le code ci-dessus mettra à jour la devise de votre pays avant chaque insertion dans la base de données.

Limites du gouverneur

Vous savez peut-être que Salesforce fonctionne sur une architecture multi-tenant, cela signifie que les ressources sont partagées entre différents clients. Pour s'assurer qu'aucun client ne monopolise les ressources partagées, le moteur d'exécution Apex applique strictement les limites du gouverneur. Si votre code Apex dépasse une limite, le gouverneur attendu émet une exception d'exécution qui ne peut pas être gérée. Ainsi, en tant que développeur Salesforce, vous devez être très prudent lors du développement de votre application.

Opérations en masse

En tant que développeur Salesforce, vous devez toujours vous assurer que votre code respecte les limites du gouverneur. Pour vous assurer qu'Apex respecte les limites du gouverneur, vous devez utiliser le modèle de conception des appels en masse. Une opération en bloc fait référence à la validation de plusieurs enregistrements lorsque vous effectuez une opération DML. Avant d'effectuer une opération DML, vous devez toujours vous assurer que vous ajoutez les lignes dans une collection. Vous trouverez ci-dessous une image qui vous donne une description complète du modèle de conception d'opération en bloc.

DML et opérations de données

Vous avez vu précédemment comment récupérer des données de la base de données à l'aide de requêtes SOQL et SOSL. Examinons à présent les différentes instructions que vous pouvez utiliser pour insérer des données dans la base de données Salesforce. Pour un développeur Salesforce, il est indispensable de savoir ce que ces instructions peuvent faire et comment les utiliser.

Déclaration DML

La description
InsérerAjoute un ou plusieurs sObjects aux données de votre organisation
Mise à jourModifie un ou plusieurs enregistrements sObject existants
OopsCrée de nouveaux enregistrements et met à jour les enregistrements sObject
EffacerSupprime un ou plusieurs enregistrements sObject existants
Annuler la suppressionRestaure un ou plusieurs enregistrements sObject existants
AllerFusionne jusqu'à trois enregistrements du même type sObject en un seul enregistrement

Visualforce et Apex

Vous avez parcouru un long chemin dans votre quête pour devenir développeur Salesforce. Je discuterai ensuite de la façon dont vous pouvez intégrer votre page visualforce et votre code apex. Vous pouvez connecter votre page visualforce et votre code apex à l'aide de contrôleurs et d'extensions.

  • Contrôleurs personnalisés -Lorsque vous souhaitez que votre page visualforce s'exécute entièrement en mode système, c'est-à-dire sans autorisations ni sécurité au niveau du champ, utilisez un contrôleur personnalisé.

  • Extension du contrôleur -Lorsque vous souhaitez ajouter de nouvelles actions ou fonctions qui étendent les fonctionnalités d'un contrôleur standard ou personnalisé, utilisez une extension de contrôleur.

Dans le code ci-dessous, je vous ai montré comment inclure un contrôleur personnalisé dans votre page visualforce:

Dans le code ci-dessous, je vous ai montré comment inclure l'extension de contrôleur dans votre page visualforce:

Gestion des exceptions

Si vous avez déjà développé des applications, vous auriez certainement rencontré des exceptions. Une exception est une condition spéciale qui modifie le déroulement normal de l'exécution du programme. Par exemple, diviser un nombre par zéro ou accéder à une valeur de liste qui est hors limites. Si vous ne gérez pas ces exceptions, l'exécution du processus s'arrête et les DML sont annulés.

En tant que développeur Salesforce, vous devez savoir comment intercepter ces exceptions et quoi faire une fois que vous les avez détectées. Pour intercepter les exceptions, vous pouvez utiliser les méthodes try, catch et enfin construct. Une fois que vous avez détecté l'exception, vous pouvez la gérer de la manière mentionnée ci-dessous:

Exception Comment le gérer
DMLUtilisez la méthode addError () sur un enregistrement ou un champ
VisualforceUtiliser la classe ApexPages.message
Envoi d'un e-mail sur exceptionVous pouvez avertir le développeur par e-mail
Connexion à un objet personnaliséVous pouvez utiliser une future méthode pour attraper un objet personnalisé

Jusqu'à présent, dans ce blog des développeurs Salesforce, vous avez vu comment développer votre interface utilisateur à l'aide de Visualforce, vous avez vu comment écrire une logique personnalisée à l'aide d'Apex et de différents concepts tels que les déclencheurs, les opérations en masse et la gestion des exceptions. Dernier point mais non le moindre, nous allons jeter un œil au cadre de test Salesforce.

Essai

En tant que développeur Salesforce, vous devez savoir comment tester le code que vous écrivez. Le développement piloté par les tests est un bon moyen d'assurer le succès à long terme de votre application logicielle. Vous devez tester votre application afin de pouvoir valider que votre application fonctionne comme prévu. En particulier, si vous développez une application pour un client, il est très important de la tester avant de livrer le produit final. Apex vous fournit un cadre de test qui vous permet d'écrire des tests unitaires, d'exécuter les tests, de vérifier les résultats des tests et d'avoir des résultats de couverture de code.

Vous pouvez tester votre application de deux manières:

  1. Grâce à l'interface utilisateur de Salesforce, cette méthode de test est importante mais ne comprendra pas tous les cas d'utilisation de vos applications
  2. Vous pouvez tester la fonctionnalité en bloc, jusqu'à 200 enregistrements peuvent être transmis via votre code à l'aide de l'API SOAP ou du contrôleur de jeu de normes Visualforce

Les classes de test n'engagent aucune donnée dans la base de données et sont annotées avec @isTest. Je vous ai montré comment ajouter une classe de test, en ajoutant une classe de test à la classe HelloWorld ci-dessous:

@isTest

classe privée HelloWorldTestClass {

static testMethod void validateHelloWorld () {

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

Insérer le pays

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

System.assertEquals (75, country.currency_value__c)

}

}

J'espère que vous avez compris tous les concepts que vous devez connaître pour devenir développeur Salesforce. Pour plonger dans plus de détails, consultez notre qui vient avec une formation en direct dirigée par un instructeur et une expérience de projet réelle. Si vous avez des commentaires, veuillez les laisser dans la zone de commentaires ci-dessous.