Cet article porte sur la deuxième journée de l'EA User Group Londres 2018 (la journée de formations est disponible ici) avec la possibilité d'assister à 6 présentations parmi les choix suivants :
Cet article partage un retour pour les présentations suivantes :
- Keynote sur la nouvelle version Enterprise Architect 14 par Peter Lieber.
- MModel Driven Enterprise Knowledge, plateforme GMOD de Gemalto par David Faus.
- Retour d'expérience sur l'implémentation de scripts avec l'API EA (titre : Extending EA with custom scripts to cater for specific needs and user requests).
Keynote : Sparx Enterprise Architect 14
La keynote était l'opportunité de découvrir les nouvelles fonctionnalités disponibles avec Enterprise Architect 14.
Checklist
La toolbox common propose un nouvel artefact Checklist.
Des éléments peuvent être ajoutés dans cette liste avec un état (todo/done).
Résultat :
Plusieurs options d'affichage sont disponibles :
Extension EAPX
L'extension de fichier EAPX est disponible en alternative aux fichiers EAP (projet EA local) pour indiquer explicitement que le moteur de base de données utilisé est Jet4 (un EAP peut utiliser le moteur de BD Jet standard ou la version 4). A noter que Jet4 propose des améliorations par rapport au moteur Jet par défaut.
Options Cloud
Dans les options du projet, un nouvel onglet Cloud est disponible à partir du menu CONFIGURE > Options (les options Data Cache sont disponibles sous EA 13.5 via l'onglet General).
L'activation de l'option Data Cache permet de générer une image de chaque diagramme dans le projet EA après une sauvegarde. Ces images peuvent être utilisées par des solutions tierces (ex : Web) au travers de la passerelle Pro Cloud Server de SparxSystems (cf. détails de la première journée de l'EAUG). Une option Batch permet de créer les images pour l'ensemble des diagrammes du projet, typiquement lors de la migration d'un projet existant depuis une version antérieure.
Perspectives et assistant de création
Les perspectives EA 14 permettent de désactiver les notations et langages qui ne sont pas pertinents pour l'utilisation et contexte identifiés. Par exemple la perspective Systems Engineering\SysML perspective peut être activée afin d'accéder uniquement aux éléments et diagrammes SysML 1.5, désactivant UML, BPMN, ArchiMate, et autres Technologies MDG. Des perspectives personnalisées peuvent être définies avec une sélection de notations, par exemple UML et BPMN2, ou un MDG personnalisé pour le projet. Ces perspectives sont très utiles pour restreindre facilement les fonctionnalités EA au contexte d'utilisation (actuellement ce résultat est obtenu par des modifications manuelles dans l'interface EA, ou un déploiement par la DSI de fichiers XML ou bases de registres à installer).
La fonction Model Wizard a été complètement revue en v14. Pour rappel cette fonction permet d'instancier des structures de modèles comme présenté ci-dessous avec EA 13.5.
Avec Enterprise Architect 14 , le Model Wizard s'ouvre dans une vue, à la place d'une fenêtre de dialogue, avec une nouvelle liste de model patterns. Ces patterns sont catégorisés par perspective et notation, par exemple Business et BPMN, Systems Engineering et SysML, Enterprise Architecture et ArchiMate, etc.
Jusqu'à présent, un pattern consistait à générer une structure complète de modèles avec des exemples et informations visibles après création. A partir de la version 14, la logique veut que l'on sélectionne individuellement les patterns à créer dans le projet. De plus chaque pattern est clairement documenté et illustré afin d'identifier son propos avant de le créer dans le projet.
Les Model Patterns permettent également de créer des diagrammes ou d'accéder au nouvel onglet Process Guidance. Ce module vient compléter l'aide en ligne et permet de créer un diagramme d'activité correspondant à l'un des process applicables, par exemple pour créer et configurer un projet EA en mode collaboratif avec une base de données MySQL :
Propriétés éléments et diagramme
L'interface utilisateur d'Enterprise Architect subit une évolution importante vis à vis de la gestion des propriétés d'éléments ; jusqu'à présent disponibles via des fenêtres de dialogue, ces propriétés sont désormais affichées dans une vue dédiée où l'on retrouve l'élément, ses tagged values, opérations, attributs...
Les propriétés du diagramme sont également accessibles dans une vue (remarque : le GUID du diagramme est désormais affiché).
L'onglet Compartments permet de modifier la visibilité des compartiments des éléments (attributs, opérations, Tags, etc.).
Options MetaModel
Les propriétés du diagramme proposent des nouvelles options MetaModel, en lien avec les MetaModel Views disponibles depuis la version 14. Cette nouvelle fonctionnalité permet de personnaliser et de resteindre les éléments et connecteurs visibles dans la boîte à outils contextuelle (diagram toolbox). Les MetaModel Views sont prédéfinies dans EA et peut être personnalisées via la sélection d'éléments inclus dans EA ou gérés dans un MDG spécifique (stéréotypes).
Sur création d'un diagramme, EA 14 propose le choix parmi une liste de vues pour chaque type de diagramme. Voici un exemple avec le diagramme de classes UML :
Voici des exemples de toolbox pour deux vues du diagramme de classes UML.
Le choix de la vue peut être modifié dans la propriété Applied Metamodel.
La propriété Filter to Metamodel permet de griser les éléments en dehors du metamodel :
La nouvelle option Display Lock Element Status a pour effet d'afficher sur le diagramme les éléments verrouillés.
Smart placement
Enterprise Architect intègre une fonction smart placement pour visualiser dynamiquement l'alignement des éléments sur le diagramme.
Model Driven Enterprise Knowledge
Remarque : le résumé suivant a été rédigé par son auteur, David Faus (Gemalto).
L’objectif de la plateforme GMOD (Gemalto MODeling) est de construire des référentiels de connaissance basés sur les modèles, et ceci pour plusieurs services de Gemalto.
Le diagramme suivant présente notre stratégie issue des théories de gestion de la connaissance relatives au modèle de Nonanaka et Takeuchi :
La plateforme de connaissance basée sur les modèles GMOD (Gemalto MODeling) a été réalisée avec l’outil Enterprise Architect.
Le déploiement de “GMOD”, notre propre adaptation de l’approche Nonaka et Takeuchi, a été effectué au travers des personnalisations ou activités suivantes :
- Technologie MDG pour la méthode "UC" sur laquelle j’ai travaillé durant ces 25 dernières années. Cette méthode est plutôt innovante car elle est orientée client et s’appuie sur plusieurs domaines (méthodes de spécification d’interface graphique utilisateur, analyse fonctionnelle, programmation orientée-objet); cela signifie que chacun doit être capable de comprendre le modèle UC après seulement quelques minutes d’explications.
- L’architecture client/serveur EA permet à tous les membres de l’équipe de réaliser des modèles UC en parallèle. Cela est nécessaire pour établir la base de connaissances attendue. La première étape réalisée avec succès concerne la publication sous GMOD des processus métiers officiels de Gemalto (GBPR : Gemalto Business Process Repository).
- La réalisation d’une application Java utilisant l’API EA : le “SPARX Companion Tool” de Gemalto. Cet outil fournit des fonctions complémentaires à l’outil Sparx EA : rapports, contrôles d’intégrité du modèle UC, déploiement des sites web en un clic...
- La plateforme Gemalto « FAST & Easy », basée sur le concept de gestion patrimoniale de la connaissance, est utilisée pour indexer les diagrammes UC générés via GMOD. Ce résultat a été possible grâce au “SPARX Companion Tool” qui génère des URLs statiques pour chaque diagramme.
En conclusion, nous sommes désormais en mesure d’interroger les informations et connaissances via le référentiel de modèles par la saisie de recherches similaire au moteur Google. Notre prochain objectif est de nous concentrer sur les fonctions de support et de maintenance afin de fournir une base de plusieurs centaines de use case compréhensibles et utiles à n’importe quel niveau et entité de l’entreprise.
Personnaliser EA avec des scripts personnalisés pour répondre aux demandes spécifiques
J'ai eu le plaisir d'avoir été pour une troisième fois orateur à l'EAUG. Le sujet proposé concerne un retour d'expérience sur la réalisation de scripts avec EA durant ces dernières années pour plusieurs projets et industries. Les scripts permettent de réaliser de nouvelles fonctions pour répondre aux demandes d'un projet et des utilisateurs.
Le contenu de la présentation est accessible depuis SlideShare (hors démonstration).
Résumé :
- De nombreux aspects de l'outil de modélisation Enterprise Architect peuvent être personnalisés :
- structure des modèles,
- modules de recherche,
- interface utilisateur (menus),
- notation et langage (stéréotypes, profils UML)
- création de fonctions spécifiques au travers de l'API EA avec des scripts, add-ins, macros Excel, etc.
- Malgré la richesse en fonctionnalités apportée par EA, la réalisation de fonctions complémentaires reste souvent nécessaire :
- Le choix de réaliser des scripts a été motivé par la nécessité de déployer régulièrement de nouvelles versions pour un large groupe d'utilisateurs.
- Remarque : toutes ces alternatives utilisent l'API "interop.EA" pour manipuler les modèles. La nouvelle interface RESTful du Pro Cloud Server de Sparx est disponible pour des solutions tierces et Web (hors scope de cette présentation).
- Après avoir abordé les différents groupes de scripts EA (project browser, diagram, normal), le besoin de définir des conventions de nommage pour faciliter l'utilisation des scripts a été présenté.
- Le mode nominal pour utiliser l'interface programmable (API) EA est d'appeler les méthodes de son "Object Model". Par exemple l'appel suivant avec VBScript permet d'obtenir le package d'un élément :
- set parentPkg = Repository.GetPackageByID(curElement.PackageID).
- En alternative les requêtes SQL peuvent être utilisées …
- pour exécuter des requêtes complexes,
- pour sélectionner des éléments spécifiques à la place de boucles consommatrices de temps,
- pour traiter des problèmes de performance (la mise à jour de plus de 1000 attributs par des appels de méthodes nécessitait 2 heures; la même opération avec des requêtes SQL a été réalisée en 4 minutes!).
- Les requêtes SQL peuvent être utilisées sur l'une des méthodes de l'objet Repository :
- Repository.GetElementSet(query,2) : renvoie une collection d'éléments EA (limité aux requêtes SELECT avec l'identifiant des éléments "Object_ID").
- Repository.SQLQuery(query) : renvoie une structure XML correspondant à la requête (limité aux requêtes SELECT).
- Repository.Execute(query) : exécute une requête (UPDATE/DELETE/INSERT).
- Important : les requêtes UPDATE/DELETE/INSERT doivent être utilisées avec prudence pour ne pas supprimer des informations par erreur.
- Des aides sur l'utilisation ou la maintenance des scripts ont été partagées en commençant par le processus de publication illustré ci-dessous, exécuté par le développeur.
- Pour les utilisateurs, les aides suivantes ont été mises en place : sauvegarde du dernier répertoire sélectionné pour les fichiers lus ou générés, filtres sur les scripts, aide utilisateur.
- Il est possible de déclencher automatiquement des scripts selon des evenements gérés par Enterprise Architect (pre ou post new Connector, new Element...)
- L'add-in gratuit EA-Matic de Geert Bellekens permet de configurer ces evenements avec des scripts.
- Après avoir partagé quelques astuces pour développer des scripts avec EA, j'ai terminé la présentation par une démonstration de scripts personnalisés pour divers clients ou projets.
Pour toute information ou question liée à ce sujet, contactez moi par mail : guillaume [at] umlchannel.com.