By Romain Guider on Wednesday, 02 March 2022
Category: Blog

Stéréotypes et génération de diagrammes dans Obeo SmartEA

Chaque nouvelle version de Obeo SmartEA est l’occasion pour nous d’introduire de nouvelles fonctionnalités qui adressent des besoins remontés par les utilisateurs.

Avec la version 6.3, nous avons pris en compte deux demandes importantes exprimées par de nombreux architectes :

Cette nouvelle version de Obeo SmartEA introduit donc deux nouvelles fonctionnalités au module ArchiMate pour répondre à ces demandes, et même au-delà:

Ces fonctionnalités facilitent les déploiements de référentiels à grande échelle en offrant aux équipes d’architectes des outils qui garantissent la conformité du langage utilisé, et permettent le traitement de masse.

Nous illustrons ces deux fonctionnalités dans la suite de ce billet en les mettant en œuvre dans le cadre de la création d’un catalogue de services applicatifs.

Un webinaire est également programmé le 10 mars prochain pour présenter en détail ces deux fonctionnalités.

Extension d’ArchiMate par stéréotypes

La notation ArchiMate est conçue pour pouvoir s’adapter à des situations et des contextes très différents. Elle répond à ce besoin à travers deux caractéristiques :

Ces caractéristiques de ArchiMate répondent au besoin important qu’ont les notations d’architecture d’entreprise de pouvoir s’adapter à un vocabulaire métier pour permettre de fédérer des acteurs autour d’un référentiel commun.

Le revers de la médaille est qu’elles rendent difficile l’utilisation d’un jeu d’attributs cohérent entre les différents éléments du modèle.

Pour répondre à cela, Obeo SmartEA 6.3 offre une nouvelle fonctionnalité de gestion de stéréotypes qui permet deux choses importantes :

Le paramétrage des stéréotypes se fait dans l’éditeur de prismes (qui sert à réaliser le paramétrage fonctionnel de l’outil Obeo SmartEA) :

Dans l’exemple ci-dessus, nous avons défini les stéréotypes Config et VM auxquels nous avons ajouté des attributs permettant de définir systématiquement un responsable et un domaine pour ces deux éléments, ainsi qu’une date de mise à jour pour la configuration, et une adresse IP pour la VM.

Les attributs sont créés automatiquement par Obeo SmartEA au moment de l’application d’un stéréotype, et chaque stéréotype est accompagné d’un masque de saisie :

Cette première capture illustre l’IHM permettant de gérer les stéréotypes associés à un élément.

Cette seconde image ci-dessous montre l’onglet dans la vue propriété qui donne accès au masque de saisie associé à un stéréotype.

Génération de diagrammes

La génération automatique de diagrammes passe par la définition de templates dans l’éditeur de prismes.

Ces templates sont définis par des éléments graphiques (noeuds) qui vont peupler les diagrammes générés, ainsi que par des relations à suivre pour trouver ces éléments. Un template de diagramme définit également l’élément racine auquel il s’applique, à partir duquel tous les autres éléments du diagramme sont calculés (en cascade).

Pour prendre un exemple concret, nous paramétrons un diagramme qui montre chaque application avec ses interfaces :


Ici, nous définissons le nœud racine Root Node comme étant un élément de type Application Component et le nœud Interface comme étant un élément de type Application Interface.

Les diagrammes produits automatiquement à partir de ce template seront composés, chacun, de l’application racine à partir de laquelle la génération est lancée, ainsi que de toutes les interfaces accessibles depuis cette application par une relation de composition :


Concrètement, la génération des diagrammes se fait via un menu contextuel :

Le menu filtre la liste des templates applicables en fonction du type de l’élément sélectionné et de ses stéréotypes. Un utilisateur se voit ainsi toujours proposer des templates qui sont réellement applicables à l’élément sélectionné.

Pour générer les diagrammes correspondant à un template pour l’ensemble des éléments auxquels il s’applique, le menu général offre une entrée pour chaque template permettant de déclencher cette action :

La sélection de cette action aura pour effet de générer les diagrammes Application & Interfaces pour toutes les applications du référentiel.

Application : création d’un catalogue de services applicatifs

