INFO : PETALS
[email protected] Thu, 10 Nov 2005 15:23:05 +0100 (CET)
| Newsgroups | gmane.text.xml.french.general |
|---|---|
| Message-ID | <[email protected]> |
PETALS Un projet d? ESB conforme au standard JBI ou comment les standards XML=20 contribuent a l?integration des systemes d?information Gael BLONDELLE=A0 , Adrien LOUIS=A0 et Jean-Pierre LORRE=A0=20 ([email protected], http://www.ebmwebsourcing.com) --------------- Retrouvez cet article en ligne (http://xmlfr.org/actualites/decid/051109-0001). Donnez votre avis ! mailto:[email protected]?subject=3DRe:%20INFO%20:%20PETALS --------------- Introduction Les standards XML sont au c?ur des nouvelles solutions d?integration=20 proposees actuellement. Elles sont issues de la convergence de=20 plusieurs technologies : - Les technologies middleware en general ( MOM , ORB ) et l? EAI=20 (Enterprise Application Integration) en particulier. Ces derniers ont=20 participes a la generalisation des outils de communication=20 inter-applications ( A2A ) et a la diffusion des concepts. Bien qu?un=20 effort de standardisation ait eu lieu au niveau des couches basses de=20 communication ( CORBA / IIOP ) ces outils sont tres souvent=20 specifiques a un editeur et manquent de standardisation et=20 d?interoperabilite. - Les technologies de l? EDI (Electronic Data Interchange) ont ete=20 developpees pour l?echange de donnees inter-entreprises ( B2B ).=20 Essentiellement orientee vers l?echange de documents, la communaute=20 s'est surtout focalisee sur la definition de standards metiers pour=20 les processus d?echange et la representation des informations (=20 Edifact en Europe et Ansi X12 aux Etats-Unis). - Les services Web qui s?appuient sur un ensemble de specifications XML=20 ( SOAP , WSDL et UDDI ) afin de publier sous une forme accessible par=20 Internet les interfaces des applications. Les principaux avantages de=20 cette technologie sont bien sur lies a sa standardisation et a sa=20 facilite de mise en ?uvre, notamment dans le cas de l?implementation=20 Web de SOAP ( HTTP ). Ces technologies mais surtout les concepts d?architectures associes a=20 SOA (Service Oriented Architecture) sont a la base d?une nouvelle=20 generation de middleware ; les ESB (Entreprise Service Bus). L?objet de cet article est de decrire le projet PETALS (http=20 ://petals.object.org [1] ) qu? EBM WebSourcing a initialise=20 conjointement avec une entreprise Bresilienne, Fossil E-Commerce , au=20 sein du consortium ObjectWeb (http://www.objectweb.org [2] ) dedie au=20 logiciel libre. Fonde en 2002 par France Telecom , Bull et l? INRIA , ObjectWeb est un=20 consortium d?acteurs industriels et academiques mondiaux qui conjuguent=20 leurs efforts pour creer en open-source du logiciel middleware de=20 nouvelle generation. Le consortium s'appuie sur des standards ouverts=20 et developpe une offre alternative aux systemes proprietaires dans le=20 domaine de l'e-business, de l' EAI , des grilles de calcul et des=20 messageries d'entreprise. ObjectWeb propose ainsi des solutions pretes=20 a l'emploi, dont la mise en oeuvre est immediatement rentable. JOnAS=20 (implantation open-source des specifications J2EE TM), JORAM (bus a=20 messages conforme JMS ), Enhydra (serveur d'application Java / XML ) en=20 sont des exemples. Ce document est organise de la maniere suivante : la premiere partie=20 fait un tour d?horizon des concepts SOA et ESB , la seconde partie=20 detaille le standard JBI (Java Business Integration) alors que la=20 troisieme donne des informations sur le projet PETALS . SOA et ESB SOA est un concept (pattern) d?architecture faiblement couplee, dont l?=20 ESB est une mise en ?uvre possible ; nous allons detailler ces notions=20 dans ce paragraphe. SOA (Service Oriented Architecture) La notion de SOA (Service Oriented Architecture) definit un style=20 d?architecture reposant sur l?assemblage de services proposes par les=20 applications. Dans ce style d?architecture, les differents composants=20 logiciels sont connectes par un couplage lache. Dans une architecture de services, chaque element applicatif doit=20 fournir tout ou partie de ses fonctionnalites sous formes de services=20 pouvant etre appeles par d?autres applications. Pour fournir ses=20 services, un element applicatif peut utiliser des services proposes par=20 d?autres applications, pouvant etre issues de technologies heterogenes. Globalement, =AB l?approche SOA =BB est l?union : - D?une methodologie pour identifier et concevoir des applications=20 comme des assemblages de services, - D?un ensemble d?outils et d?infrastructures pour faciliter la=20 creation de ces services et leur utilisation, - De patterns de construction de services. Un des principaux enjeux metier et technique de ce type d?approche est=20 lie a la conception des services et notamment a leur granularite. Les=20 principales regles specifient que les services doivent pouvoir etre=20 decouverts dynamiquement, qu?ils sont interoperables, faiblement=20 couples, de forte granularite et composable (au sein d?une application,=20 d?un service de plus forte granularite ou orchestre dans un processus=20 metier). Ces regles ont pour corollaire un mode de communication=20 asynchrone par messages base sur l?echange de documents. Un des patterns de base de ce type d?architecture est le =AB find, bind=20 and execute =BB qui autorise un consommateur de service a demander a un=20 repertoire partage un service correspondant a un critere specifie. Si=20 le repertoire dispose d?un service correspondant a la requete, il=20 retourne au consommateur un contrat, une adresse et un point de contact=20 pour ce service que le consommateur est alors susceptible d?invoquer. Bien que pouvant etre mis en ?uvre par differents types de technologies=20 ( CORBA , Jini , etc.) la SOA s?appuie generalement sur les standards=20 Web Services : SOAP (format d?echange de messages en XML standardise=20 par le W3C ), WSDL (description de l?interface d?un service standardise=20 par le W3C ), UDDI (annuaire distribue qui permet de publier les=20 interfaces des services Web ) et la gamme WS-* qui comprennent=20 notamment des specifications telles que : WS-Security : securite des services Web. WS-Distributed Management ( WS-DM ) : gestion des endpoints. WS-Reliable ( WS-ReliableMessaging , WS-Reliability ) : Acheminement de=20 bout en bout des messages SOAP. SOA est donc principalement un ensemble de bonnes pratiques qui, comme=20 nous allons le voir ci-dessous, trouvent une realisation efficace dans=20 une mise en ?uvre ESB . ESB (Enterprise Service Bus) L? ESB est un concept apparu en 2003, defini par le Gartner Group , et=20 pousse tout particulierement par Sonic Software et son evangeliste Dave=20 Chappell=A0 dont le livre sur =AB Enterprise Service Bus =BB a ete publie= en=20 2004. L? ESB emprunte a l?approche EAI la possibilite de proposer des outils=20 pour : - L?acheminement et le routage des messages. - La connexion des progiciels ( ERP , CRM ) ou des technologies=20 standards ( SGBDR , XML , etc.). - La transformation des donnees. - La gestion du workflow applicatif. Un =AB Enterprise Service Bus =BB est une solution d?integration=20 implementant une architecture totalement distribuee, et fournissant des=20 services comme la transformation des donnees ou le routage base sur le=20 contenu ( CBR ), ainsi qu?une interoperabilite accrue par l?utilisation=20 systematique des standards comme XML , les Web Services et les normes=20 WS-*. La notion de distribution est centrale pour un ESB . En effet, par=20 essence les applications a integrer sont reparties sur differentes=20 machines. Par la mise en ?uvre de ce principe de distribution, le =AB bus= =20 =BB de l? ESB devient virtuel, les donnees de configuration et=20 d?administration etant alors distribuees sur les extremites de l? ESB ,=20 c?est-a-dire au plus pres des applications a integrer. Ceci permet de=20 contourner les problemes lies a l?architecture =AB hub and spoke =BB=20 proposee classiquement par les solutions EAI , et amene a des=20 architectures sans SPOF (Single Point Of Failure : point unique par=20 lequel passent tous les traitements et qui paralysent un systeme en cas=20 de panne). Une offre ESB doit offrir des services techniques comme la=20 transformation des messages, le routage base sur le contenu et=20 eventuellement l?orchestration des services. Le standard JBI JBI est un standard permettant d?assembler des composants pour=20 construire des solutions d?integrations. La norme JBI se base sur=20 quelques elements fondamentaux : les =AB Binding Components =BB, qui sont= =20 des composants d?integration de type connecteur ; les =AB Service Engines= =20 =BB qui sont des composants d?integration de type transformation de=20 message, workflow, ou autre traitement ; le =AB Normalized Message Router= =20 =BB qui assure le couplage faible entre les composants ; le =AB Normalize= d=20 Message =BB, qui reprend l?approche orientee document adoptee par la=20 communaute Web Services. L?interet de JBI par rapport a d?autres specifications reside=20 principalement dans le fait qu?elle reprend les =AB bonnes pratiques =BB = du=20 monde XML et Web Services pour les appliquer a l?assemblage de=20 composants Java : - Definition des interfaces en WSDL . - Utilisation de la notion de Normalized Message Router qui introduit=20 un niveau de couplage faible entre les composants. - Utilisation de XML pour representer les donnees echangees. Il apparait clairement que la specification JBI met XML et les=20 standards Web Services comme WSDL au centre des solutions d?integration=20 en Java . Ainsi, une implementation JBI doit obligatoirement fournir un=20 Binding Component respectant le WS-I Basic Profile pour etre certifiee. Cependant, il faut noter que les utilisateurs finaux utiliseront peu la=20 specification JBI , si ce n?est pour adapter ou etendre une solution=20 d?integration a leur besoin specifique. En effet, la bonne pratique=20 pour se connecter a un environnement de type ESB est d?utiliser les=20 standards Web Services, qui fournissent la meilleure independance entre=20 le client, l?infrastructure ESB , et le serveur. C?est donc pour les editeurs ou les integrateurs de solutions de type=20 ESB que la norme JBI est pertinente. Elle prend tout son sens dans le=20 cadre d?un consortium comme ObjectWeb en servant de catalyseur entre=20 les differents projets du consortium pour etre capable de les assembler=20 rapidement en creant de nouvelles solutions d?integration. Ceci est=20 vrai aussi bien pour les projets fournissant principalement des=20 connexions au niveau protocole, que pour des projets fournissant des=20 traitements de plus haut niveau comme des outils de transformation ou=20 d?enrichissement, ou encore des outils de Workflow. Le projet PETALS Le projet PETALS s?inscrit dans l?initiative ESB lancee par ObjectWeb=20 en juin 2004 afin de federer les efforts autour des projet open source=20 dans le domaine du middleware d?integration. Les principaux objectifs du projet sont de proposer une implementation=20 d?une plate-forme JBI prenant en compte les problematiques=20 d?environnements d?integration hautement distribues, et fournissant les=20 bases pour la construction de passerelles B2B en proposant des Binding=20 Components du type ebXML , et autres. Le projet PETALS travaille en etroite collaboration avec le projet=20 Celtix pour realiser une integration bidirectionnelle entre les deux=20 projets : PETALS utilisera des composants Celtix pour fournir un grand=20 nombre de Binding Components y compris certains protocoles de la pile=20 SOAP , et Celtix utilisera PETALS comme niveau d?implementation de JBI=20