Salesforce en tant que plateforme de développement

 

Tristan Coignion

Génie Logiciel FA

2020-2022

Client

Client

Gestionnaire de patrimoine

Analystes

Banque

Dossier

Le prêt est réalisé !

Projets Réalisés

  • Shaker Reader
  • Envoi de Dossier
  • Fiaussi

Shaker Reader

Des rapports et graphiques sont proposés à l'analyste lors de l'analyse du dossier

Envoi de Dossier

Resaisie manuelle

Envoi de Dossier par API

Analyste

Banque

Données du dossier

Fiaussi (Shaker Data Light)

Site partenaire

Gestionnaire de patrimoine

Analystes

Client souhaitant
acheter une maison

Formulaire
SDL intégré au site

Salesforce

Customer Relationship Manager

Comment la plateforme Salesforce ainsi que les frameworks qu’elle offre sont des accélérateurs de développement puissants, et quelles sont leurs limites ?

Salesforce et ses outils

  1. Back-end
  2. Front-end
  3. No-code
  4. Environnement

Plan de la section

Back-end

Apex

Exécuté dans le cloud

Apex

BDD

Back-end

Apex

Exécuté dans le cloud

Difficile à déboguer 

Langage pauvre

Restrictions arbitraires

Propriétaire

Apex

BDD

Base de données

Configuration via interface graphique

Infrastructure et logiciels gérés par Salesforce

Passage à l'échelle facile

Base de données

Configuration via interface graphique

Infrastructure et logiciels gérés par Salesforce

Passage à l'échelle facile

Plusieurs moyens de maintenir la cohérence

Interface graphique

Trigger

Apex

Formule de validation

Base de données

Configuration via interface graphique

Infrastructure et logiciels gérés par Salesforce

Passage à l'échelle facile

Governor Limits

Peu adaptée à un usage "technique"

Plusieurs moyens de maintenir la cohérence

Interface graphique

Trigger

Apex

Formule de validation

BDD - Vues

Base de données

Affichage

des données

API

Utilisateurs et Droits

Création

Suppression impossible

Protection des données

Authentification

Interface de configuration

Permet d'exécuter des applications sur des Dynos (conteneurs Linux)

Très peu de mise en place et configuration nécessaire

Permet d'exécuter des applications sur des Dynos (conteneurs Linux)

Très peu de mise en place et configuration nécessaire

Add-ons

Heroku Connect
PostgreSQL

Logging
Messaging

...

Permet d'exécuter des applications sur des Dynos (conteneurs Linux)

Très peu de mise en place et configuration nécessaire

Add-ons

Heroku Connect
PostgreSQL

Logging
Messaging

...

Peu adapté à certains projets

Cher lorsqu'on a besoin de beaucoup de ressources

Front-end

Visualforce

Ressources chargées dans le navigateur

  • HTML Modifié
  • CSS + JS
  • Apex

Front-end

Visualforce

Ressources chargées dans le navigateur

Controlleur Apex
dans le cloud

  • HTML Modifié
  • CSS + JS
  • Apex

Lightning Web Components

  • HTML Templaté
  • CSS
  • JS (Controlleur de la page)
  • Apex (Optionnel pour aider le JS)

HTML / CSS / Controlleur JS

Apex (optionnel)

Lightning Web Components

  • HTML Templaté
  • CSS
  • JS (Controlleur de la page)
  • Apex (Optionnel pour aider le JS)

(non modifiables ou extensibles)

Modulables

Intégrables à site externe

Librairie de composants
standards

HTML / CSS / Controlleur JS

Apex (optionnel)

No-code

Flux (Flow)

No-code

Flux (Flow)

  1. Déclencheur
  2. Tâche récurrente
  3. Écran

No-code

Flux (Flow)

  1. Déclencheur
  2. Tâche récurrente
  3. Écran

Apex et LWC

Rapide à créer

Supporte mal la charge

Vite complexe

Environnement de développement

Console du développeur

Directement sur le site de notre organisation Salesforce

Peu ergonomique

Pas plus avancé qu'un éditeur de texte basique

Salesforce DX

(Salesforce CLI)

Packaging et déploiement d'application

Récupération des méta-données en local

Décomposition en petits projets (microservices)

Open source et extensible

Salesforce DX

(Salesforce CLI)

Packaging et déploiement d'application

Récupération des méta-données en local

MAIS

Décomposition en petits projets (microservices)

Open source et extensible

Packaging dans le cloud. Long et frustrant

Automatisations à faire soi même

Visual Studio Code

Intégré avec SFDX

Coloration syntaxique

IDE officiel pour

Débogage facilité

Pas de détection d'erreurs hors-ligne

Refactoring inexistant

Très peu d'outils d'analyse

Formating avec

Bien plus pratique que la console du développeur

Illuminated Cloud 2

(Non officiel)

Tous les points positifs de VSCode

Analyse du code

Refactoring

Autocomplétion

Détection d'erreurs

...

Extension pour IntelliJ

Synthèse

  1. Quels avantages et désavantages offrent les outils de Salesforce ?
     
  2. Comment Salesforce se compare-t’il aux outils existants ?
     
  3. Quelle est la dimension minimale d'un projet pour qu’il soit intéressant d’utiliser Salesforce ?
     
  4. Quels types de projet sont les plus adaptés à Salesforce, et lesquels le sont le moins ?

Quels avantages et désavantages offrent les outils de Salesforce ?

Infrastructure

Résilience

Maintenance

Quels avantages et désavantages offrent les outils de Salesforce ?

Infrastructure

Résilience

Maintenance

Négligeables dans l'ensemble

Comment Salesforce se compare-t'il aux outils existants ?

Classé #1 pour les applications CRM*

Ensemble cohérent d'outils et d'applications

*based on IDC 2021 Revenue Market Share Worldwide

Apex <=> Java

BDD <=> PostgreSQL

LWC <=> React

Heroku <=> AWS Elastic

SFDX <=> Maven

Quelle est la dimension minimale d'un projet pour qu’il soit intéressant d’utiliser Salesforce ?

Petits projets

Coût de mise en place

Coût d'apprentissage

"Overkill"

Quelle dimension minimale du projet pour qu’il devienne intéressant d’utiliser Salesforce ?

Petits projets

Coût de mise en place

Coût d'apprentissage

Moyens ou grands projets

(ou petits projets, si il y a déjà une organisation en place)

Pas de taille maximale

Architecture qui supporte le passage à l'échelle

"Overkill"

Coûts compensés

Quels types de projet sont les plus adaptés à Salesforce, et lesquels le sont le moins ?

Conclusion

Time to Market court

Toute la stack déjà présente et intégrée

Adapté à la plupart des applications web

Permet de se concentrer sur l'ajout de valeur

Crédits des illustrations

illustrationkit.com

khushmeen.com

Merci de votre écoute !

Soutenance Mémoire Alternance 2022

By Tristan Coignion

Soutenance Mémoire Alternance 2022

  • 44