BlueXMLDeveloperStudio Manual FR

Un article de Bluexml.com.

Home Official WebSite Download Forum


Sommaire

Introduction

BlueXML Developer Studio est un réel environnement de développement dans lequel il est possible de créer et de gérer des modèles qui seront nécessaires à la génération d'un ERP à partir du projet BlueXML.

Pourquoi BlueXML Developer Studio a été développé ? Auparavant, le projet BlueXML utilisait l'éditeur UML ArgoUML pour rédiger ses modèles. Le constat est qu'il existait de nombreux dysfonctionnements avec cet éditeur. Tout d'abord, l'outil ArgoUML était très gourmand en ressource et pas très agréable à utiliser. Malgré une version sous forme de plugin Eclipse, il restait de nombreux problèmes. ArgoUML propose beaucoup de fonctionnalités mais l'organisation de ses fonctionnalités n'est pas optimale ce qui rend l'espace de travail d'ArgoUML très chargé. De plus, le nombre de fonctionnalités requises par BlueXML est minime par rapport à l'ensemble des fonctionnalités présentes.

Nous avons eu le choix entre changer d'éditeurs UML et risquer de se perdre une nouvelle fois dans un environnement complexe ou créer un éditeur spécifique à BlueXML permettant d'enrichir l'éditeur de fonctionnalités indispensable tout en se focalisant sur les aspects métier en simplifiant la création de modèles. Nous avons fait le choix de créer un éditeur spécifique ce qui nous permet de nous extraire du formalisme UML tout en gardant les concepts qui nous intéressent.

Ce manuel a pour objectif de vous présenter globalement les fonctionnalités de l'éditeur et de savoir comment les utiliser.

Installation et configuration

Un peu de techniques

Je vais décrire brièvement comment est construit notre éditeur. Tout d'abord, c'est un plugin Eclipse ce qui impose qu'il faut installer Eclipse pour l'utiliser. Ce choix nous permet d'avoir un éditeur adaptable à tous les environnements. Notre amorce d'éditeur a été généré grâce à TOPCASED. C'est un projet de génération d'éditeurs à partir d'un méta-modèle développé par AIRBUS. Il suffit de lui fournir un méta-modèle puis des fichiers de configuration pour l'éditeur et pour les différents diagrammes, on obtient un éditeur basic qu'il faut ensuite enrichir.

Installation

Vous pouvez installer BlueXML Developer Studio avec :

Configuration

Pour accéder aux préférences, vous devez aller dans : Window > Preferences... . Les préférences d'BlueXML Developer Studio sont regroupés dans la catégorie Topcased > Editors > BlueXML Developer Studio.

