Le connecteur K2 pour SalesForce

Cet article fait partie d’une série d’articles détaillés sur les connecteurs K2. Vous pouvez retrouver des liens vers les autres articles en fin de billet.

Parmi les connecteurs standards K2, on retrouve le connecteur pour SalesForce (dans le vocabulaire K2, on parlera de service broker K2), solution de CRM en ligne mondialement connue et reconnue.

Logo Article

Ce connecteur est un connecteur dynamique (comme celui de SQL Server), c’est-à-dire que lors de son instanciation, K2 va aller découvrir la liste des entités du CRM et créer les méthodes d’accès associées ; lorsqu’une mise à jour de la structure de vos entités SalesForce est réalisée, il faudra mettre à jour le WSDL associé et rafraîchir l’instance du service broker K2 afin d’y faire refléter les modifications.

Nous allons donc faire un petit tour d’horizon des fonctionnalités attachées à ce connecteur et aborder les éléments de configuration, mais voyons dans un 1er temps quel peut-être son usage.

Usage

Le service broker SalesForce a principalement 2 usages :

  1. Permettre d’utiliser, dans ses applications K2, des données provenant d’entités SalesForce déjà existantes.
  2. Proposer l’ensemble des fonctionnalités K2 (formulaires, smartobjects et workflows) directement dans l’interface SalesForce, sans code. Un article sera dédié à cet usage.

Pré-requis

Bien évidemment, il va vous falloir un tenant SalesForce pour utiliser ce connecteur. Si vous n’êtes pas client SalesForce mais que vous souhaitez quand même tester ce service broker, vous pouvez (gratuitement), vous créer un compte développeur sur le site de SalesForce.

Une fois votre compte (et donc tenant) créé, vous allez avoir besoin du WSDL de votre tenant et de votre jeton de sécurité :

  1. Pour récupérer le WSDL :
    1. Menu configuration > Elaborer > Développer > API > Télécharger le WSDL…
    2. Récupérez le WSDL enterprise en local (clic-droit “enregistrer le lien sous…”, plutôt que de faire un copier-coller du contenu de WSDL chargé dans votre navigateur) sur votre serveur K2 :

      Récupérer le WSDL enterprise de son tenant SalesForce
      Récupérer le WSDL enterprise de son tenant SalesForce
  2. Pour récupérer votre jeton de sécurité :
    1. NB : le jeton de sécurité est spécifique à l’utilisateur et il doit être renouvelé à chaque fois que l’utilisateur change de mot de passe. Il est donc préférable de faire cette manipulation là avec un utilisateur Salesforce dont le mot de passe n’expire jamais.
    2. Menu Profil > Mes paramètres > Personnel > Réinitialiser mon jeton de sécurité.
    3. Un mail vous est alors envoyé sur votre adresse de contact, il contient votre jeton de sécurité.

      Récupérer le jeton de sécurité pour s'intégrer avec son tenant SalesForce
      Récupérer le jeton de sécurité pour s’intégrer avec son tenant SalesForce

Une fois les éléments SalesForce disponibles, il faudra également vérifier la présence (et le cas échéant l’installer) du SDK du framework .net 4.0.

Configuration

La configuration des intégrations SalesForce se réalise depuis la broker management console de K2, outil aujourd’hui peu connu qui ne sert plus qu’à référencer ses intégrations SalesForce. Cette console est disponible dans l’arborescence K2, par défaut c:\Program Files (x86)\K2 blackpearl\ServiceBroker\BrokerManagement.exe.

