En télétravaille depuis Saint Nazaire, Thierry Templier fait partie de l'équipe de développement d'Argia. Basée à Boulogne-Billancourt, cette société de services s'est spécialisée dans l'assemblage de framework Open Source. Ses champs d'intervention : la gestion documentaire, la gestion de contenu Web ou encore les bus de services d'entreprise (ESB). Argia appuie une partie de ses réalisations sur l'infrastructure Java Open Source Spring. Pour réaliser ces applications, le développeur a choisi de recourir à un outil de génération de code qui n'est autre qu'Acceleo.
|
|
Thierry Templier (Argia) |
|
|
|
|
|
En amont de la phase de génération logicielle, Thierry Templier exploite EMF (une brique de l'environnement Eclipse) pour concevoir ses modèles et méta-modèles.
"Nous utilisons EMF avec la couche graphique Topcase qui nous permet d'éditer le modèle en tant que tel sous la forme d'un fichier XMI [ndlr pour XML Metadata Interchange]", détaille le développeur. Un travail de longue haleine qui consiste à définir par le biais de stéréotypes et de tag value à quel type de classe renvoie quel type d'objet.
Ensuite, le fichier est repris dans Acceleo qui se charge de générer le squelette de l'application. Chaque composant est généré et les liens qu'ils entretiennent entre eux définis (en partant notamment des dépendances UML définies au préalable).
| "Nous nous concentrons plus efficacement sur la logique métier" |
"Ne reste plus ensuite qu'à remplir le code au niveau métier", ajoute Thierry Templier, avant de préciser que Spring repose sur la notion d'injection de dépendance. Un mécanisme qui instaure un couplage faible entre composants, reposant sur un contener léger au niveau du composant.
Pour Thierry Templier, la génération de code apporte un gain de temps de 30% par projet en moyenne. Tout comme Julien Jacobs chez Lionbridge, il insiste sur les apports en termes de qualité du produit fini, ainsi que sur l'automatisation des tâches rébarbatives. "Nous pouvons nous concentrer plus efficacement sur la logique métier, c'est-à-dire la manière dont un objet métier va exploiter les composants techniques, d'accès aux données, de sauvegarde ou encore d'affichage", souligne-t-il.