Il y a actuellement 2 préférences qui sont :

  • Adresse du portail qui servira à la génération ou à la visualisation du portail. (ne pas mettre le suffixe content à la fin de l'adresse)
  • Option de mise en évidence des attributs de classe dans les diagrammes de classes si ces attributs ont une information supplémentaire. Par exemple, si un attribut possède une méta-information indiquant qu'il est obligatoire alors il sera mis en évidence dans le diagramme de classe si l'option est activée.

Notre méta-modèle

Pour obtenir un modèle propre et adapté à la génération d'un ERP, BlueXML a défini son propre formalisme qui reprend certains concepts UML afin de ne pas réinventer des concepts déjà existants. De plus, on y a ajouté des concepts supplémentaires comme les méta-informations ou informations supplémentaires permettant par exemple de configurer l'affichage des formulaires.

Ce formalisme simplifié nous permet de nous adapter à tous les contextes de génération d'un ERP tout en offrant un apprentissage rapide. Des personnes qualifiés sur un domaine fonctionnel peuvent de cette manière rédiger des modèles focalisés sur l'aspect métier, en manipulant des concepts de modélisation simplifiés.

L'éditeur BlueXML Developer Studio

BlueXML Developer Studio propose deux types de diagrammes qui sont :

  • Les cas d'utilisation
    • Définition globale du portail
    • Organisation des différentes « portlets »
    • Création des différents types d'utilisateurs
    • Définition des droits d'accès
  • Les diagrammes de classes
    • Définition des données
    • Définition de la représentation graphique
    • Définition de contraintes spécifiques

Vous pouvez avoir plus d'informations sur ces pages :

Différents types de fichiers

  • Les fichiers OBL qui contiennent le modèle à part entière, c'est-à-dire sans visualisation graphique élaborée. C'est un simple fichier XMI contenant toutes les données.
  • Les fichiers OBLDI qui contiennent la représentation graphique du modèle mais ne contient aucune donnée concernant le modèle. Ces fichiers sont liés automatiquement à un fichier OBL ce qui implique qu'une modification à travers la représentation graphique sera automatiquement répercutée sur le modèle réel (contenu dans le fichier OBL).
  • Les fichiers REF qui ont pour responsabilité de former un modèle global, nous reviendrons plus longuement sur ces fichiers par la suite.

Structure globale de l'éditeur

L'espace de travail de l'éditeur est organisée de cette manière dans la perspective fournie par Topcased :

  • Une vue centrale dans laquelle on peut voir l'éditeur à part entière. Cet éditeur permet de visualiser graphiquement le modèle. C'est à partir de cette vue que l'on peut rajouter des éléments. Tous les éléments sont disponibles à partir de la palette contenue dans cette vue centrale.
  • Une vue Properties en bas permettant de voir les propriétés de l'objet sélectionné dans la vue centrale.
  • Une vue Outline en bas à gauche permettant de voir un aperçu du diagramme graphique et la représentation du fichier OBL lié.
  • La traditionnelle vue Navigator permettant de naviguer dans l'espace de travail Eclipse.
  • Pour finir, on a quelques fonctionnalités fournies par Topcased dans la Cool Bar (situées en dessous de la barre de menus) qui sont :
    • Des fonctions d'alignement entre les différents éléments graphiques
    • Une fonction permettant de faciliter le placement des éléments par rapport aux autres
    • Une fonctions d'affichage de la grille
    • Des fonctions de redimensionnement par rapport aux autres éléments
    • Des fonctions de redimensionnement automatique
    • Une fonction de zoom sur le diagramme
    • Des fonctions de changement de diagrammes dans un même paquetage
    • Une fonction de validation. Attention : Cette validation est fournie par Topcased et n'a rien à voir avec la validation ajoutée par BlueXML, cette vérification s'occupe seulement de la cohérence des références et si tous les éléments liés sont accessibles.

Fenêtres de dialogues

Afin de faciliter la modification et la création de modèles, nous avons rajouté des fenêtres de dialogue sur la majorité des éléments. Pour accéder à ces fenêtres, il suffit de double cliquer sur l'élément en question. Dans le cas où il n'existe pas de fenêtre de dialogue, les caractéristiques de l'élément sont regroupés dans la vue Properties ou en dans le menu contextuel de l'élément avec Show Properties.

Quels sont les éléments possédant une fenêtre de dialogue et quels sont les options accessibles ?

  • Dans les diagrammes de classes :
    • Sur les classes
      • Le nom
      • Si elle est abstraite
      • Si elle est en voie de suppression
      • Le layout utilisé
      • La view utilisé
      • Les méta-informations de classe
      • La documentation de cette classe
    • Sur les attributs
      • Le nom
      • Le type
      • La visibilité (Protected, Public, Private)
      • Les méta-informations d'attribut
      • La documentation de cet attribut
    • Sur les opérations
      • Le nom
      • Le type de retour
      • La visibilité (Protected, Public, Private)
      • Les arguments de l'opération (nom et type)
      • Les méta-informations d'opération
      • La documentation de cet opération
    • Sur les associations
      • Le nom
      • Le type (Simple,Composition,Aggregation)
      • Pour chaque extrémité :
        • Le rôle
        • La navigabilité
        • Les bornes inférieure et supérieure
      • Les méta-informations d'association
  • Dans les diagramme de cas d'utilisation :
    • Sur les cas d'utilisation
      • Le nom
      • Les méta-informations des cas d'utilisation

Méta-information

Les méta-informations sont des informations supplémentaires ajoutée aux modèles permettant de spécifier ces contraintes. Les contraintes sont proposées, il n'est pas possible de créer de nouvelles contraintes à partir de l'utilisateur. Pour activer une contrainte, il suffit de la remplir convenablement.

Quels sont les différentes méta-informations ?

Type de l'élément Contrainte Nom Valeurs possibles Documentation
Classe treeNode Booléen
Attribut size Entier Largeur du champ
Attribut required Booléen Obligation de saisie dans le formulaire
Attribut hidden Booléen Champ caché dans le formulaire
Attribut treeNodeName Booléen
Attribut tree Booléen + Chaîne de caractères
Attribut type = String email Booléen Vérification de la syntaxe email.
Attribut type = String rte-rows Entier Nombre de ligne pour une zone de texte Rich Text Edit (avec mise en forme possible)
Attribut type = String rte-cols Entier Nombre de colonne pour une zone de texte Rich Text Edit (avec mise en forme possible)
Attribut type = String rte-width Entier Largeur pour une zone de texte Rich Text Edit (avec mise en forme possible)
Attribut type = String rte-height Entier Hauteur pour une zone de texte Rich Text Edit (avec mise en forme possible)
Attribut type = String textarea-rows Entier Nombre de ligne pour une zone de texte (sans mise en forme possible)
Attribut type = String textarea-cols Entier Nombre de colonne pour une zone de texte (sans mise en forme possible)
Opération type {button,action}
Association asList Booléen Représentation sous forme de liste
Cas d'utilisation layout-renderer-name {window,nowindow,borderless_window} Représentation graphique de la portlet
Cas d'utilisation Col Stéréotypes accessibles conformes à

l'expression régulière Col[0-9]*

Sélection de la colonne où se situera la portlet
Cas d'utilisation ColDef Stéréotypes accessibles conformes à

l'expression régulière ColDef:[[0-9]+,]*[0-9]+

Sélection de l'organisation des portlets dans un niveau

L'environnement de développement BlueXML Developer Studio

Les différentes vues ajoutées

Toutes les vues peuvent être rajoutées à travers Window > Show view > Other puis dans la catégorie BlueXML Tools.

Image:OMF_Manual_Editor02.jpeg

La vue Inspect

Image:OMF_Manual_Editor03.jpeg

La vue Inspect nous permet de voir tous les modèles et les diagrammes disponibles dans l'espace de travail Eclipse. Celà permet de ne pas parcourir toute l'arborescence d'un projet pour récupérer un modèle. On a tout d'abord le noeud principal OBL Models qui contient comme sous-noeud tous les projets contenants au moins un modèle. Sous chaque projet, on a la liste de tous les fichiers OBLDI disponibles (en supprimant l'arborescence des répertoires) puis les diagrammes contenus dans chaque fichier car un fichier OBLDI peut contenir plusieurs diagrammes.

Les fonctionnalités disponibles sont :

  • Double-clic sur un fichier entraîne l'ouverture du fichier et le diagramme par défaut
  • Double-clic sur un diagramme entraîne l'ouverture du fichier et placement sur le diagramme désiré
  • En haut de la vue, un bouton vert refresh permet de relancer la recherche afin d'actualiser la vue
  • On peut se focaliser sur un projet ou sur un diagramme avec les fonctionnalités disponibles dans le menu contextuel

La vue Search

Image:OMF_Manual_Editor04.jpeg

La vue est organisée de cette manière :

  • La première zone liste les fichiers OBL dans lesquelles la recherche s'exécutera. En effet, on liste les fichiers OBL car ce sont les fichiers qui contiennent les données.
  • Les deux boutons Add et Delete permettent d'ajouter ou de supprimer les fichiers OBL qui pourront être utilisés pour la recherche.
  • On a ensuite la liste des éléments que l'on peut rechercher.
  • Pour finir, on a l'expression régulière avec laquelle on testera le nom de l'élément. Actuellement, on exécute des recherches sur les éléments possédant un attribut nom. (Aide sur les expressions régulières)
  • Le bouton Search permettant de lancer la recherche et d'obtenir les résultats qui seront visualisables dans la vue SearchResult

Pour améliorer la recherche, nous avons ajouté un moyen plus simple pour lister les fichiers OBL utilisés. Tout d'abord, il est possible de sélectionner les fichiers OBL dans le navigateur d'Eclipse et de cliquer sur OMF Tools > Search dans le menu contextuel. La vue Search apparaîtra et la liste des fichiers OBL contiendra les fichiers sélectionnés dans le navigateur. De la même manière, on peut exécuter la même action sur un dossier et on obtiendra dans la liste des fichiers OBL utilisés tous les fichiers présents dans l'arborescence de ce dossier.


Image:OMF_Manual_Editor05.jpeg Image:OMF_Manual_Editor06.jpeg

La vue SearchResult

Cette vue a pour simple utilité de visualiser les résultats d'une recherche. L'affichage se fera donc automatiquement en cas de besoin. Le résultat de la recherche est une recherche dans un dossier de tous les paquetages qui commence par une majuscule ce qui est déconseillé par exemple dans la programmation Java. L'expression régulière utilisé est donc [A-Z].*.

On peut voir le type de l'élément, dans notre cas, on a décidé de chercher des paquetages mais cette colonne est utile si on cherche dans tous les types d'éléments. On a ensuite le nom de l'élément, on peut vérifier que tous les éléments commence par une majuscule. On a également le du container, c'est-à-dire dans notre cas le paquetage qui contient ce paquetage et enfin dans quel fichier OBL on peut le trouver.

Les différentes fonctionnalités ajoutées

Toutes les fonctionnalités présentes sont disponibles dans le menu contextuel de chaque type de fichier. Elles sont accessibles en faisant un clic droit sur un élément.

Sur les fichiers REF

Un fichier REF a pour objectif de représenter le concept de modèle global. Plusieurs modèles sont rédigés sur des domaines fonctionnels différents, par exemple la gestion de la relation clientèle et la comptabilité, on souhaite générer le portail avec les différents modules. Ce fichier REF est un fichier XML contient des éléments pour spécifier les modèles que l'on souhaite utiliser et des éléments pour spécifier les dépendances. Ce fichier peut être rédigé à la main mais peut également être généré comme vous pourrez le voir plus loin.

Validation

Fonctionnalité accessible par : OMF Validation > Validate

La validation est utile pour vérifier que tous les modèles sont présents (toutes les dépendances sont valides), qu'il n'y a pas de conflit entre les noms par exemple.

Les éléments vérifiés sont les suivants :

  • Vérification que tous les modèles indispensables sont présents
  • Vérification que toutes les dépendances sont valides. On liste les identifiants (la valeur de XMI:ID) dans chaque modèle et les identifiants exigés par les autres modèles. On vérifie ensuite que tous les éléments demandés dans un modèle sont présents.
  • Vérification qu'il n'y a pas de conflits de nom entre les profiles (car c'est un identifiant)
  • Vérification qu'il n'y a pas de conflits de nom entre les cas d'utilisation (car c'est un identifiant)
  • Vérification qu'il n'y a pas de conflits de nom entre les classes
  • Vérification qu'il n'y a pas de conflits de nom entre les attributs d'une classe
  • Vérification qu'il n'y a pas de conflits de nom entre les opérations d'une classe
  • Vérification qu'il n'y a pas de classes deprecated

Calcul de dépendances

Fonctionnalité accessible par : OMF Tools > Compute dependencies

Cette fonctionnalité inspecte le fichier REF et calcule toutes les dépendances utiles avec les fichiers contenus dans une balise file et rajoute les dépendances dans des balises dependency. le fait d'avoir deux types de balises permet de re-calculer les dépendances plus simplement en effaçant les anciennes et en recommençant.

Concaténation

Fonctionnalité accessible par : OMF Tools > Concat into an OBL file

Cette fonctionnalité permet d'obtenir un seul fichier OBL à partir d'un ensemble de fichiers OBL listés dans le fichier REF. Cette méthode permet d'obtenir un unique fichier OBL n'ayant pas de dépendances avec d'autres fichiers. Ce fichier pourra ensuite être publié ou envoyé plus facilement.

Cette opération est purement réalisée avec des outils d'analyse de fichier XML et d'analyse des valeurs de chaque balise.

Génération de la documentation HTML

Fonctionnalité accessible par : OMF Tools > Generate HTML documentation

Cette fonctionnalité permet d'exporter au format HTML la documentation du modèle global passé en paramètre. Il est possible d'exporter actuellement cette documentation en sélectionnant le répertoire de destination. Cette fonctionnalité calcule en fait un fichier temporaire OBL regroupant toutes les données des différents modèles. Cette transformation permet d'obtenir une documentation proche de la javadoc.

Visualisation du fichier PIVOT

Fonctionnalité accessible par : OMF Tools > View PIVOT

Cette fonctionnalité est accessible seulement dans le cas du contexte BlueXML et de la structure des dossiers. Cette fonctionnalité ouvre seulement un navigateur en calculant l'adresse approprié, c'est à dire :

HTTP_ADDRESS/UMLFormsDesigner/xmi2pivot/REF_FILE/FOLDER

HTTP_ADDRESS est récupéré à travers les préférences d'Eclipse. REF_FILE est le nom du fichier REF sans son extension et FOLDER et le répertoire deux niveaux au-dessus. On a donc par exemple ce type d'adresse calculée :

http://demo.BlueXML.org:9099/UMLFormsDesigner/xmi2pivot/allFiles/demo.BlueXML.org

Génération du portail

Fonctionnalité accessible par : OMF Tools > Generate the portal

De la même manière que la fonctionnalité précédente, on calcule une adresse qui ensuite ouverte avec un navigateur : HTTP_ADDRESS/crud-engine/cud/regenerate?type=all

HTTP_ADDRESS est récupéré à travers les préférences d'Eclipse. On a donc par exemple ce type d'adresse calculée :

http://demo.BlueXML.org:9099/crud-engine/cud/regenerate?type=all

Sur les fichiers OBL

Les fichiers OBL sont les modèles contenant les données.

Recherche

Fonctionnalité accessible par : OMF Tools > Search

Cette fonctionnalité permet d'initialiser la recherche avec les fichiers OBL sélectionnés. Cette fonctionnalité ouvre la vue Search et remplit la liste des fichiers OBL utilisés pour la recherche par les fichiers sélectionnés.

Génération du fichier REF

Fonctionnalité accessible par : OMF Tools > Generate REF file

Cette fonctionnalité permet de créer un fichier REF à partir de plusieurs fichiers OBL et calcule les dépendances automatiquement. On retrouve les fichiers sélectionnés dans les balises file et les dépendances calculées dans les balises dependency.

<source lang="xml">

<?xml version="1.0" encoding="UTF-8"?>
<files>
  <file src="financial-costs.xmi.obl"/>
  <dependency src="financial-fAccounting.xmi.obl"/>
  <dependency src="financial-budget.xmi.obl"/>
  <dependency src="financial-generalAccounting.xmi.obl"/>
</files>

</source>

Génération du code JAVA

Fonctionnalité accessible par : OMF Tools > Generate Java

Cette fonctionnalité utilise ou créé un dossier appelé src au même niveau que le modèle et créé les classes Java à l'intérieur. Cette fonctionnalité est proposé grâce à la technologie Acceleo qui permet de faire du M2T (Model 2 Text).

Génération du modèle UML

Fonctionnalité accessible par : OMF Generation > Generate UML

Cette fonctionnalité permet de créer un modèleUML à partir d'un modèle OBL. On utilise pour cette méthode la technologie ATL qui permet de faire du M2M (Model 2 Model).

Image:OMF_Manual_Feature02.jpeg

Génération du modèle UML2

Fonctionnalité accessible par : OMF Generation > Generate UML2

Cette fonctionnalité permet de créer un modèle UML2 à partir d'un modèle OBL. On utilise pour cette méthode la technologie ATL qui permet de faire du M2M (Model 2 Model). On créé donc deux fichiers : le premier contient le profil correspondant au modèle (répertoriant tous les stéréotypes) et le second contient le modèle.

Image:OMF_Manual_Feature03.jpeg

Initialisation du fichier OBLDI

Fonctionnalité accessible par : OMF Generation > Initialize OBLDI file (use case diagram)

Fonctionnalité accessible par : OMF Generation > Initialize OBLDI file (class diagram)

Les fichiers OBL sont des fichiers contenant des données donc la représentation graphique n'est pas très intéressante. Le but est de créer un fichier OBLDI directement lié au fichier OBL. On a le choix entre un cas d'utilisation et un diagramme de classe. C'est le type de diagramme principal mais cela n'impose pas par la suite de créer d'autres types de diagramme dans le même modèle. Le fichier OBLDI créé sera lié au fichier OBL mais aucun élément ne sera visualisable graphiquement. Il faut les déplacer pour cela de la vue Outline à la vue centrale de l'éditeur.

Validation

Fonctionnalité accessible par : OMF Tools > Validation

Cette validation vérifie que toutes les références sont accessibles. Un fichier OBL peut faire référence à d'autres fichiers. C'est pour cette raison qu'il peut être utile de vérifier que tous les références soient valides. De plus, la validation vérifie qu'il n'y a pas pluqieurs occurences d'une même classe ou d'un même paquetage, ou encore plusieurs occurences d'un même attribut ou opération dans une classe.

Note : Deux opérations sont considérés équivalentes si elles ont les mêmes définitions. La définition d'une opération est construite de cette manière : [NomDeLaMéthode]([TypeArg_1],[TypeArg_2]...). Cette signature entraîne donc que le nom des arguments est ignoré ainsi que le retour de la méthode.

Sur les fichiers OBLDI

Les fichiers OBLDI sont utilisées seulement pour avoir une représentation graphique des éléments.

Exportation sous forme d'images

Fonctionnalité accessible par : OMF Tools > Export > ...

Cette fonctionnalité permet d'extraire tous les diagrammes présents dans un fichier OBLDI sous forme de fichiers image. Plusieurs formats sont disponibles :

  • SVG
  • PNG
  • JPEG
  • BMP
  • GIF

Ces exportations dérivent des fonctionnalités et des exporteurs fournis par Topcased.

Sur les dossiers

Recherche

Fonctionnalité accessible par : OMF Tools > Search

Cette fonctionnalité permet d'initialiser la recherche avec les fichiers OBL contenus dans l'arborescence du dossier. Cette fonctionnalité ouvre la vue Search et remplit la liste des fichiers OBL utilisés pour la recherche par les fichiers contenus.

Exportation sous forme d'images

Fonctionnalité accessible par : OMF Tools > Export > ...

Cette fonctionnalité permet d'extraire tous les diagrammes présents dans tous les fichiers OBLDI contenu dans l'arborescence d'un dossier sous forme de fichiers image. Plusieurs formats sont disponibles :

  • SVG
  • PNG
  • JPEG
  • BMP
  • GIF

Ces exportations dérivent des fonctionnalités et des exporteurs fournis par Topcased.

Sur le fichiers ArgoUML

Nous avons développé des fonction spécifiques pour le fichiers ArgoUML car nos modèles étaient préalablement sauvegardés avec l'éditeur UML ArgoUML.

Extraction du fichier XMI

Fonctionnalité accessible par : OMF Transformation > Extract XMI

Un fichier ArgoUML est un simple fichier compressé contenant plusieurs fichiers dont le fichier XMI. Nous offrons la possibilité d'extraire simplement ce fichier.

Sur les fichiers XMI (UML1)

Conversion vers un modèle BlueXML

Fonctionnalité accessible par : OMF Transformation > Generate OBL

Cette fonctionnalité permet d'obtenir un modèle BlueXML à partir d'un fichier XMI.