Présentation de l'entreprise
Processus de recrutement
|
AndroMDA, un joujou pour Java Beginners ou un outil pro ? 1 Septembre 2010 |
Au-delà de l’image pour un développeur, grâce aux diagrammes UML, la méthode de travail MDA permet de se concentrer sur les sujets vraiment importants, comme la structure de la base de données, les règles de business, les patterns d’optimisation, etc.
Mais qu’est-ce AndroMDA ? Quel est le but de cette technologie et quelle est sa valeur ajoutée ? D’abord, il s’agit de la productivité. AndroMDA est un tool open-source qui utilise la méthode de travail MDA. Il s’agit d’un générateur de code orienté vers les applications Java, qui dispose d’une librairie impressionnante de composants (cartouches), grâce auxquels elle génère une grande partie du code nécessaire pour construire une application. Des cas pratiques prouvent que pour une appli de complexité moyenne, 80% du code peut être généré par AndroMDA. Comme input, AndroMDA supporte de fichiers sous format UML2 1.x. La liste de programmes de design UML qui peuvent exporter de tels fichiers commence avec MagicDraw (qui d’ailleurs bénéficie du meilleur support AndroMDA), mais comprend également les membres de la communauté open source, comme ArgoUML ou EclipseUML Free.
On parle de deux méthodes de manipulation pour générer le code pour une appli : les cartouches et les stéréotypes. Les cartouches sont en fait des templates de code spécifiques à chaque plateforme de génération. Les stéréotypes sont utilisés pour indiquer certaines comportements spécifiques des classes UML. “Entity” est par exemple un des plus fréquents stéréotypes, et il marque une classe comme une entité Hibernate. En utilisant le cartouche Hibernate, la manipulation et la configuration du layer de persistance Hibernate sont générés automatiquement par AndroMDA : le fichier hbm.xml, la classe abstract de l’entité, l’implémentation proprement dite, l’interface DAO et la classe abstract qui définit le comportement CRUD de base, sont tous générés par le simple attachement de ce stéréotype. En estimation brute, pour une classe avec 6 propriétés, AndroMDA vous épargne d’écrire 120 de lignes de code.
Si on utilise les stéréotypes “Service” et “Webservice”, on marque une certaine classe comme faisant partie du business-logic. En conséquence, AndroMDA s’occupe de générer l’interface façade et les fichiers XML de configuration de ce service. Les moteurs supportés sont XFire et Axis. Le noyau des composantes AndroMDA est le cartouche Spring. A ce niveau, par une simple relation UML de type « dependency » entre 2 composantes, AndroMDA réalise l’injection des ressources.
Cet article se base sur l’utilisation d’AndroMDA du point de vue pratique et donc n’est pas forcement très objectif. Cette technologie demande de la patience mais est finalement très pratique pour développer des solutions de bonne qualité. Ce n’est pas très simple à l’apprendre, mais une fois avoir dépassé le niveau “Hello World!, create, read, update, delete, pet-store” vous pouvez passer quelques heures sur les forums pour en approfondir la richesse. Comme dans la plupart des solutions open source, les réponses à vos questions se trouvent sur les forums (support très réactifs). Vous devez avoir envie de vous immerger, d’apprendre et d’en approfondir la pratique. La preuve que cet framework connait un joli succès : l’équipe AndroMDA a commencé dans la version 3.4-SNAPSHOT le développement du support pour UML2 2.x.
Pour apprécier le coté productif de cet outil, les diagrammes ci-dessous parlent tous seuls :
![]() 1- Définir le model de données en format UML, l’API de services et des dépendances entre les composantes |
2 – L’export du model sous format UML2
|
3 – Générer le code avec le framework AndroMDA
|
4 – Construire les binaires sur la base du code source
|
5 – L’installation et l’utilisation de l’application.
Pour en savoir plus : |






