Vous êtes sur la page 1sur 34

ESB Open Source

21 & 22 Octobre 2008 - Paris la Dfense

Willy GOLDGEWICHT Architecte senior Valtech Technology willy.goldgewicht@valtech.fr

Sommaire
Introduction
> Qu'est-ce qu'un ESB? , ESB & SOA

1. Un ESB pourquoi faire?


> Les patterns d'intgration (EIP) > Mdiation de protocole, Composition de service > Fonctions d'un ESB, EAI & ETL, BPM > ESB & Standards, Apache Servicemix, Apache Camel, PEtALS > Open ESB, Apache Synapse, MULE, Spring Integration, Jboss ESB > Critres de choix , Quel ESB choisir ?

2. Comment mettre en uvre un ESB?


3. Comment choisir un ESB ? 4. Retour d'expriences Conclusion

Valtech Days 2008

#2

Introduction
> Qu'est-ce qu'un ESB? > ESB & SOA

Qu'est-ce qu'un ESB?


Un ESB (Enterprise Service Bus) est un bus logiciel bas sur des composants de connexion et de mdiation sappuyant sur les standards du web. Ces composants forment plus gnralement ce qu'on appelle des composants d'intgration. Leur assemblage forme un processus d'intgration.
Connexion Mdiation Mdiation Connexion

Valtech Days 2008

#4

ESB & SOA

Valtech Days 2008

#5

1. Un ESB pourquoi faire?

> Les patterns d'intgration (EIP) > Mdiation de protocole > Composition de service > Fonctions d'un ESB > ESB vs EAI vs ETL > ESB vs BPM

Un ESB pourquoi faire? Introduction : les patterns d'intgration


Dans la suite de l'expos on s'appuiera sur le catalogue des patterns d'intgration publi en 2004 dans le livre de Gregor Hohpe et Bobby Woolf : Enterprise Integration Patterns (EIP)
Integration Styles Messaging Endpoints Message Construction Messaging Channels Message Routing Message Transformation System Management

Valtech Days 2008

#7

Exemples d'EIP

Valtech Days 2008

#8

Mdiation de protocoles
Un ESB peut tre un mdiateur de protocoles. Il prsente l'appelant un service dans un protocole donn et l'implmente par appel d'un service cible dans un autre protocole. Exemple : REST <-->SOAP HTTP

Protocole A
Valtech Days 2008

Protocole B #9

Exemples de mdiation de protocole


Un appel entrant est rout sur des services cibles dpendant du contexte d'appel : Changement de version Load balancing Adaptation un niveau de QoS requis, ce qui suppose : qu'un service puisse dclarer le niveau de QoS fourni qu'un client puisse spcifier le niveau de QoS requis

Valtech Days 2008

#10

Composition de services
L'ESB hberge un nouveau service, implment par composition de services de plus bas niveau existants en facade des ressources.

Service propos au client implment par composition de services

Valtech Days 2008

#11

Fonctions d'un ESB

Transport /Routage

Enrichissement de messages

Mdiation ESB Annuaire Transactions

Transformation de messages

Transformation Protocoles

Scurit

Supervision

Valtech Days 2008

#12

EAI & ETL


L'EAI (Enterprise Application Integration) est une solution logicielle propritaire et plutt monolithique pour lchange de donnes au fil de leau, fourni avec un ensemble de connecteurs permettant de communiquer avec les bases de donnes, les progiciels, les mainframes, selon divers protocoles. LETL (Extract, Transform & Load) est une solution logicielle ddie la synchronisation des donnes par lot, utilis gnralement pour alimenter les entrepts de donnes pour le dcisionnel (datawarehouse)
Talend Studio

Valtech Days 2008

#13

BPM (Business Process Modeling)


Le BPM consiste modliser des processus mtier. Exemple en BMPN :

L'exemple du Loan Broker, tir du livre EIP relve-t-il du domaine BPM ou du domaine ESB?

Valtech Days 2008

#14

3. Comment mettre en uvre un ESB?

> ESB & Standards > Apache Servicemix, PEtALS, Open ESB > Apache Camel, Apache Synapse, MULE > Spring Integration, Jboss ESB

Architecture & Concepts


Les ESB Open Source ont des architectures, des concepts, des modes de mise en uvre spcifiques. Une chose qu'ils ont au moins en commun est la mise en uvre de composants d'intgration selon le pattern : pipe & filters:

