Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Manifestations XML francophones et internationales.L'actualité des affaires et stratégies XML.L'actualité des technologies XML.Les nouveautés et l'actualités de notre site.Pointeurs sur l'actualité XML sur d'autres sites, en français comme en anglais.


PETALS

Répondez à cet article.

Un projet d’ESB conforme au standard JBI ou comment les standards XML contribuent à l’intégration des systèmes d’information

Gaël BLONDELLE, Adrien LOUIS et Jean-Pierre LORRE (com-xml@ebmwebsourcing.com, http://www.ebmwebsourcing.com)
mercredi 9 novembre 2005

Table des matières

Introduction

SOA et ESB

SOA (Service Oriented Architecture)

ESB (Enterprise Service Bus)

Le standard JBI

Le projet PETALS

EBM WebSourcing

Bibliographie

Introduction

Les standards XML sont au cœur des nouvelles solutions d’intégration proposées actuellement. Elles sont issues de la convergence de plusieurs technologies :

  1. Les technologies middleware en général (MOM, ORB) et l’EAI (Enterprise Application Integration) en particulier. Ces derniers ont participés à la généralisation des outils de communication inter-applications (A2A) et à la diffusion des concepts. Bien qu’un effort de standardisation ait eu lieu au niveau des couches basses de communication (CORBA/IIOP) ces outils sont très souvent spécifiques à un éditeur et manquent de standardisation et d’interopérabilité.
  2. Les technologies de l’EDI (Electronic Data Interchange) ont été développées pour l’échange de données inter-entreprises (B2B). Essentiellement orientée vers l’échange de documents, la communauté s'est surtout focalisée sur la définition de standards métiers pour les processus d’échange et la représentation des informations (Edifact en Europe et Ansi X12 aux États-Unis).
  3. Les services Web qui s’appuient sur un ensemble de spécifications XML (SOAP, WSDL et UDDI) afin de publier sous une forme accessible par Internet les interfaces des applications. Les principaux avantages de cette technologie sont bien sûr liés à sa standardisation et à sa facilité de mise en œuvre, notamment dans le cas de l’implémentation Web de SOAP (HTTP).

Ces technologies mais surtout les concepts d’architectures associés à SOA (Service Oriented Architecture) sont à la base d’une nouvelle génération de middleware ; les ESB (Entreprise Service Bus).

L’objet de cet article est de décrire le projet PETALS (http ://petals.objectweb.org) qu’EBM WebSourcing a initialisé conjointement avec une entreprise Brésilienne, Fossil E-Commerce, au sein du consortium ObjectWeb (http://www.objectweb.org) dédié au logiciel libre.

Fondé en 2002 par France Telecom, Bull et l’INRIA, ObjectWeb est un consortium d’acteurs industriels et académiques mondiaux qui conjuguent leurs efforts pour créer en open-source du logiciel middleware de nouvelle génération. Le consortium s'appuie sur des standards ouverts et développe une offre alternative aux systèmes propriétaires dans le domaine de l'e-business, de l'EAI, des grilles de calcul et des messageries d'entreprise. ObjectWeb propose ainsi des solutions prêtes à l'emploi, dont la mise en oeuvre est immédiatement rentable. JOnAS (implantation open-source des spécifications J2EE TM), JORAM (bus à messages conforme JMS), Enhydra (serveur d'application Java/XML) en sont des exemples.

Ce document est organisé de la manière suivante : la première partie fait un tour d’horizon des concepts SOA et ESB, la seconde partie détaille le standard JBI (Java Business Integration) alors que la troisième donne des informations sur le projet PETALS.

SOA et ESB

SOA est un concept (pattern) d’architecture faiblement couplée, dont l’ESB est une mise en œuvre possible ; nous allons détailler ces notions dans ce paragraphe.

SOA (Service Oriented Architecture)

La notion de SOA (Service Oriented Architecture) définit un style d’architecture reposant sur l’assemblage de services proposés par les applications. Dans ce style d’architecture, les différents composants logiciels sont connectés par un couplage lâche.

Dans une architecture de services, chaque élément applicatif doit fournir tout ou partie de ses fonctionnalités sous formes de services pouvant être appelés par d’autres applications. Pour fournir ses services, un élément applicatif peut utiliser des services proposés par d’autres applications, pouvant être issues de technologies hétérogènes.

Globalement, « l’approche SOA » est l’union :

  1. D’une méthodologie pour identifier et concevoir des applications comme des assemblages de services,
  2. D’un ensemble d’outils et d’infrastructures pour faciliter la création de ces services et leur utilisation,
  3. De patterns de construction de services.

Un des principaux enjeux métier et technique de ce type d’approche est lié à la conception des services et notamment à leur granularité. Les principales règles spécifient que les services doivent pouvoir être découverts dynamiquement, qu’ils sont interopérables, faiblement couplés, de forte granularité et composable (au sein d’une application, d’un service de plus forte granularité ou orchestré dans un processus métier). Ces règles ont pour corollaire un mode de communication asynchrone par messages basé sur l’échange de documents.

Un des patterns de base de ce type d’architecture est le « find, bind and execute » qui autorise un consommateur de service à demander à un répertoire partagé un service correspondant à un critère spécifié. Si le répertoire dispose d’un service correspondant à la requête, il retourne au consommateur un contrat, une adresse et un point de contact pour ce service que le consommateur est alors susceptible d’invoquer.

Find, bind and execute pattern
Find, bind and execute pattern

Bien que pouvant être mis en œuvre par différents types de technologies (CORBA, Jini, etc.) la SOA s’appuie généralement sur les standards Web Services : SOAP (format d’échange de messages en XML standardisé par le W3C), WSDL (description de l’interface d’un service standardisé par le W3C), UDDI (annuaire distribué qui permet de publier les interfaces des services Web) et la gamme WS-* qui comprennent notamment des spécifications telles que :

WS-Security : sécurité des services Web.

WS-Distributed Management (WS-DM) : gestion des endpoints.

WS-Reliable (WS-ReliableMessaging, WS-Reliability) : Acheminement de bout en bout des messages SOAP.

SOA est donc principalement un ensemble de bonnes pratiques qui, comme nous allons le voir ci-dessous, trouvent une réalisation efficace dans une mise en œuvre ESB.

ESB (Enterprise Service Bus)

L’ESB est un concept apparu en 2003, défini par le Gartner Group, et poussé tout particulièrement par Sonic Software et son évangéliste Dave Chappell dont le livre sur « Enterprise Service Bus » a été publié en 2004.

L’ESB emprunte à l’approche EAI la possibilité de proposer des outils pour :

  1. L’acheminement et le routage des messages.
  2. La connexion des progiciels (ERP, CRM) ou des technologies standards (SGBDR, XML, etc.).
  3. La transformation des données.
  4. La gestion du workflow applicatif.

Un « Enterprise Service Bus » est une solution d’intégration implémentant une architecture totalement distribuée, et fournissant des services comme la transformation des données ou le routage basé sur le contenu (CBR), ainsi qu’une interopérabilité accrue par l’utilisation systématique des standards comme XML, les Web Services et les normes WS-*.

La notion de distribution est centrale pour un ESB. En effet, par essence les applications à intégrer sont réparties sur différentes machines. Par la mise en œuvre de ce principe de distribution, le « bus » de l’ESB devient virtuel, les données de configuration et d’administration étant alors distribuées sur les extrémités de l’ESB, c’est-à-dire au plus près des applications à intégrer. Ceci permet de contourner les problèmes liés à l’architecture « hub and spoke » proposée classiquement par les solutions EAI, et amène à des architectures sans SPOF (Single Point Of Failure : point unique par lequel passent tous les traitements et qui paralysent un système en cas de panne).

Une offre ESB doit offrir des services techniques comme la transformation des messages, le routage basé sur le contenu et éventuellement l’orchestration des services.

Le standard JBI

JBI est un standard permettant d’assembler des composants pour construire des solutions d’intégrations. La norme JBI se base sur quelques éléments fondamentaux : les « Binding Components », qui sont des composants d’intégration de type connecteur ; les « Service Engines » qui sont des composants d’intégration de type transformation de message, workflow, ou autre traitement ; le « Normalized Message Router » qui assure le couplage faible entre les composants ; le « Normalized Message », qui reprend l’approche orientée document adoptée par la communauté Web Services.

L’intérêt de JBI par rapport à d’autres spécifications réside principalement dans le fait qu’elle reprend les « bonnes pratiques » du monde XML et Web Services pour les appliquer à l’assemblage de composants Java :

  1. Définition des interfaces en WSDL.
  2. Utilisation de la notion de Normalized Message Router qui introduit un niveau de couplage faible entre les composants.
  3. Utilisation de XML pour représenter les données échangées.

Il apparaît clairement que la spécification JBI met XML et les standards Web Services comme WSDL au centre des solutions d’intégration en Java. Ainsi, une implémentation JBI doit obligatoirement fournir un Binding Component respectant le WS-I Basic Profile pour être certifiée.

Cependant, il faut noter que les utilisateurs finaux utiliseront peu la spécification JBI, si ce n’est pour adapter ou étendre une solution d’intégration à leur besoin spécifique. En effet, la bonne pratique pour se connecter à un environnement de type ESB est d’utiliser les standards Web Services, qui fournissent la meilleure indépendance entre le client, l’infrastructure ESB, et le serveur.

C’est donc pour les éditeurs ou les intégrateurs de solutions de type ESB que la norme JBI est pertinente. Elle prend tout son sens dans le cadre d’un consortium comme ObjectWeb en servant de catalyseur entre les différents projets du consortium pour être capable de les assembler rapidement en créant de nouvelles solutions d’intégration. Ceci est vrai aussi bien pour les projets fournissant principalement des connexions au niveau protocole, que pour des projets fournissant des traitements de plus haut niveau comme des outils de transformation ou d’enrichissement, ou encore des outils de Workflow.

Le projet PETALS

Le projet PETALS s’inscrit dans l’initiative ESB lancée par ObjectWeb en juin 2004 afin de fédérer les efforts autour des projet open source dans le domaine du middleware d’intégration.

Les principaux objectifs du projet sont de proposer une implémentation d’une plate-forme JBI prenant en compte les problématiques d’environnements d’intégration hautement distribués, et fournissant les bases pour la construction de passerelles B2B en proposant des Binding Components du type ebXML, et autres.

Le projet PETALS travaille en étroite collaboration avec le projet Celtix pour réaliser une intégration bidirectionnelle entre les deux projets : PETALS utilisera des composants Celtix pour fournir un grand nombre de Binding Components y compris certains protocoles de la pile SOAP, et Celtix utilisera PETALS comme niveau d’implémentation de JBI.

L’intérêt est que Celtix propose un grand nombre de protocoles de transports, y compris les protocoles de la pile WS-*.

Le projet PETALS aborde aussi la problématique des environnements hautement distribués, capables de traiter de plusieurs dizaines à plusieurs centaines de containers de services. Cette partie est fondamentale pour EBM Websourcing, dans le sens où le projet PETALS sera la fondation de son offre d’ISP (Integration Service Provide). C’est une approche nouvelle pour une solution Open Source, et qui implique un effort important quant à l’administration et à la supervision d’un tel environnement, bien au delà de la simple implémentation de la spécification JBI.

Le projet PETALS est supporté par EBM WebSourcing en France et par Fossile E-Commerce au Brésil. Une première version proposant une implémentation de JBI au dessus du projet Celtix verra le jour d’ici la fin de l’année. Les problématiques avancées comme la supervision, et la gestion d’environnements hautement distribués seront intégrées en 2006.

Le projet PETALS, en tant que projet Open Source sous licence LGPL, sera très heureux d’accueillir les contributeurs qui, nous l’espérons, seront très nombreux.

EBM WebSourcing

EBM WebSourcing est une startup Toulousaine créée en 2004 qui se positionne comme une SSLL (Société de Services en Logiciels Libres) spécialisée dans le domaine des solutions collaboratives destinées aux PME. Cette plate-forme collaborative, basé sur le framework ESB décrit ci-dessus, met l’accent d’une part sur l’interopérabilité induite par la mise en œuvre des standards XML, d’autre part sur les faibles coûts de possession associés à un modèle économique basé sur un logiciel libre et à l’externalisation des processus collaboratifs en mode locatif.

La pile des technologies correspondantes est illustrée par la figure ci-dessous :

Le modèle en couche et les technologies
Le modèle en couche et les technologies

Bibliographie

Chappell, D. A.: Enterprise Service Bus – O’Reilly, 2004

McGovern, J.; Tyagi, S.; Stevens, M.; Mathew S.: Java Web Services Architecture – Morgan Kaufman Publishers, 2003


 

Mots clés.



L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.


Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot  

Conception, réalisation et hébergement
Questions ou commentaires
  redacteurs@xmlfr.org