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 :
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.
En ouvrant à nouveau Enterprise Architect 16 64 bits, eaUtils était bien visible.
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 :
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.
Cette fonction est disponible à partir du menu Settings > Transfer, dans lequel de nouvelles options sont disponibles :
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.
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 :
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é.
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.
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.
- Résultat : un nouvel accès rapide est disponible dans la barre d'outils Quick Access.
- Il est possible de déplacer cette barre d'outils en dessous du menu des rubans.
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.
- 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é :
Message lorsque des modifications sur le poste local sont en cours :
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.
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.
La page d'accueil EA dispose d'onglets permettant de créer un diagramme.
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).