Installer un Service Broker

Les applications K2 utilisent des smartobjects qui regroupent des données métier de sources diverses et variées (SQL, SAP, Sharepoint, Système de fichiers etc.). Tous les smartobjects ont une structure et une utilisation identiques (Propriétés, Méthodes, Paramètres de méthode).

Chaque smartobject est lié à un service broker (a.k.a connecteur ou broker) qui fera le lien entre le(s) smartobject(s) lié(s) et la source de données.

Créer un service broker demande des connaissances en C# et sur les API K2, cet article ne va pas traiter de la création de ceux-ci. D’autant que la communauté des développeurs / utilisateurs de K2 possède déjà une longue liste de Services Broker en tout genre (en plus de ceux déjà installés par défaut dans K2) qui devrait répondre à la grande majorité des besoins.

Nous allons donc, dans la suite de ce billet, résumer les différentes étapes pour installer et utiliser un nouveau service broker.

L’installation d’un service broker doit se faire manuellement sur chaque environnement où il sera utilisé.

Déploiement du broker

Une fois le(s) fichier(s) (au moins une .dll) du service broker récupéré(s) il faut les copier dans un dossier spécifique sur le serveur.

  1. Placer le(s) fichier(s) DLL dans le dossier ServiceBroker du répertoire d’installation de K2 (par défaut C:\Program Files (x86)\K2 blackpearl\ServiceBroker)
    • Important, lors de la mise à jour d’un service broker, le fichier DLL à remplacer va être bloqué par le système d’exploitation (et donc non remplaçable). Il faut alors arrêter le service K2 blackpearl pour faire la manipulation.
  2. Utiliser l’outil SmartObject Service Tester, disponible dans le répertoire bin de K2 (par défaut : C:\Program Files (x86)\K2 blackpearl\Bin\SmartObject Service Tester.exe)
  3. Sélectionner Register ServiceType afin de pouvoir choisir le broker à installer, comme sur la copie d’écran ci-dessous :Register a Service Type
    • Une fois la bonne DLL sélectionnée, il suffit de remplir les champs.
      • System Name : vous pouvez le laisser tel quel ou le changer (du moment qu’il n’y a ni caractères spéciaux ni espace).
      • Display Name : le nom qui apparaîtra dans les outils de conception (caractères spéciaux autorisés).
      • Description : une description parlante de ce à quoi sert ce connecteur.
      • Guid : à laisser tel quel lors de l’installation originale. Conserver cet ID et le réutiliser lors du déploiement du broker sur vos autres environnements).
    • Après avoir appuyé sur Add une nouvelle ligne apparaît dans le ServiceObject Explorer. Le Service Type a été créé (référencé au niveau du serveur K2) et donc le “connecteur” devient utilisable.

Instanciation du broker

A présent, nous allons enregistrer une instance pour ce connecteur. Pour certains connecteurs, il est possible d’enregistrer autant d’instances que souhaité (par exemple, sur le service broker SQL Server ou Oracle, on créera une instance par base à laquelle on souhaite se connecter).

  1. Donc sur ce Service Type : clic-droit > Register ServiceInstance
  2. Register a Service InstanceRemplir les champs :
    • Authentication mode : le compte d’exécution du broker (le compte qui va donc dialoguer avec la source de données). Le choix sera dépendant de la façon dont on souhaite se connecter à la source de données et des permissions y afférentes. Les choix possibles sont :
      • Service Account : le compte de service K2.
      • Impersonate : le compte de la personne qui fait appel au connecteur (l’utilisateur connecté à l’application ou le compte de service K2 lorsque l’appel est fait depuis une instance de workflow).
      • SSO : compte, mot de passe et provider configurables.
      • Static : permet de configurer en dur un compte et son mot de passe.
      • OAuth : utilisation du protocole OAuth.
      •  tous les modes d’authentification ne sont pas forcément implémentés dans les servicebrokers que vous téléchargerez sur K2 community.
    • Service Keys : les paramètres de configuration utilisés par le service broker, ils seront différents d’un broker à un autre. C’est ce qui permettra de définir la chaîne de connexion à une base de données, l’URL d’un webservice, le nom d’un serveur etc.
  3. Cliquer ensuite sur Next (la configuration pourra être modifiée sans problème par la suite si besoin).
  4. Renseigner le System Name et Display Name dans le pop-up qui apparaît (mêmes contraintes que précédemment, il s’agit cette fois-ci du nom de l’instance du broker). Puis appuyer sur Add.Add a Service Instance
  5. Le Service Type (ici : K2Field.WorkflowManagement.WorkflowManagement) contient désormais une instance (ici : K2Field.WorkflowManagement), qui contient lui-même l’ensemble des méthodes (ici : les 4 « xxx management ») gérées par le connecteur.Service Results

Exposer le broker via des smartobjects

Une fois le broker instancié, on va pouvoir créer des smartobjects qui l’utilise. Cela peut être fait depuis les outils de modélisation, mais pour les plus fainéants d’entre vous, il est également possible de demander au SmartObject Service Tester de nous créer ces smartobjects.

  1. Chacune des méthodes peut donc générer un Smartobject qui permettra d’utiliser la connexion à la source de données visée : clic-droit sur la méthode > Create Smartobject. Ensuite choisir nom et catégorie de stockage, puis le smartobject sera dès lors utilisable dans vos applications.
  2. Vous pouvez également tester le(s) Smartobject(s) générés via le Smartobject Service Tester en dépliant la partie SmartObject Explorer où vous pourrez retrouver le smartobject que vous venez de créer.Smartobject Results
  3. Cette section permet également de connaitre le nom du Service Instance / Service Broker dont provient chaque Smartobject en dépliant l’arborescence des méthodes du Smartobject (certains smartobjects peuvent être paramétrés pour que leurs méthodes fassent appel à plusieurs brokers : ce qu’on appelle des smartobjects composites).

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

Romain

Consultant au pôle expertise application de K2. Bon développement !!

One thought to “Installer un Service Broker”

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.