Modélisation UML & SysML

Expertise et articles Blog sur UML, SysML, et Enterprise Architect de Sparx Systems

english versionTwitterUMLChannel SparxSystems EA YouTube videosLinkedIn
mercredi, 20 octobre 2021 09:36

Aperçu des fonctionnalités Enterprise Architect 16 beta (Sparx Systems)

Écrit par
Évaluer cet article
(2 Votes)

enterprise architect 16 beta preview

Cet article présente un aperçu d'Enterprise Architect 16 beta (build 1600), disponible en téléchargement sur le site de l'éditeur Sparx Systems (www.sparxsystems.com).

Fonctionnalités présentées :

  • Enterprise Architect 64 bits
  • Nouveau format de fichiers pour les projets EA : QEA/QEAx
  • Accès simplifié aux bases de données centralisées avec la connexion native
  • Nouveau format d'échange : XEA
  • Support JavaScript
  • Améliorations de l'interface utilisateur

Enterprise Architect 64 bits

Sparx Systems a publié la première version 64 bits de l'application Enterprise Architect afin d'améliorer les performances et la capacité de traitement de données : traitement d'importants imports/exports XMI, enregistrement ou export de diagrammes, exécution de simulations, etc.
Il est possible d'installer les versions 32 et 64-bits sur un même poste client, respectivement dans les dossiers C:\Program Files (x86)\Sparx Systems\EA et C:\Program Files\Sparx Systems\EA.

Gestion des add-ins/extensions

En démarrant Enterprise Architect 64 bits, j'ai remarqué l'absence des add-ins dans le menu Specialize. La fenêtre "manage add-ins" était vide :

ea manage-addins

En étudiant le problème, j'ai identifié une solution pour mon add-in eaUtils (développé en .Net C#).

  • Etape 1 : générer l'add-in avec la plateforme x86 (32 bits), puis relancer la génération avec la plateforme x64 (64 bits). Chaque fichier DLL est généré dans un dossier séparé et inscrit en COM (32 et 64 bits) pour être visible par EA.
  • Etape 2 : déclarer la version 64 bits de l'add-in dans la base de registre Windows Registry :

Lorsque la version standard (32 bits) d'Enterprise Architect est lancée, elle accède à la base de registre pour charger les add-ins déclarés sous \HKEY_CURRENT_USER\SOFTWARE\Sparx Systems\EAAddins.

Pour la version 64 bits, j'ai créé la clé HKEY_CURRENT_USER\SOFTWARE\Sparx Systems\EAAddins64 et déclaré mon add-in.

sparx addin windows registry EAAddins enterprise architect 16 beta

En ouvrant à nouveau Enterprise Architect 16 64 bits, eaUtils était bien visible.

addins enterprise architect 16 beta

Référentiels de modélisation

Nouveau format de fichiers : QEA et QEAx

Jusqu'à présent, la gestion de fichiers Enterprise Architect en local était liée aux extensions EAP ou EAPx. Ces fichiers sont des bases de données Jet Engine, compatibles avec Ms Access. Enterprise Architect 16 intègre les nouvelles extensions QEA et QEAx, s'appuyant sur SQLite. 

Les fichiers EAPx (Jet Engine v4) peuvent être ouverts avec EA 16 contrairement aux fichiers EAP (Jet Engine v3). Lorsqu'un projet EAP est ouvert avec EA 16, une erreur Access est affichée, suivi de la fenêtre ci-dessous :

qea qeax file enterprise architect 16 beta

L'étape suivante permet de transférer facilement les données dans un nouveau fichier QEAx, ou vers une base de données EA centralisée.

eap to qea project transfer enterprise architect 16 beta

Cette fonction est disponible à partir du menu Settings > Transfer, dans lequel de nouvelles options sont disponibles :

project transfer menu enterprise architect 16 beta

Native Connection : accès simplifié aux bases de données centralisées

L'accès sur un référentiel Enterprise Architect dans une base de données telle que MySQL (ou autre SGBD) consiste à ouvrir l'URL de la passerelle http/https Pro Cloud Server, ou d'utiliser une source ODBC. Dans le deuxième cas (accès ODBC), la configuration suivante doit être mise en place sur chaque poste client :

  • Installer le pilote ODBC pour la base de données utilisée (MySQL, Postgres, ou SQL Server, etc.).
  • Créer une source de données ODBC (DSN) avec la configuration personnalisée, selon l'aide en ligne Enterprise Architect.
  • Ouvrir le projet avec l'option “Server Connection” et sélectionner le DSN.

