Java Business IntegrationJava Business Integration (JBI) est une norme édictée dans la JSR 208 dans le cadre du Java Community Process. JBI est basé sur une approche SOA. Le problème initial est l'intégration de données en provenance de sources différentes au sein d'un système d'information composé d'applications disparates. JBI définit une architecture qui permet la mise en place de solutions d'intégration basées sur l'utilisation de composants qui communiquent via des messages. Les Enterprise Service Bus sont une implémentation de cette norme. JBI est une spécification normalisant ces intégrations via un jeu d'API permettant à tout fournisseur les respectant de pouvoir se connecter à un conteneur JBI pour échanger des messages avec le reste du S.I.. ArchitectureConceptsJBI est une approche orientée composant qui permet de router les messages de composants en composants et reposant sur des concepts suivants. ComponentLes composants proposent des services accessibles par l'intermédiaire d'interfaces. Ce sont les parties enfichables dans le framework JBI. Ils se divisent en deux sous-familles : Service Engine (SE)Les SE fournissent la logique métier et les transformations (XSLT, Drools...). Ils peuvent consommer eux-mêmes d'autres SE. Binding Component (BC)Les BC fournissent la connectivité, qu'il s'agisse de protocoles (FTP, HTTP, ...), de piles (SOAP, JMS, ...) ou de services externes au conteneur JBI. Ils permettent l'accès depuis l'extérieur aux services d'une application JBI. RôlesLes composants peuvent avoir les rôles suivants :
Chaque composant peut être à la fois consumer et provider. EndPointLes services proposés par les composants sont accessibles via des endpoints. Un service correspond à un endpoint. Les composants qui consomment des services peuvent spécifier un endpoint de 2 manières :
Normalized Message Router (NMR)Le Normalized Message Router reçoit et envoie des messages de la part de composants. Il est responsable du routage des messages. Les messages sont tous dans un format normalisé. Message Exchange Pattern (MEP)Il existe quatre MEPs différents, la différence étant basée sur les types d'invocations One-way et Request-Response. Ils permettent de moduler les types de communications.
Normalized MessageLes Normalized Messages sont les messages échangés par une application JBI. Ce sont des documents XML formés :
Delivery ChannelLes composants se « connectent » sur le NMR grâce au delivery channel. C'est une voie de communication bidirectionnelle leur permettant d'envoyer et de recevoir les messages. PackagingJBI défini un packaging standard (une archive Zip) et des descripteurs (fichier jbi.xml) pour l'installation et le déploiement des composants afin de permettre leur portabilité sur tous les ESB conforme à sa spécification, sans modification. Le package d'installation contient tout ce qui est nécessaire à l'installation d'un composant (librairies ...) et obligatoirement un descripteur d'installation qui se trouve dans un dossier META-INF à la racine de l'archive. Le packaging de déploiement des services est divisé en 2 parties : Service Unit (SU)Chaque service à déployer est défini dans un SU. Celui-ci contient toutes les informations relatives au service (fiche de transformation Xslt... ) et obligatoirement un descripteur qui se trouve dans un dossier META-INF à la racine de l'archive. Service Assembly (SA)Les services qui doivent interagir ensemble sont rassemblés dans un SA. Celui-ci contient obligatoirement un descripteur où se trouvent toutes les informations relatives aux SUs à déployer, ainsi que les archives de ces Sus. ImplémentationLes ESBs fournissent une implémentation de la norme JBI plus ou moins stricte. Les composants utilisables sont fournis avec l'ESB, chacun ayant ses propres composants. Les packages sont pour la plupart le plus possible conformes au standard mais tous sont compatibles avec la norme JBI. ProduitsIl existe un grand nombre d'ESB compatibles JBI, libres ou propriétaires ESB certifiés JBI : ESB compatibles JBI :
Lexique
Liens internesLiens externes |
Portal di Ensiklopedia Dunia