Fermer

décembre 5, 2024

Extension de Salesforce avec Salesforce Functions / Blogs / Perficient

Extension de Salesforce avec Salesforce Functions / Blogs / Perficient


Les fonctions Salesforce ont révolutionné la façon dont les développeurs créent des applications évolutives et sans serveur au sein de l’écosystème Salesforce. Ces fonctions constituent un moyen efficace de gérer les tâches gourmandes en calcul sans forcer les limites de la plateforme Salesforce. En l’exploitant, les développeurs peuvent confier des opérations complexes à un environnement sécurisé et géré qui s’intègre parfaitement à l’écosystème Salesforce plus large. Cette capacité ouvre la porte à de nouvelles possibilités d’automatisation, de traitement des données et d’intégrations.

Dans ce blog, nous explorerons en détail les fonctions Salesforce, y compris leurs principales fonctionnalités, cas d’utilisation, avantages et défis, avec des exemples concrets et des extraits de code.

Que sont les fonctions Salesforce ?

Il s’agit d’unités de calcul sans serveur conçues pour fonctionner en dehors de l’environnement principal de Salesforce. Ils offrent un moyen d’étendre les capacités de Salesforce en permettant aux développeurs d’effectuer une logique personnalisée, de gérer des calculs à grande échelle et de créer des intégrations avec des services tiers.

Principales fonctionnalités

  1. Prise en charge des langues modernes
    Les développeurs peuvent utiliser des langages de programmation familiers tels que Node.js, Java et TypeScript pour créer des fonctions. Cette flexibilité permet aux équipes de tirer parti de l’expertise existante.
  2. Intégration transparente de Salesforce
    Avec les SDK Salesforce, les fonctions peuvent facilement accéder aux données et métadonnées Salesforce, permettant une interaction en temps réel avec les enregistrements et les configurations.
  3. Exécution évolutive
    Les fonctions sont construites sur une architecture sans serveur, garantissant qu’elles évoluent automatiquement en fonction de la demande sans nécessiter de gestion de l’infrastructure.

Cas d’utilisation réels

1. Informatique

Les fonctions Salesforce sont idéales pour traiter des ensembles de données volumineux qui dépassent les limites du gouverneur Salesforce. Par exemple, une entreprise de vente au détail peut utiliser des fonctions pour traiter par lots les mises à jour de millions de dossiers clients en fonction de leur historique d’achats.

2. Intégration de l’apprentissage automatique

Les organisations peuvent tirer parti de Salesforce Functions pour s’intégrer aux modèles d’apprentissage automatique. Par exemple, une entreprise de soins de santé peut utiliser un modèle d’apprentissage automatique pour prédire les scores de risque des patients sur la base de données historiques et réintégrer les prédictions dans Salesforce.

3. Intégrations d’API tierces

Les fonctions peuvent récupérer et traiter de manière asynchrone des données à partir d’API externes. Par exemple, une agence de voyages pourrait utiliser une fonction pour récupérer des mises à jour en direct sur l’état des vols et les afficher dans Salesforce.

Exemple de code

Examinons un exemple pratique de fonction Salesforce.

Créer une fonction Salesforce dans Node.js

// File: functions/myFunction/index.js
import { SalesforceSDK, dataApi } from '@salesforce/functions';

export default async function (event, context, logger) {
  // Query accounts from Salesforce
  const accounts = await dataApi.query('SELECT Id, Name FROM Account WHERE Industry = \'Technology\' LIMIT 10');
  logger.info(`Retrieved ${accounts.length} accounts.`);

  // Create a new account
  const newAccount = await dataApi.create('Account', { Name: 'New Tech Account', Industry: 'Technology' });
  logger.info(`Created new account with Id: ${newAccount.id}`);
}

Appel de la fonction dans Salesforce

public with sharing class FunctionInvoker {
    public static void invokeFunction() {
        Map<String, Object> input = new Map<String, Object>();
        Functions.Function fn = Functions.getFunction('myFunction');
        fn.invoke(input);
    }
}

Dans cet exemple :

  • Fonction Node.js: interroge les comptes existants et en crée un nouveau.
  • Classe Apex: appelle la fonction depuis Salesforce.

Avantages

  1. Évolutivité
    Les fonctions évoluent automatiquement en fonction de la demande, garantissant qu’elles peuvent gérer efficacement les petites et grandes charges de travail.
  2. Efficacité
    En déplaçant les tâches gourmandes en calcul hors de la plateforme, Salesforce Functions réduit la dépendance à Apex, qui est soumise aux limites du gouverneur.
  3. Outils de développement modernes
    Les développeurs peuvent utiliser des outils, des bibliothèques et des frameworks modernes pour créer des solutions robustes.
  4. Intégration transparente
    Les fonctions s’intègrent sans effort aux données Salesforce, permettant la manipulation et l’interaction des données en temps réel.

Inconvénients

  1. Considérations relatives aux coûts
    Le modèle de paiement à l’exécution peut devenir coûteux pour les tâches à haute fréquence. Une surveillance et une optimisation appropriées sont nécessaires pour contrôler les coûts.
  2. Courbe d’apprentissage
    Les développeurs devront peut-être apprendre de nouveaux langages et frameworks de programmation, tels que Node.js ou Java, pour créer efficacement des fonctions.
  3. Latence d’exécution
    Les fonctions peuvent introduire de légers retards d’exécution par rapport à la logique sur la plateforme, en particulier pour les opérations sensibles à la latence.

Exemple concret : les fonctions Salesforce en action

Scénario : Traitement des commandes en temps réel

Une entreprise mondiale de commerce électronique utilise Salesforce pour gérer les commandes des clients. Ils veulent mettre en œuvre un système où :

  • Les commandes sont traitées et validées par rapport à un système d’entrepôt externe.
  • Les notifications sont envoyées aux clients en temps réel.

Solution utilisant les fonctions Salesforce:

  1. Validation de la commande: Une fonction Salesforce valide les détails de la commande en interrogeant l’API de l’entrepôt.
  2. Informatique: La fonction met à jour la base de données Salesforce avec les dernières informations d’inventaire.
  3. Notifications: Une fois le traitement réussi, la fonction déclenche un événement de plateforme pour informer les clients.

Conseils d’optimisation des performances

  1. Utiliser le traitement par lots
    Pour les tâches impliquant de grands ensembles de données, le traitement par lots garantit une utilisation efficace des ressources et réduit les coûts d’exécution.
  2. Utilisation de la fonction de surveillance
    Surveillez régulièrement les appels de fonctions et les temps d’exécution pour identifier les goulots d’étranglement et optimiser les performances.
  3. Optimiser les requêtes de données
    Utilisez des requêtes et des index sélectifs dans Salesforce pour minimiser les temps de récupération des données dans les fonctions.

Conclusion

Les fonctions Salesforce changent la donne pour les développeurs cherchant à créer des applications sans serveur au sein de l’écosystème Salesforce. Ils permettent aux organisations de traiter efficacement les données, de s’intégrer à des services externes et de tirer parti d’outils de développement modernes, tout en maintenant l’évolutivité et les performances.

Avec l’essor des applications en temps réel et des tâches gourmandes en calcul, Salesforce Functions est un outil indispensable pour les équipes de développement modernes. Commencez dès aujourd’hui à explorer Salesforce Functions pour libérer tout leur potentiel et stimuler l’innovation au sein de votre organisation.

Consultez également les articles ci-dessous pour plus d’informations.

Salesforce Data Cloud par rapport aux concurrents

Documentation Salesforce – Fonctions Salesforce






Source link