Native connection est une nouvelle méthode disponible dans Enterprise Architect 16 pour se connecter facilement sur une base de données. En effet les pilotes ODBC sont désormais livrés avec Enterprise Architect et permettent de s'affranchir des installations et de la création d'un DSN ODBC.

Remarques :

  • Les accès "Server Connection" avec une configuration DSN ODBC fonctionnent avec Enterprise Architect 16.
  • Un accès via la passerelle Pro Cloud Server reste l'option la plus simple pour les postes clients.

Comme illustré ci-dessous, la création d'une connexion native consiste à sélectionner le type de base de données (ex : PostgreSQL) et fournir les informations pour se connecter à la base de données EA.

native connection dbms enterprise architect 16 beta

Nouveau format d'échange : XEA

Le format XMI (XML Metadata Interchange) permet d'échanger des modèles EA au travers des fonctions d'import/export. Le format Native XML disponible sous Enterprise Architect 15 a été rajouté en alternative au Project Transfer pour exporter l'intégralité du référentiel au format XML pour chaque table de la base de données EA (compatible avec une connexion via le Pro Cloud Server). Enterprise Architect 16 intègre un nouveau format XEA pour simplifier l'archivage des modèles ou l'export/import de modèles (packages) EA.

Le menu Publish > Export Package propose le nouveau format XEA :

xea native export enterprise architect 16 beta

Le fichier généré avec l'extension XEA est une base de données SQLite dont le contenu correspond au package (branche des modèles) exporté.

xea native sqlite enterprise architect 16 beta

L'export XMI traditionnel implique une conversion BD vers XML ce qui peut entrainer des ralentissements pour l'export de larges modèles. Aussi la solution XEA s'appuyant sur SQLite permet de rester sur une simple extraction de base de données pour réduire le temps d'export.

Scripts : support JavaScript

JavaScript est le nouveau langage recommandé par Sparx Systems pour réaliser des scripts avec Enterprise Architect 16. Les librairies et exemples prédéfinis jusqu'à présent pour VBScript et JScript intègrent désormais JavaScript.

Enterprise Architect utilise le moteur JavaScript Mozilla Spider Monkey. Contrairement à VBScript et JScript, JavaScript a l'avantage d'être orienté objet. Voici un exemple basé sur le script "Logging" de Sparx Systems : les fonctions ont été remplacées et intégrées dans une classe Logger.

const LOGLEVEL_ERROR = 0;
const LOGLEVEL_INFO = 1;
const LOGLEVEL_WARNING = 2;
const LOGLEVEL_DEBUG = 3;
const LOGLEVEL_TRACE = 4;
class Logger {
        constructor(logLevel) {
                this.logLevel = logLevel;
        }
        get Level() {
                return this.logLevel;
        }
        Clear() {
                Repository.ClearOutput("Script");
        }
        LOGError(message) {
                if (this.logLevel >= LOGLEVEL_ERROR) {
                        Session.Output( this.DisplayDate() + " [ERROR]: " + message ); }
        }
        LOGDebug(message) {
                if (this.logLevel >= LOGLEVEL_DEBUG) {
                        Session.Output( this.DisplayDate() + " [DEBUG]: " + message ); }
        }
        LOGInfo(message) {
                if (this.logLevel >= LOGLEVEL_INFO ) {
                        Session.Output( this.DisplayDate() + " [INFO]: " + message ); }
        }
        DisplayDate() {
                var now = new Date();
                var hours = now.getHours();
                if ( hours < 10 )
                        hours = "0" + hours;
                var minutes = now.getMinutes();
                if ( minutes < 10 )
                        minutes = "0" + minutes;
                var seconds = now.getSeconds();
                if ( seconds < 10 )
                        seconds = "0" + seconds;
                var displayDate = now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate();
                displayDate += " " + hours + ":" + minutes + ":" + seconds;
                return displayDate;
        }
}

