Note technique W4 Studio Développement d'un plugin Cette note technique décrit l'utilisation de l'api bpmtoolkit de W4 pour le développement d'un plugin exemple. Elle s'adresse aux concepteurs de procédures W4 Studio devant interagir avec des applications tierces. Versions de W4 Studio concernées : 6.5 et ultérieures. Sommaire 1 Vue d'ensemble 3 2 Conditions préalables 4 3 Utilisation de l'api bpmtoolkit 4 4 Exemple 5 5 Implémentation dans W4 Studio 6 Référence : W4TN_PLUGIN_001_FR
Note technique W4 Studio Développement d'un plugin 2007 W4. Tous droits réservés. L'acquisition du présent document confère un droit d'utilisation incessible, non exclusif et personnel et non un droit de propriété. L'utilisation, la copie, la reproduction et la distribution du présent document sont permises à condition : 1. que la mention de droits d'auteur ci-dessus figure sur toutes les copies et que cette mention de droits d'auteur et la présente mention d'autorisation apparaissent conjointement ; 2. que le présent document ne soit utilisé qu'à des fins d'information et non commerciales ; 3. que le présent document ne soit modifié de quelque manière que ce soit. Tous les produits et marques cités sont la propriété de leurs titulaires respectifs. Les informations contenues dans ce document pourront faire l objet de modifications sans préavis.
1 Vue d'ensemble Plugins et API bpmtoolkit Un plugin est un mécanisme d'extension de l'interface de W4 Studio qui améliore l'interaction entre W4 BPM Suite et une application tierce. L'API bpmtoolkit est l'api fournie par W4 pour le développement de la classe Java qui constituera le plugin ; elle expose les différentes classes de W4 BPM Suite pouvant interagir avec le système cible. Le résultat du développement du plugin est une interface graphique indépendante de W4 Studio, bien qu'appelée à partir de la modélisation dans W4 Studio. Cette extension de l'interface de W4 Studio permet au concepteur de la procédure d'effectuer une connexion au système cible en phase de modélisation dans le but de configurer l'étape connecteur correspondante. Plugins et connecteurs Alors que les connecteurs rendent possible l'interaction exclusivement à l'exécution, les plugins permettent d'interagir avec les systèmes cibles en amont, à la conception de la procédure dans W4 Studio. En introspectant le système cible, le plugin présente au concepteur les données réelles et actuelles de ce système. Ce mécanisme présente un avantage majeur : le concepteur a accès aux paramètres disponibles, ce qui lui garantit la validité des données renseignées dans les étapes plugins ; il s'assure ainsi que les paramètres qu'il a spécifiés seront compréhensibles à l'exécution par la système cible. 3 NOTE TECHNIQUE Vue d'ensemble
2 Conditions préalables Avant d'exploiter ce document, veuillez vérifier que vous remplissez les conditions suivantes. 2.1 Configuration logicielle W4 BPM Suite Vous devez disposer sur votre poste de : W4 Studio, version 6.X ou ultérieure ; W4 Engine, version 6.X ou ultérieure. Environnement de développement Vous devez disposer sur votre poste d'un environnement de développement Java, par exemple : Eclipse ; NetBeans. Dans votre environnement de développement, référencez au niveau de votre projet plugin la bibliothèque bpmtoolkit.jar, disponible par défaut sous : répertoire lib du répertoire d'installation de W4 Studio ; répertoire lib du CD-ROM d'installation de W4 Studio. 2.2 Compétences techniques Le développement de plugins W4 nécessite : de maîtriser les concepts avancés du langage Java. [ ] W4 BPM Suite NOTE TECHNIQUE 4 Développement d'un plugin
3 Utilisation de l'api bpmtoolkit >> Présentation du lien entre fichier XML étape connecteur et l API bpmtoolkit 3.1 Organisation des classes >> Diagramme de classes pas disponible (SCH) >> Interface «point d entrée» >> Interface et méthode à implémenter. Ex [ ] Attention! >> COMPORTEMENT DU COMMIT : Réutilisation des activités, création automatique et suppression. >> Variables de Procédure, Mapping et Paramètres d activité >> Paramètres Etendus >> Modif. fichier XML et méthode mis à disposition. ch 4? Lorsque le connecteur est signalé comme étant extensible ***, le concepteur va pouvoir le réutiliser en ajoutant à sa signature à la volée de nouvelles variables, désignées paramètres étendus. Une nouvelle activité sera générée sur la base de ces nouveaux paramètres. Afin de garantir l'unicité du nom de l'activité, son nom sera suffixé par un timestamp. But : externaliser les représentations graphiques de connecteurs pour les réutiliser? 5 NOTE TECHNIQUE Utilisation de l'api bpmtoolkit
4 Implémentation dans W4 Studio / Fichier de description du plugin Pour être utilisé dans la modélisation d'une procédure, tout plugin doit être rendu disponible dans W4 Studio via un fichier descriptif au format XML. Chaque fichier descriptif doit être placé dans le répertoire <W4Studio_Home>\lib\connector dans lequel se trouve également un fichier schéma XML : le fichier connector.xsd. Le fichier descriptif doit être valide par rapport au fichier schéma XML connector.xsd. Le fichier schéma XML possède la structure suivante : Les sections ci-dessous présentent les règles syntaxiques à respecter pour la création de tout fichier de description d'un plugin. Signalons que W4 Studio refuse de charger tout fichier descriptif non valide. Pour construire le fichier descriptif, W4 recommande l'utilisation de tout outil XML prenant en charge la validation par schéma XML. Élément racine L'élément racine se nomme invariablement CONNECTOR. Il possède deux attributs. L'attribut version correspond au numéro de version du connecteur. L'attribut versionmodel correspond au numéro de version du schéma de validation. Attention! Les attributs xmlns:xsi et xsi:nonamespaceschemalocation ne doivent pas être modifiés. W4 BPM Suite NOTE TECHNIQUE 6 Développement d'un plugin
Élément NAME L'élément NAME définit, via son attribut id, le nom du connecteur. Attention! Dans un même fichier de description, chaque attribut id doit être unique. Les valeurs des attributs id peuvent comporter tout caractère de A à Z (minuscules et majuscules acceptées, caractères accentués proscrits), de 1 à 9 et le caractère souligné (_). Le premier caractère d'un attribut id ne doit pas être un caractère numérique. Les sous-éléments label, via leurs attributs lang, permettent de définir le nom du connecteur tel qu'il doit s'afficher en fonction de la langue de l'utilisateur. Les valeurs des attributs lang sont une concaténation de 2 caractères, de a à z, en minuscules. Tout connecteur possède un identifiant unique, formé par la concaténation des valeurs de l'attribut id de l'élément Name et de l'attribut version de l'élément racine. Attention! S'il existe plusieurs fichiers de définition de connecteurs de même identifiant (id et version), le fichier chargé sera le premier de ces fichiers détecté par W4 Studio. Élément DESCRIPTION Les sous-éléments label de l'élément DESCRIPTION, via leurs attributs lang, permettent de définir la description du connecteur telle qu'elle doit s'afficher en fonction de la langue de l'utilisateur. Élément ICON L'élément ICON permet de renseigner l'url de l'image du connecteur. Cette image s'affichera sur la fenêtre de modélisation de W4 Studio lorsque le connecteur considéré sera sélectionné comme étape de la procédure. Attention! Dans l'attribut path, spécifiez le chemin relatif de l'image, par rapport au répertoire d'installation de W4 Studio, suivi du nom de l'image. Si W4 Studio ne parvient pas à localiser l'image d'un connecteur, celui-ci n'est pas chargé. Élément VARIABLES L'élément VARIABLES permet de renseigner les variables manipulées lors de l'exécution de la tâche par le connecteur. Il peut contenir 0, 1 ou plusieurs variables (en quantité illimitée). Les attributs type, array et mode permettent de spécifier respectivement le type de la variable (entier, chaîne, date ou document), l'arité de la variable (true pour une arité multi, false pour une arité mono) et le mode de la variable (entrée, sortie, entrée/sortie). À chaque variable correspond un sous-élément NAME dont l'attribut id permet de renseigner le nom de la variable. Les sous-éléments label, via leurs attributs lang, permettent de définir le nom de chaque variable tel qu'il doit s'afficher en fonction de la langue de l'utilisateur. 7 NOTE TECHNIQUE Implémentation dans W4 Studio / Fichier de description du plugin
Élément PROPERTY L'élément PROPERTY permet de renseigner les paramètres de configuration du connecteur (pour le connecteur Mail par exemple, cet élément sert à renseigner le protocole à utiliser). Il peut contenir 0, 1 ou plusieurs propriétés (en quantité illimitée). Chaque propriété possède un sous-élément NAME dont l'attribut id permet de renseigner le nom de la propriété. Les sous-éléments label, via leurs attributs lang, permettent de définir le nom de chaque propriété telle qu'elle doit s'afficher en fonction de la langue de l'utilisateur. Outre le sous-élément NAME, chaque propriété peut comporter soit un sous-élément SUPPORTEDVALUES soit un sous-élément DEFAULTVALUE. Le sous-élément SUPPORTEDVALUES permet de prédéfinir une liste de valeurs possibles pour la propriété. Exemple d'élément PROPERTY pour prédéfinir la liste des protocoles à utiliser pour l'envoi de courrier électronique : <PROPERTY type="string" array="false"> <NAME id="protocol"> <LABEL lang="fr">protocole d'envoi de mail</label> <LABEL lang="en">email sending protocol</label> </NAME> <SUPPORTEDVALUES indexdefaultvalue="0"> <VALUE> <ITEM>SMTP</ITEM> </VALUE> <VALUE> <ITEM>MAPI</ITEM> </VALUE> </SUPPORTEDVALUES> </PROPERTY> Le sous-élément DEFAULTVALUE permet de prédéfinir la valeur par défaut de la propriété. W4 BPM Suite NOTE TECHNIQUE 8 Développement d'un plugin
5 Exemple Connecteur avec fonctionnel simple : Copie de variable de dossier. Copie d écran du résultat attendu pour le plugin 5.1 Développement des classes [ ] Exemple d IDE utilisable : Netbeans : Description de l organisation du projet <<fichier projet final>> Eclipse : Description de l organisation du projet <<fichier projet final>> 5.2 Intégration dans W4 Studio FP nœuds : nouveau champ pour le nom de l'activité FP Association de variables 9 NOTE TECHNIQUE Exemple
Note technique W4 Studio Développement d'un plugin Pour toute remarque ou suggestion concernant ce document, vous pouvez contacter le support technique W4, en précisant la référence W4TN_PLUGIN_001_FR : par le service de traitement des dossiers Supportflow sur MyW4.com, à l adresse suivante : http://support.myw4.com par courrier électronique : support@w4global.com par téléphone : 33 (0) 820 320 762