Rechercher:
Catégories:

Technologies

.Net

Autres

Android

AutoCAD

Business Intelligence

C++

Cobol

DBA

Delphi

Design web

Embarqué (R&D)

Flash

Flex

HTML/CSS/JavaScript

Java

Linux/Unix

MOA

Oracle

PHP / MySQL

Python

Ruby

SAP

SAS

Sharepoint

Systèmes et réseaux

SQL

Windows

Position

Bases de donnees

Administration systèmes

Autre

Architecture

BI / Décisionnel

MOE - MOA

Commercial

Conseil

Design

Graphisme

Helpdesk

Infrastructure

Ingénierie

Etudes & Développement

Gestion projets

Stages

Direction projets

Testing / QA

Trainer

Web Marketing

L'archive des profils:
Février 2012
Lu Ma Me Je Ve Sa Di
 12345
6789101112
13141516171819
20212223242526
272829  

Présentation de l'entreprise 

Processus de recrutement 

 
AndroMDA, un joujou pour Java Beginners ou un outil pro ?
1 Septembre 2010
 
Chaque développeur rencontre dans son équipe une personne qui se plaint sur les taches de routine à exécuter. Qu’il s’agisse d’interfaces, de fichiers Spring de dépendances ou de fichiers de mapping Hibernate, partout le « copier/coller » est roi. Certains se contentent de cela, d’autres, ceux qui courent après la productivité – utilisent AndroMDA.

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 :
http://forum.andromda.org/
http://andromda.org/index.php?option=com_content&task=view&id=150&Itemid=42
http://www.ibm.com/developerworks/library/wi-arch19/

Partager cet article :

0 Commentaires: “AndroMDA, un joujou pour Java Beginners ou un outil pro ?”

0 Trackback: “AndroMDA, un joujou pour Java Beginners ou un outil pro ?”


Laissez un commentaire

Nom: 

Adresse d'email: 

Tapez le texte de l’image suivante:
Rechercher:
Catégories:

Ville

Beauvais

La Rochelle

Lille

Limoges

Lyon

Marseille

Nantes

Orléans

IDF - Paris

Toulouse

Secteur d'activité

Autre

Banque et Assurances

Commercial / Ventes

Distribution / Logistique

E-commerce

Energie / Domotique

Industrie

Ingénierie - R&D

Produits grand publique

Santé Social

Services tertiaires

Editeurs de logiciel

Télécom

Tourisme

Technologies

.Net

Autres

Android

AutoCAD

Business Intelligence

C++

Cobol

DBA

Delphi

Design web

Embarqué (R&D)

Flash

Flex

HTML/CSS/JavaScript

Java

Linux/Unix

MOA

Oracle

PHP / MySQL

Python

Ruby

SAP

SAS

Sharepoint

Systèmes et réseaux

SQL

Windows

Position

Bases de donnees

Administration systèmes

Autre

Architecture

BI / Décisionnel

MOE - MOA

Commercial

Conseil

Design

Graphisme

Helpdesk

Infrastructure

Ingénierie

Etudes & Développement

Gestion projets

Stages

Direction projets

Testing / QA

Trainer

Web Marketing

L'archive des postes:
Février 2012
Lu Ma Me Je Ve Sa Di
 12345
6789101112
13141516171819
20212223242526
272829