De plus, configurer un processus d'intgration c'est la fois :

Configurer l'ESB Configurer chacun des composants

Valtech Days 2008

#16

ESB et les standards


JBI (Java Business Integration)
d'intgration

Spcification dans le monde Java (JSR 208), d'architecture de composants Standard pour la spcification de composants logiciels multi-langages

SCA (Service Component Architecture)

OSGI (Open Service Gateway Initiative) EIP ...

Standard d'origine OSGI Alliance pour la matrise des dpendances dans le


monde Java (JSR 8 : 1999!). Il est la base du mcanisme de plugin Eclipse (Eclipse Equinox).

Valtech Days 2008

#17

Apache Servicemix
JBI OSGI SCA?

file ftp http jms

mail xmpp cxf

quartz saxon drools eip

bean camel

IDE Eclipse / FUSE Integration Designer

Valtech Days 2008

#18

PEtALS
JBI

IDE Eclipse / CIMERO 2

Filetransfer FTP HTTP JMS

Mail SOAP XMPP XQuare

Bonita CSV EIP BPEL

POJO Script Transcoder XSLT

Valtech Days 2008

#19

SUN Open ESB

JBI

Netbeans / BPEL
Filetransfer FTP HTTP JMS Mail SOAP LDAP .............. Aspect BPEL Camel BPEL ETL Scripting SQL XSLT

Valtech Days 2008

#20

Apache Camel
EIP

DSL : exemple :

Valtech Days 2008

#21

Apache synapse
WS-RM WS-Addressing WS-Security Service Registry Load Balancing Cache Spcifique

Service Mediation

Message Mediation (proxy) Mediators Core Transformation Selection Database Advanced EIP Splitter Aggregator

Endpoints HTTP JMS Mail VFS

Valtech Days 2008

#22

MULE
Spcifique SCA?

Transports 30 +

Transformers Basic (12+) XML Scripting Encryption Compression Encoding Channel Endpoint Router Transformer

IDE Eclipse

Valtech Days 2008

#23

Spring Integration
EIP

JMS RMI HTTP FILE

FTP MAIL WS Stream

Handler Channel Endpoint Ch.Adapter

Router Splitter Aggregator S.Activator

Valtech Days 2008

#24

Jboss ESB
Spcifique

IDE Eclipse (Strotypes UML)

File FTP HTTP JMS

Mail SOAP ..............

BPEL Rules SQL XSLT

Aggregator CBRouter StatRouter Wiretap

Valtech Days 2008

#25

4. Comment choisir un ESB ?

> Critres de choix > Quel ESB choisir ?

Critres de choix
Facilit de mise en uvre

IDE Graphique Editeur Intgrateur Equipe ddie

Qualit du support

Qualit de la documentation Composants d'intgration Support des standards

Bibliothque disponible Facilit de dveloppement EIP JBI / SCA

Valtech Days 2008

#27

Quel ESB choisir?

Jboss Jboss ESB

Valtech Days 2008

#28

5. Retour d'expriences

Cas 1
4 criture d'un fichier transform incluant 5 Envoi d'un mail les informations pour signaler la fin de venant du WS l'opration 1 Lecture d'un fichier Servicemix 3.2.1 2 criture d'un fichier transform 3 Appel d'un WS

Valtech Days 2008

#30

Cas 2

HTTP

JMS

JMS

HTTP

HTTP

JMS

JMS

HTTP

Servicemix 3.2.2

Servicemix 3.2.2

INTRANET

DMZ

Valtech Days 2008

#31

Bilan

Bilan
Les ESB Open Source sont complexes mettre en uvre et ne disposent pas de toutes les fonctionnalits normalement attendues. Cependant, par leur caractre innovant, ils montrent la voie de ce que pourrait tre l'ESB de demain : un outil s'appuyant sur un IDE de mise en uvre graphique des EIP.

Valtech Days 2008

#33

Rfrences
Tijs Rademakers , Jos Dirksen Manning 2008 http://www.manning.com/rademakers/ http://www.eclipse.org/stp/

Jeff Davis Manning 2008 (early edition) 2009 (final release) http://www.manning.com/davis/

Valtech Days 2008

#34

Vous aimerez peut-être aussi