Architecture d’intégration basée sur un pattern Médiateur

le 04/06/2007 par Karim Ben Othman
Tags: Software Engineering

Malgré l'émergence de nouveaux concepts, standards, outils, etc., la complexité de l'intégration demeure toujours la même. Intégrer des applications hétérogènes d'un SI dans une démarche d'urbanisation, de flexibilité et d'évolutivité s'avère un exercice complexe et délicat. Cela nécessite à l'entreprise un effort considérable sur divers volets : économique, technique et organisationnel.

Néanmoins, et depuis la fin des années 90, des architectures d'intégration basées sur une brique de médiation entre applications " médiateur " voient leur apparition, appuyées notamment par des outils d'intégration de type EAI. Au moment où ces outils arrivent à leurs maturités, ils étaient bouleversés par le concept SOA et notamment par les ESB.

Cet article adresse les apports d'une brique " médiateur " sur le plan architectural, organisationnel et économique au sein d'une architecture d'intégration

EAI, ESB = " Médiateur "

Outil EAI ou outil ESB comme " médiateur ", la question se pose de moins en moins voire plus. La raison c'est que les deux outils convergent techniquement proposant ainsi les mêmes fonctionnalités, et en particulier : l'utilisation de connecteurs propriétaires pour s'interfacer avec les tierces applications et l'exposition et la consommation de web services basés sur les standards du marché, tout en conservant les fonctionnalités classiques d'un outil d'intégration (routage, transformation, filtrage, enrichissement, etc.)

Apports d'une brique de médiation

  • Le médiateur comme conciliateur entre applications (Couplage lâche entre applications)

Un projet d'intégration fait intervenir plusieurs interlocuteurs et diverses applications. Quant il s'agit d'interlocuteurs représentant des applications d'une même entité organisationnelle et/ou domaine SI, la problématique d'intégration peut être simple (même socle technique, mêmes patterns d'intégration, mêmes normes et standards, cohérence sémantique et syntaxique des objets métier échangés etc), Cependant, quand il s'agit d'interlocuteurs représentant une ou plusieurs applications appartenant à différentes entités/ blocs SI, la problématique d'intégration peut s'avérer plus complexe. Complexe parce que la diversité des cultures technologiques et méthodologiques des interlocuteurs d'une part et les implémentations logicielles des applications d'autre part peuvent créer divers points de discorde. Une brique de médiation palliant à tous ces problèmes trouve pleinement sa légitimité. Elle agit comme conciliateur technique entre applications.

  • Le Médiateur comme homogénéisateur des échanges

Disposer d'une brique de médiation dans une architecture d'intégration, c'est disposer d'une plateforme d'échange et de conciliation entre applications. C'est via cette plateforme que transitent tous les échanges entre applications et par conséquent, c'est à ses règles qu'ils doivent se plier (normes, standards, patterns, etc.). Cela implique que, pour chaque application fournisseuse soit elle, ou consommatrice de service, de disposer d'un seul interlocuteur (la brique de médiation), facilitant ainsi la définition, notamment, des contrats de service entre blocs applicatifs. Le résultat est une plateforme d'intégration homogène et maîtrisée.

  • Le médiateur une passerelle vers la rationalisation des échanges

Le fait que le médiateur dispose d'une vision transverse et centralisée de tous les échanges, il peut jouer un rôle capital dans la consolidation et la mutualisation des échanges, aboutissant à court terme à une plateforme d'intégration évolutive, et à moyen et long terme à une réduction des coûts d'intégration : réutilisation des composants techniques et applicatifs, de format pivot, de mécanismes de routage, de filtrage, de transformation, etc. Rajoutons à cela, la facilité de mettre en oeuvre des processus métier transverses et une supervision fonctionnelle et technique centralisée de l'ensemble des échanges.

  • Le médiateur comme garant de l'intégration

Sur la durée, une solution d'intégration basée sur un médiateur pourra être considérée comme un fournisseur et garant des services d'intégration offerts aux applications partenaires. L'équipe qui s'en charge devient à terme l'unique interlocuteur et responsable vis à vis de l'ensemble des applications s'interfaçant ensemble. En contre partie:

  • Elle garantit un développement de flux de qualité
  • Elle met à disposition des projets des outils de suivi centralisé
  • Elle veille à ce que les solutions d'intégration retenues soient homogènes et évolutives au moindre coût

Quid de la réalité ?

Alors qu'on est il du déploiement d'une solution d'intégration basée sur un médiateur ? En dépit de la valeur ajoutée de cette brique de médiation, plusieurs expériences de mise en oeuvre témoignent de la difficulté de réussir ce type de projet. Sans s'étaler sur les raisons diverses et variées engendrant ces difficultés, certains fondements sont à considérer au moment de la mise en oeuvre d'une brique de médiation :

  • Positionnement de la brique d'intégration: le déploiement de cette brique doit s'inscrire dans une stratégie d'urbanisation SI à long terme. Elle doit être considérée comme une plateforme d'échange entreprise, commune à tous les projets (et non pas une solution projet pour implémenter quelques échanges).

  • Adaptation de l'organisation: Même si en réalité le type d'organisation adopté pour le déploiement d'un médiateur dépend fortement de la culture d'entreprise, l'expérience montre que la définition d'une structure dédiée est le mode organisationnel le plus réussi. Une fois cette structure créée, elle doit être reconnue et incontournable par toute organisation projet

  • Choix des hommes: Ce volet est primordial pour bénéficier des apports d'une brique architecturale de type " médiateur ". Elle requiert une équipe talentueuse à multi-valence (technique, méthodologique et communication) qui se charge de la promouvoir et la maintenir. Cela se traduit par exemple par la mise en oeuvre et la maintenance d'un socle fonctionnel et technique au profit des projets d'intégration: patterns d'intégration, normes, bonnes pratique de développement, etc, qui soient appliqués à tous les échanges.

  • Définition de la démarche appropriée: La démarche de mise en oeuvre d'un médiateur, quand elle est bien définie, permet de factoriser et consolider les échanges induisant la réduction des coûts et la rationalisation des échanges (implémentation de ½ flux, de format pivot, de mécanismes de routage, de filtrage et de transformation). C'est pour cette raison que la définition d'une démarche appropriée de mise en oeuvre d'un médiateur est primordiale pour atteindre les objectifs escomptés.

Toutefois, même si certains fondements peuvent être maîtrisables (positionnement dans le SI, démarche de mise en oeuvre, etc.), il est utopique de nier la difficulté structurelle à créer une équipe orientée service (avec les bons hommes, la réactivité build et run, le goût du compromis, l'empathie pour les problèmes des différentes parties, etc.) qui met du plomb dans la solution médiateur, qui rapidement peut se retrouver à amplifier les problèmes plutôt qu'à les résoudre (projets à 3 acteurs plutôt qu'à 2, latences encore plus fortes - réunion, coordination-, pas d'esprit de conciliation et plutôt esprit de territoire). On peut donc conclure que le médiateur ne fonctionne que si vous disposez des hommes prêts à s'inscrire dans une posture de service...