Voici un exemple pour créer et utiliser l'objet Logger:

var log = new Logger(LOGLEVEL_INFO);
log.Clear();
LOGInfo("test");

La console JavaScript est disponible pour faciliter la réalisation et le test de scripts.

javascript console enterprise architect 16 beta

javascript console enterprise architect 16 beta

Interface utilisateur

Voici une sélection des principales améliorations dans l'IHM d'Enterprise Architect 16 beta.

Quick Access toolbar

La fonction Quick Access toolbar est disponible et permet comme avec de nombreuses applications (Word, Excel...) de créer un accès rapide vers des menus régulièrement utilisés.

  • Un clic droit sur un menu permet de l'ajouter à la liste, par exemple "Package Matrix" dans l'exemple ci-dessous.

quick access toolbar enterprise architect 16 beta

  • Résultat : un nouvel accès rapide est disponible dans la barre d'outils Quick Access.

quick access toolbar enterprise architect 16 beta

  • Il est possible de déplacer cette barre d'outils en dessous du menu des rubans.

quick access toolbar enterprise architect 16 beta

Mise à jour automatique, rafraichissement des diagrammes

Afin d'améliorer l'environnement collaboratif, multi-utilisateurs sur un référentiel centralisé, deux nouvelles options sont disponibles :

1- Auto-Refresh diagram

Cette fonctionnalité permet de collaborer en visualisant et éditant à jour à tour de rôle le même diagramme, par exemple lors d'un atelier avec des participants à distance.

  • Un premier utilisateur active la collaboration sur le diagramme via le menu Collaborate.

auto refresh diagrams enterprise architect 16 beta

  • Une fois activé, le diagramme est verrouillé et ne peut plus être modifié.
  • Un autre utilisateur souhaite modifier le diagramme et demande un verrou exclusif via l'option collaborative Pause & Edit.
  • A chaque fois que cet utilisateur enregistre les modifications (Ctrl + S), celles-ci sont visibles automatiquement pour les autres utilisateurs sous EA au bout de quelques secondes.
  • Le verrou peut être libéré via l'option Resume.

2- Auto-Reload diagrams

En mode collaboratif, lorsqu'un utilisateur enregistre des modifications sur un diagramme, les utilisateurs qui visualisent cette vue dans EA sont notifiés et invités à recharger le contenu.

Message lorsque le diagramme n'a pas été modifié :

auto reload diagrams enterprise architect 16 beta

Message lorsque des modifications sur le poste local sont en cours :

auto reload diagrams enterprise architect 16 beta

Une nouvelle option est disponible et applicable à l'ensemble des diagrammes via le menu Layout > Diagram > Options > Auto Reload Changed Diagrams. Objectif : configurer Enterprise Architect pour recharger tous les diagrammes ouverts lorsque des modifications réalisées par d'autres utilisateurs ont été sauvegardées.

auto reload diagrams enterprise architect 16 beta

Cette option a pour effet de recharger automatiquement les diagrammes ouverts.

Autres améliorations

Cette amélioration est l'une de mes préférées; les notes, hyperliens, éléments textuels, boundaries sont désormais visibles dans le project browser dans un sous package bleu intitulé “{ }”. Cela facilite la gestion de ces éléments créés sur les diagrammes, évitant des solutions de contournement basées par exemple sur des scripts.

Avantages :

  • Lancer la recherche "Find in Browser" sur une note, boundary ou élément textuel sélectionné dans un diagramme permet de le sélectionner dans le package du project browser. Cet élément peut alors être facilement déplacer sous un autre package.
  • Cela facilite la mise en place d'une navigation entre diagrammes via la réutilisation d'éléments textuels pour permettre par exemple de mettre à jour un seul titre, visible sur plusieurs diagrammes.
  • Lors d'un export de package (ex : XMI, XEA), il est désormais possible de vérifier que tous les éléments seront exportés.

diagram elements in browser enterprise architect 16 beta

La page d'accueil EA dispose d'onglets permettant de créer un diagramme.

start page enterprise architect 16 beta

L'ordre des champs dans la recherche (Model Search) a été modifié : le critère de recherche est affiché en premier (jusqu'à présent il apparaissait en troisième position).

find project search enterprise architect 16 beta