Pour illustrer la façon dont ces deux nouvelles fonctionnalités peuvent être utilisées, nous allons prendre comme exemple concret, le besoin d’une DSI qui a opté pour une architecture orientée service et qui offre un ensemble d’API de micro-services utilisables dans divers contextes.

Afin d’être réellement réutilisables ces services doivent être répertoriés, documentés et les informations les concernant doivent être accessibles et à jour. A cette fin, il est désormais possible de créer très facilement un catalogue de ces services, à base de deux diagrammes générés automatiquement :

Structuration du référentiel pour la modélisation du catalogue

Afin de contrôler l’affichage des éléments du catalogue, et pour gérer les catégories de services sans avoir nécessairement à organiser la hiérarchie de dossiers en fonction de ces catégories, il nous faut modéliser le catalogue.

Pour faire cela, un choix naturel consiste à utiliser des éléments de groupement ArchiMate. Il reste à déterminer comment les distinguer des autres groupements. C’est là que la combinaison des stéréotypes et de la génération de diagramme a un intérêt pour ne pas faire apparaître tous les groupements du référentiel : nous créons des stéréotypes spécifiques dans l’éditeur de prisme :


Le premier d’entre eux, Catalogue de services, permet de modéliser le catalogue à proprement parler. Le second permet de modéliser les catégories.

Nous avons assorti ces stéréotypes d’attributs permettant de gérer le cycle de vie du catalogue et ces attributs apparaissent dans les propriétés des éléments concernés :

On voit sur l’image ci-dessus le masque de saisie qui est produit automatiquement pour un stéréotype permettant à l’utilisateur de saisir ses attributs sans passer par la table des propriétés dynamiques.

L’analyse d’impacts suivante montre l’utilisation de ces groupements sur un exemple de modèle :

Production des diagrammes

Le premier diagramme que nous souhaitons générer est un diagramme classique montrant l’environnement immédiat de chaque service :

Nous souhaitons en plus que les données soient colorées en fonction de leur sensibilité :

Le template d’un tel diagramme est le suivant :

On y décline le nœud montrant les données applicatives en fonction de la criticité, ce qui permet de les colorer comme souhaité.

Voici le résultat de la génération sur un service :

On y voit le service cible de la carte dans une couleur qui le distingue des autres éléments. L’application qui implémente le service apparaît dans la couleur ArchiMate standard et les données sont colorées suivant leur sensibilité.

Deux détails d’importance :

Le second diagramme que nous souhaitons générer pour le catalogue montre l’ensemble des services structurés par catégorie, avec la possibilité de naviguer vers les diagrammes correspondants à chaque service :

La particularité de ce diagramme est que les services sont montrés comme des éléments à l’intérieur des groupements. Les templates permettent de désigner l’élément graphique parent qui contient un nœud. Il est ainsi possible de construire automatiquement des cartes capacitaires.

Ici nous avons également inséré, dans le nœud de chaque service, un lien permettant de naviguer vers la carte de service correspondante.

Ainsi à l’aide de ces deux types de diagrammes, il est possible de naviguer dans l'intégralité du catalogue de service.

Mot de la fin

Nous avons choisi d’illustrer la fonctionnalité de génération de diagramme à l’aide d’un catalogue de services applicatifs mais il est évident que les possibilités de cette fonctionnalité s’étendent à l’ensemble des cas d’usage d’un référentiel d’architecture. Que l’on fasse de la cartographie des processus métier, de la gestion de risque technologique, etc., la fonctionnalité de génération de diagramme permet d’afficher les éléments dans leur contexte, de calculer des indicateurs rendus à l’aide de couleurs et de procéder à une génération exhaustive.

Ajoutons que ces fonctionnalités se contentent d’outiller le module ArchiMate pour aider à la production de diagramme. En tant que telles, elles ne réduisent absolument pas la compatibilité avec ArchiMate 3.1 et l’outil reste parfaitement interopérable avec tout autre outil compatible avec cette spécification.

Ces deux fonctionnalités de stéréotype et de génération de diagramme peuvent être testées en téléchargeant la version d’évaluation de Obeo SmartEA.

Vous pouvez également revoir le webinaire que j'ai présenté sur ce sujet:

Related Posts