Après être resté trop longtemps sans écrire d'articles je me suis remotivé avec un sujet qui occupe mes jours, mes week-end et parfois mes nuits. Il s'appelle XAware et n'a rien à voir avec Jean Claude VanDamme.
"Alors qu'est ce que cette bête?"
En faite il s'agit d'un ESB (Entreprise Service Bus). Sa particularité est d'être open source et implémenté en java.
"Un ESB c'est quoi?"
Retour en arrière et explication sur l'utilité d'un ESB. Son objectif est de faire communiquer les applications qui ne parlent pas la même langue. Pour faire une analogie avec quelque chose de moins informatique, il faut voir ça comme un service de traduction. Ce service est composé de plusieurs traducteurs (les connecteurs), de l'anglais (le format pivot) et de micros et oreillettes (l'interface d'échange).
Le process se déroule ainsi
- une application A envoi un message à l'ESB
- le connecteur A réceptionne le message
- le message est traduit dans le format pivot
- le message transformé est transmis au connecteur de l'application B
- le connecteur B transforme le message dans le format de l'application B
- le message au format B est transmis à l'application B
"Et XAware dans tout ça?"
Comme je le disais précédemment XAware est gratuit et s'intègre sur un serveur d'applications java (Tomcat ou JBoss). D'un point de vue développement il se présente sous la forme d'un plug-in pour Eclipse et permet de faire la plupart des actions avec une interface graphique plutôt "accessible" (on parle d'Eclipse alors je peux pas utilisé le terme ergonomique).
Le wizard vous permettra d'avoir accès à différentes sources de données (fichiers plats, XML, Web Services, JMS, MySQL, etc). La transformation en format pivot se fait via un outil de mapping qui présente la source et la destination, tout se fait ensuite à l'aide de drag & drop.
Après avoir fait quelques essais vous voudrez surement aller plus loin que ce que propose l'interface graphique. Par exemple vous attendez en paramètre de votre connecteur un chemin de répertoire et voulez parcourir son contenu, ou alors changer le format d'une date dans un format pivot, mettre en place des conditions et des tests, etc. Pour cela il existe des Snippets qui réalisent les actions "basiques".
"Etendre le fonctionnement des Snippets"
Dès qu'on commence à implémenter des connecteurs complexes on veut vite intégrer des Snippets supplémentaires. Dans ce cas de figure XAware vous permet d'importer du code java (via des .class ou des .jar). Vous pouvez maintenant faire tout ce que vous voulez dans votre ESB.
"Une brève présentation?"
Bon après cette petite présentation (pas forcement très structurée), j'espère que les gens qui s'intéressent à l'intégration de données jetteront un oeil (ou deux) à XAware. Leur site est bien fait, vous pourrez même voir des exemples en vidéos et en plus sur le forum des dévs de la team sont là pour vous aider.
Source
XAware
ESB sur wikipedia
Articles similaires
- Quand un habitué de Prototype teste jQuery - part. 2 : suite et fin
- Quand un habitué de Prototype teste jQuery - part. 1 : un problème de taille
- Petit bug jQuery / TinyMCE
- Validateur W3C en local sous Mac OSX
- BOUML - qui a dit qu'UML n'était pas BO?
- Commentez vos fichiers source automatiquement grâce aux keywords Subversion
- TextMate - Afficher certains dossiers cachés
- Vérifier l'unicité d'un champ avec Zend Framework
- CakePHP : sauts de ligne et maux de tête
- Diaporama automatique avec Lightbox



Question
Petite question : il y a un connecteur par application ou par langage ?
Dia
Réponse
C'est un connecteur par applications. Sauf si tu as la chance d'avoir des applications qui communiquent de manière normative. Dans ce cas les n applications émettent un même flux de données formalisé de la même manière donc un seul connecteur.