J'ai assisté le 7 novembre au webinar de Sparx Systems sur la mise en place d'un projet Enterprise Architect en mode collaboratif avec une base de données centralisée (titre original : setting up a team modelling environment with Enterprise Architect). Ce webinar a été présenté par Scott Hebbard, Communications Manager chez Sparx Systems. Les sujets suivants ont été abordés lors de la démonstration :
- créer un schéma relationnel de base de données dans le SGBD utilisé, par exemple MySQL;
- créer et configurer une connexion ODBC vers la base de données;
- initialiser le contenu avec le projet de base fourni par Sparx, ou un projet existant le cas échéant;
- activer la sécurité Enterprise Architect sur le projet pour définir des comptes utilisateurs, groupes, et permissions;
- utiliser la fonctionnalité "Model mail" pour permettre à l'équipe de communiquer via l'outil Enterprise Architect;
- utiliser les fonctions de gestion de projet pour définir les tâches (tasks), ressources, et les visualiser dans un diagramme de Gantt;
- documenter le projet avec la fonctionnalité "Team Review".
Voici un résumé sur le déroulement du webinar, ainsi qu'une sélection de questions/réponses entre le public et Sparx Systems :
- La création du schéma relationnel de base de données et de la connexion ODBC est plutôt simple et rapide à mettre en place.
- Sparx Systems n'a pas de préférence ni de recommandation sur le choix du serveur de base de données à utiliser. Les utilisateurs ont libre choix parmi les serveurs supportés par Enterprise Architect : MySQL, Ms SQL Server, Oracle, etc.
- Il est conseillé d'activer l'option "lazy load" dans les propriétés de connexion pour améliorer les temps de chargement.
- Lors de la première connexion avec la base de données du projet Enterprise Architect, le contenu doit être initialisé avec le projet de base (EABase.eap) ou un projet existant. Note : la fonction Project Transfer est utilisée pour copier le contenu du fichier EAP dans la BD.
- Après avoir activé la sécurité Enterprise Architect sur le projet (cette étape nécessite une clé disponible depuis la page "registered users" du site de Sparx), les comptes utilisateurs et groupes peuvent être créés.
- Les permissions peuvent être définies sur les comptes utilisateurs et/ou groupes, dont voici quelques exemples :
- autoriser la permission Manage Diagrams pour créer/modifier/supprimer des diagrammes,
- autoriser la permission Update Element pour créer/modifier/supprimer des éléments, paquetages et associations,
- autoriser la permission Use Version Control pour exécuter les commandes Check In/Out lorsque le projet stocké en base de données est couplé à un serveur de gestion de configuration tel que SVN (Subversion).
- Scott nous a présenté une utilisation d'Enterprise Architect comme outil de communication et d'échange pour les membres du projet :
- La fonctionnalité Mail Model permet à tous les utilisateurs authentifiés de communiquer par l'échange de mails. A noter que tous les messages sont stockés dans le projet Enterprise Architect. Cette fonctionnalité ne peut pas s'intégrer avec un client de messagerie standard.
- Une liste de tâches et ressources du projet peuvent être définies et consultées dans une liste, un calendrier, ou un diagramme Gannt.
- La fonctionnalité Team Review permet de définir des sujets (topics) organisés par catégories et pour lesquels des documents peuvent être définis, mis à jour, et soumis à un processus de validation (les états suivants sont disponibles : awaiting approval, approved, rejected).
- Ces fonctionnalités permettent au projet Enterprise Architect d'être non seulement un référentiel de modélisation, mais également une plateforme collaborative pour la gestion du projet et de communication.
- Question : plusieurs membres de l'audience ont souhaité savoir si la sécurité activée sous Enterprise Architect permet de définir des droits d'accès sur différentes parties ou paquetages du modèle. Sparx a indiqué que cela n'est pas possible.
- Remarque : il existe pourtant un contournement qui consiste à coupler un projet géré en BD avec un serveur de gestion de configuration comme SVN, où l'administrateur SVN défini les droits d'accès en lecture ou écriture sur différents répertoires dans l'entrepôt. Par exemple le Groupe1 peut avoir un accès en lecture/écriture sur le répertoire sous le chemin "trunk\models\requirements_model", et un accès en lecture seule pour les autres comptes utilisateurs. Cette approche nécessite certaines règles pour l'administrateur (n'hésitez pas à me contacter directement par Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. pour plus d'informations).
- Question audience : est-il possible de cacher des parties du modèle à certains utilisateurs? Cela est possible avec la méthode proposée par Scott : "pour cacher des parties du modèle, sélectionner les paquetages du modèle à publier, puis les exporter au format XMI (cf. XML export). Enfin donner accès à ces fichiers XMI aux destinataires du modèle".
- Remarque : cette méthode est non seulement fastidieuse, mais ne semble pas pratique ; en effet non seulement la définition des modèles est figée à la version effectuée lors de l'export, mais les utilisateurs sont obligés d'importer ces fichiers XML dans un fichier EAP local pour consulter les modèles.
- Question audience : Enterprise Architect fonctionne-t-il avec l'Active Directory (services d'annuaire LDAP pour les systèmes d'exploitation Microsoft Windows) ?
- Réponse de Scott : "il est possible d'importer les user ID depuis l'Active Directory de Windows sous Enterprise Architect afin de gérer la securité des comptes utilisateurs. Cela vous permet de faire référence aux User IDs présents dans l'Active Directory. Pour chaque User ID de Windows, Enterprise Architect génère automatiquement un mot de passe aléatoire au lieu d'utiliser le mot de passe du domaine Windows. Si besoin l'administrateur peut définir un nouveau mot de passe sur un User ID importé."
- Enfin Scott nous a indiqué qu'Enterprise Architect ne permet pas d'authentifier les utilisateurs à partir d'un groupe LDAP. Cependant il est possible d'utiliser l'authentification Windows sur les comptes utilisateurs "User ID" importés. Cette fonction peut être activée depuis la fenêtre de dialogue "Security Users" en cochant l'option "Accept Windows Authentication".
Remarque : la vidéo de ce webinar et la liste des questions/réponses est disponible depuis le site de Sparx : Setting up a Team Modeling Environment webinar (Nov 2013).