Accéder à la broker management console de K2
Accéder à la broker management console de K2
  1. Cliquez sur SalesForce Instance Generator.
  2. Remplir les champs :
    1. WSDL file path and name : avec l’adresse locale du fichier WSDL téléchargé précédemment.
    2. UserName : l’adresse mail du compte de votre tenant.
    3. Password : attention, petite subtilité ici, il s’agit du jeton de sécurité récupéré dans les pré-requis précédé du mot de passe de votre compte (soit “xxxyyy” où xxx est le mot de passe de votre compte et yyy le jeton de sécurité).
    4. Instance Destination Path : le chemin d’accès vers un répertoire local qui recevra les fichiers dll et xml générés automatiquement et utilisés par l’instance du service broker K2. Ce chemin ne doit contenir ni espaces ni caractères spéciaux.
    5. The Instance Name : un nom unique pour l’instance qui va être créée (sans espace).
    6. Cliquez ensuite sur Generate, et attendre… longtemps (plusieurs minutes). K2 découvre alors la structure du tenant SalesForce puis génère l’ensemble des fichiers nécessaires à K2.
    7. Vous obtenez alors le message suivant, cliquez sur OK.

      Utilisation du SalesForce Instance Generator
      Utilisation du SalesForce Instance Generator
  3. A la question : “Would you like to register this intance withe the broker store?”, répondez OUI. Une nouvelle fenêtre permettant de configurer le service apparaît : renseignez Username (comme en 2.b) et Password (comme en 2.c) et cliquez sur le bouton Save

    Enregistrement dans le broker Store
    Enregistrement dans le broker Store
  4. Une nouvelle fenêtre apparaît permettant de configurer l’instance du service broker K2, vous pouvez alors éventuellement modifier les différents champs présents :

    Paramétrage du service instance
    Paramétrage du service instance
  5. Dernière étape, mettre en cache les informations de connexion de façon à ne pas être prompté à chaque appel au broker. Sur la Broker Management Console, cliquez sur Cache SalesForce Credentials. Renseignez Username et Password conformément aux étapes précédentes 2-b et 2-c. Cliquez sur Save, attendre le message de confirmation puis cliquer sur Close.

    Mettre en cache les crédentiels SalesForce
    Mettre en cache les crédentiels SalesForce

Fonctionnalités

Lors de l’instanciation du broker, K2 va exposer sous forme de service object l’ensemble des entités et exposer les méthodes d’accès à ces objets  :

  1. Les méthodes CRUD sont exposées dès lors que l’entité dispose d’une clé.
  2. Une méthode de type liste est toujours exposée et des filtres peuvent être mis en place en s’appuyant sur chacune des propriétés.

Sur la copie d’écran suivante, on peut voir une partie des entités découvertes par le broker K2, et pour l’entité Compte, les méthodes exposées :

Exemple de méthodes SalesForce exposées
Exemple de méthodes SalesForce exposées

Il est donc possible de créer les smartobjects correspondant aux entités SalesForce qui vous intéressent et utiliser le smartobject event lorsque vous êtes dans la modélisation d’un processus ou l’action de règle Execute a SmartObject method dans la configuration d’un formulaire. Dans le cas où vous souhaiteriez accéder à ces objets par du développement K2, vous pouvez y accéder via les API.net, les services WCF ou les services REST de K2.

Utilisation du connecteur K2 pour SalesForce dans un processus
Utilisation du connecteur K2 pour SalesForce dans un processus
Utilisation du connecteur K2 pour SalesForce dans un formulaire
Utilisation du connecteur K2 pour SalesForce dans un formulaire

N’hésitez pas à utiliser les commentaires si vous avez des questions.

Vous trouverez également des informations relatives à la configuration et l’utilisation du connecteur SalesForce dans la documentation K2.

Autres billets de la série sur les connecteurs :

Happy K2ing !

jean

Directeur technique de K2 France depuis 2006 et passionné par les technologies, je travaille dans le monde du BPM et des applications métier depuis… que je travaille :). Vous pouvez également me suivre sur twitter, linkedin.

7 thoughts to “Le connecteur K2 pour SalesForce”

  1. Bonjour.
    Merci pour ce post très intéressant. j’ai tenté la manipulation, mais dans la console BrokerManagement, lorsque je clique sur générer, j’ai immédiatement le message suivant : the system cannot find the specified file.
    Avez vous une idée d’où cela peut provenir ?
    Olivier

    1. Bonjour Olivier,

      Ceci provient surement du fait que soit le SDK du framework.net 4 n’est pas installé, soit la clé de registre [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]-SDKInstallRootv4.0 ne pointe pas vers le bon répertoire (en général : C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\).

      Pouvez-vous vérifier ces points ?
      Cordialement,
      Jean

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *