mardi 3 juillet 2007

EAI : Les bases




La perpétuelle nécessité de couvrir de nouveaux besoins dans des délais souvent brefs incite à travailler au coup par coup. Les communications entre applications sont donc conçues pour répondre au strict nécessaire dans le contexte d’un projet donné. Au fil du temps, les liens ainsi tissés entre les applications contribuent à la constitution d’un « plat de spaghettis », comme l’illustre le schéma ci-dessous.


Figure 1 : intégration en mode point à point.


Ce modèle point à point provoque une explosion combinatoire du nombre d’interfaces à gérer : pour n applications, il peut être nécessaire de gérer n*(n-1)/2 interfaces. Les conséquences de chaque évolution concernent un nombre croissant d'applications, de part les effets de bord qu’une modification peut entraîner sur les liens qui se sont tissés de manière plus ou moins formelle au fil du temps.


L'objet de l’EAI est de faire en sorte que les applications existantes et futures puissent communiquer entre elles et partager des informations de la manière la plus efficace et la plus simple possible.
Pour y parvenir, l'EAI, comme illustré ci-dessous, repose généralement sur l'utilisation d'un bus de communication en lieu et place de communications directes d'application à application.




Figure 2 : intégration avec un EAI.


La plupart des applications peuvent assez aisément se brancher sur ce bus de communication purement logiciel par l'intermédiaire d'interfaces génériques. Le modèle en n*(n-1)/2 du point à point est avec un EAI remplacé par un modèle en n.Une fois branchées sur l’EAI, il convient de faire travailler conjointement ces applications. Cela revient à mettre en relation des briques logicielles qui divergent sur différents points : modèle de données, moyens de communication supportés, etc … L’intégration d'applications constitue alors une tentative de mise en place d'une « intelligence supérieure » qui a pour objet de masquer ces différences. De son succès dépend la capacité à partager et manipuler les données de manière consistante, à bâtir des processus automatisés mettant en jeu plusieurs applications (et/ou plusieurs utilisateurs) et à construire de nouvelles applications en agrégeant des services existants. L’intégration d'applications est donc bien plus qu'un simple problème de « tuyauterie

Aucun commentaire: