Upload
yassine-chawki
View
190
Download
0
Tags:
Embed Size (px)
Citation preview
ESB Open Source
Willy GOLDGEWICHTArchitecte senior
Valtech Technology
21 & 22 Octobre 2008 - Paris la Défense
#2Valtech Days 2008
Sommaire
Introduction> Qu'est-ce qu'un ESB? , ESB & SOA
1. Un ESB pourquoi faire? > Les patterns d'intégration (EIP)> Médiation de protocole, Composition de service> Fonctions d'un ESB, EAI & ETL, BPM
2. Comment mettre en œuvre un ESB?> ESB & Standards, Apache Servicemix, Apache Camel, PEtALS> Open ESB, Apache Synapse, MULE, Spring Integration, Jboss ESB
3. Comment choisir un ESB ?> Critères de choix , Quel ESB choisir ?
4. Retour d'expériences
Conclusion
Introduction
> Qu'est-ce qu'un ESB? > ESB & SOA
#4Valtech Days 2008
Qu'est-ce qu'un ESB?
Un ESB (Enterprise Service Bus) est un bus logiciel basé sur des composants de connexion et de médiation s’appuyant sur les standards du web. Ces composants forment plus généralement ce qu'on appelle des composants d'intégration. Leur assemblage forme un processus d'intégration.
Connexion ConnexionMédiation Médiation
#5Valtech Days 2008
ESB & SOA
1. Un ESB pourquoi faire?
> Les patterns d'intégration (EIP)> Médiation de protocole> Composition de service> Fonctions d'un ESB> ESB vs EAI vs ETL> ESB vs BPM
#7Valtech Days 2008
Un ESB pourquoi faire? Introduction : les patterns d'intégration
Dans la suite de l'exposé on s'appuiera sur le catalogue des patterns d'intégration 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
#8Valtech Days 2008
Exemples d'EIP
#9Valtech Days 2008
Médiation de protocoles
Un ESB peut être un médiateur de protocoles. Il présente à l'appelant un service dans un protocole donné et l'implémente par appel d'un service cible dans un autre protocole.
• Exemple : REST <-->SOAP HTTP
Protocole A Protocole B
#10Valtech Days 2008
Exemples de médiation de protocole
Un appel entrant est routé sur des services cibles dépendant du contexte d'appel :
• Changement de version• Load balancing• Adaptation à un niveau de QoS requis, ce qui suppose :
• qu'un service puisse déclarer le niveau de QoS fourni• qu'un client puisse spécifier le niveau de QoS requis
#11Valtech Days 2008
Composition de services
L'ESB héberge un nouveau service, implémenté par composition de services de plus bas niveau existants en facade des ressources.
Service proposé au clientimplémenté par composition de services
#12Valtech Days 2008
Fonctions d'un ESB
MMéédiation ESBdiation ESB
SupervisionSupervision
TransactionsTransactions
SSéécuritcuritéé
AnnuaireAnnuaire
TransformationTransformationProtocolesProtocoles
EnrichissementEnrichissementde messagesde messages
TransformationTransformationde messagesde messages
TransportTransport/Routage/Routage
#13Valtech Days 2008
EAI & ETL
L'EAI (Enterprise Application Integration) est une solution logicielle propriétaire et plutôt monolithique pour l’échange de données au fil de l’eau, fourni avec un ensemble de connecteurs permettant de communiquer avec les bases de données, les progiciels, les mainframes, selon divers protocoles.
L’ETL (Extract, Transform & Load) est une solution logicielle dédiée àla synchronisation des données par lot, utilisé généralement pour alimenter les entrepôts de données pour le décisionnel (datawarehouse)
Talend Studio
#14Valtech Days 2008
BPM (Business Process Modeling)
L'exemple du Loan Broker, tiré du livre EIP relève-t-il du domaine BPM ou du domaine ESB?
Le BPM consiste à modéliser desprocessus métier. Exemple en BMPN :
3. Comment mettre en œuvre un ESB?
> ESB & Standards> Apache Servicemix, PEtALS, Open ESB> Apache Camel, Apache Synapse, MULE> Spring Integration, Jboss ESB
#16Valtech Days 2008
Architecture & Concepts
Les ESB Open Source ont des architectures, des concepts, des modes de mise en œuvre spécifiques.Une chose qu'ils ont au moins en commun est la mise en œuvre de composants d'intégration selon le pattern : pipe & filters:
De plus, configurer un processus d'intégration c'est à la fois :• Configurer l'ESB• Configurer chacun des composants
#17Valtech Days 2008
ESB et les standards
• JBI (Java Business Integration)• Spécification dans le monde Java (JSR 208), d'architecture de composants
d'intégration• SCA (Service Component Architecture)
• Standard pour la spécification de composants logiciels – multi-langages
• OSGI (Open Service Gateway Initiative)• Standard d'origine OSGI Alliance pour la maîtrise des dépendances dans le
monde Java (JSR 8 : 1999!). Il est à la base du mécanisme de plugin Eclipse (Eclipse Equinox).
• EIP ...
#18Valtech Days 2008
Apache Servicemix
file
ftp
http
jms
xmpp
cxf
quartz
saxon
drools
eip
bean
camel
IDE Eclipse / FUSE Integration Designer
JBI – OSGI ���� SCA?
#19Valtech Days 2008
PEtALS
Filetransfer
FTP
HTTP
JMS
SOAP
XMPP
Bonita
CSV
EIP
BPEL
POJO
Script
XQuare
Transcoder
XSLT
JBI
IDE Eclipse / CIMERO 2
#20Valtech Days 2008
SUN Open ESB
Filetransfer
FTP
HTTP
JMS
SOAP
LDAP
Aspect
BPEL
Camel
BPEL
ETL
Scripting
..............
SQL
XSLT
JBI
Netbeans / BPEL
#21Valtech Days 2008
Apache Camel
DSL : exemple :
EIP
#22Valtech Days 2008
Apache synapse
HTTP
JMS
VFS
Core
Transformation
Selection
Database
Advanced
EIP
Endpoints Mediators
Message Mediation (proxy)
Service Mediation
WS-RMWS-AddressingWS-SecurityService RegistryLoad BalancingCache
Spécifique
SplitterAggregator
#23Valtech Days 2008
MULE
Spécifique ���� SCA?
IDE Eclipse
30 +
Transports
Basic (12+)
Transformers
XML
Scripting
Encryption
Compression
Encoding
Channel
Endpoint
Router
Transformer
#24Valtech Days 2008
Spring Integration
EIP
JMS
RMI
HTTP
FILE
FTP
WS
Handler
Channel
Endpoint
Ch.Adapter
Router
Splitter
Stream
Aggregator
S.Activator
#25Valtech Days 2008
Jboss ESB
File
FTP
HTTP
JMS
SOAP
BPEL
Rules
.............. SQL
XSLT
Aggregator
CBRouter
StatRouter
Wiretap
Spécifique
IDE Eclipse(Stéréotypes UML)
4. Comment choisir un ESB ?
> Critères de choix > Quel ESB choisir ?
#27Valtech Days 2008
Critères de choix
Facilité de mise en œuvre• IDE Graphique
Qualité du support• Editeur• Intégrateur• Equipe dédiée
Qualité de la documentationComposants d'intégration
• Bibliothèque disponible• Facilité de développement
Support des standards• EIP• JBI / SCA
#28Valtech Days 2008
Quel ESB choisir?
Jboss
Jboss ESB
5. Retour d'expériences
#30Valtech Days 2008
Cas 1
1 Lecture d'un fichier
5 Envoi d'un mail pour signaler la fin de l'opération
2 Écriture d'un fichier transformé
3 Appel d'un WS
4 Écriture d'un fichier transformé incluant les informations venant du WS
Servicemix 3.2.1
#31Valtech Days 2008
Cas 2
HTTP JMS JMS HTTP
HTTP JMS JMS HTTP
Servicemix 3.2.2 Servicemix 3.2.2
INTRANET DMZ
Bilan
#33Valtech Days 2008
Bilan
Les ESB Open Source sont complexes à mettre en œuvre et ne disposent pas de toutes les fonctionnalités normalement attendues.Cependant, par leur caractère 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.
#34Valtech Days 2008
Références
Tijs Rademakers , Jos DirksenManning – 2008http://www.manning.com/rademakers/
Jeff DavisManning – 2008 (early edition) – 2009 (final release)http://www.manning.com/davis/
http://www.eclipse.org/stp/