_ css deactivated
_ javascript deactivated

Fonctionnalités M2Improve Foundations - Génération d'Applications

Construit sur Eclipse 3.4 (Ganymede) et embarquant le moteur de transformation agile Blu Age, M2Improve Foundations est un générateur d’applications dirigé par des modèles qui transforme les diagrammes UML 2 en applications Java prêtes à être déployées.

Fonctionnalités de génération

M2Improve Foundations permet de générer automatiquement l’ensemble des couches applicatives, de la représentation des données métiers à la gestion des actions de navigation et formulaires de données. Le processus de génération des applications exécute une série de transformation de modèles UML et de génération du code source selon les technologies cibles. Ces transformations sont paramétrées dans les cartouches de génération (BSP).

La représentation des interfaces utilisateurs est décrites dans des pages JSP, constituées principalement de composants ‘Struts Layout’. Pour cela, M2Improve Foundations intègre l’outil ‘EasyStrutsLayout’ d’Improve Foundations. Cet outil est un éditeur de JSP adapté à la bibliothèque ‘Struts Layout’ pour faciliter la création des interfaces utilisateurs, offrant plusieurs fonctionnalités dont :

  • Auto-complétion sur les tags Struts Layout,
  • Auto-complétion sur les propriétés des tags 'Struts Layout' faisant référence au modèle de données modélisé (Binding de données),
  • Coloration syntaxique,
  • Prévisualisation le rendu final des pages JSP sans avoir à déployer les pages sur un serveur.


Le processus de génération est décrit dans un workflow de transformation ‘M2Improve.workflow’, permettant de définir l’enchaînement de plusieurs cartouches (BSP), chacune étant dédiée à une couche applicative ou technologie cible (persistance, services...).

Le workflow de transformation génère trois projets, chacun correspondant à l'une des couches traditionnelles des applications basées sur Improve Foundations. On retrouve ainsi les différentes couches avec leur code source et leurs fichiers de configuration respectifs :

Couche Entreprise :

  • les classes de BO représentant les données (POJO),
  • le mapping Hibernate des entités (XML), et le fichier de configuration d’Hibernate ‘hibernate.cfg.xml’
  • les interfaces et les implémentations des services nommés ‘DAO’ et ‘DAOFinder’
  • une façade représentant la couche ‘BusinessEnterpriseLayer’ et une fabrique pour y accéder ‘BusinessEnterpriseLayerFactory’
  • le fichier de configuration enterpriselayer.xml contenant la déclaration des services.

Couche Application :

  • les interfaces et les implémentations des services
  • une façade représentant la couche ‘BusinessApplicationLayer’ et une fabrique pour y accéder ‘BusinessApplicationLayer Factory’,
  • le fichier de configuration applicationlayer.xml contenant la déclaration des services et de la valve transactionnelle.

Couche Client :

  • les classes des actions Struts,
  • les classes des formulaires Struts qui réalisent le lien avec les BO
  • un fichier ‘properties’ pour les messages internationalisés,
  • le fichier ‘struts-config.xml’ avec la déclaration des formulaires et des mappings des actions
  • le fichier web.xml avec la configuration du filtre de servlet pour démarrer Improve Foundations Core
  • les différentes ressources web (JSP, skin Struts Layout...),
  • le fichier de configuration clientlayer.xml configuré pour un client de type Struts,
  • les fichiers environment.xml et foundation.xml pour la configuration technique principale.