UML2 to JEE : Struts/Hibernate

UML2 to JEE est un générateur Java/JEE depuis un modèle UML2 stéréotypé. Il génère une application respectant une architecture en couches:

  • Interface Utilisateur
  • Objets de Transferts
  • Couche d'accès au données

Démonstrations

La démonstration suivante présente l'utilisation conjointe du module JEE et du modeleur Topcased pour générer la couche d'accès aux données. Une documentation détaille ces aspects.
Utilisation du module JEE et de Topcased démonstration flash

Présentation de la cible technique

Struts

Struts est le framework Apache permettant un découpage propre entre l'IHM et la logique applicative d'une application J2EE suivant le pattern bien connu MVC. Largement utilisé aujourd'hui pour décrire la cinématique applicative, il présente l'inconvénient d'être assez complexe à utiliser, notamment pour maintenir la cohérence entre les écrans et les actions au travers de fichiers de configuration XML.

Struts peut également être associé à la technologie Ajax, les applications web obtenues bénéficient de toute la puissance du Web 2.0.

Struts est disponible à l'adresse suivante : http://struts.apache.org

Hibernate

Hibernate est un framework pour la plateforme J2EE permettant de gérer le mapping objet / relationnel, c'est à dire de presister dans une base de données relationelle des objects.

Hibernate est disponible à l'adresse suivante : http://www.hibernate.org

Modélisation

Le générateur permet l'exploitation de modèle UML 2.1 enrichi d'un certain nombre de stéréotypes.

Vous pouvez utiliser différents modeleurs de manière conjointe à ce générateur : Topcased, Papyrus ou encore le projet UML2 Tools de la fondation Eclipse.







Fonctionnalités du générateur

Le générateur factorise les meilleures pratiques Hibernate pour une meilleure productivité et des performances optimales.
Concernant la persistance :

Navigation transparente entre les objets métiers

  • héritage
  • associations 1-1, 1-*, *-*
  • navigabilité unidirectionnelle et bidirectionnelle
  • optimisations
  • utilisation de simples fichiers Java de type POJO

Mapping vers la base de données

  • gestion du cache sur les données persistées
  • SQL en 3NF
  • contraintes d'intégrité
  • concurrence d'accès
  • clef technique

Couche d'accès applicatif sur les données DAO

  • couche dédiée d'accès aux données et au requêtage
  • pas de dépendance directe entre les objets métiers et Hibernate
  • méthodes de recherche évoluées
  • gestion des transactions
  • tests JUnit





Et pour la cinématique de l'application :

Modèle MVC2

  • actions et formulaires Struts
  • navigation entre écrans
  • cohérence garantie entre Java, XML et les spécifications

Externalisation en XML de la navigation

  • verrouillage des enchaînements entre écrans
  • paramétrage Struts des actions et formulaires
  • templates Tiles
  • modularisation par scénarios fonctionnels
  • paramétrage Tomcat
  • validation de formulaire

Gestion des templates de pages

  • cadre des fichiers web (jsp, css 2)
  • utilisation de taglibs standards
  • tests fonctionnels (HTMLUnit)
  • prototypage rapide
  • fonctionnement de type AJAX évènementiel























Planning

Statut du module
Objets métiers

100%

Couche d'accès aux données

100%

Mapping Hibernate

100%

Modèle MVC

100%

Navigation

100%

Gestion des templates de pages

100%

Amélioration des formulaires

55%

Internationalisation

0%

Installation

L'installation est détaillée sur la page d'installation des modules .

Contribuez!

Si vous souhaitez modifier ou compléter les templates de génération, un fichier Team Project Set est à votre disposition, il permet d'importer les sources du module directement depuis le SVN.

Fichier Team Project Set pour le module JEE

La page modification des sources d'un module explique comment utiliser ce fichier.

Webdesign : www.katrinet.com - Réalisation : Obeo