SlideShare une entreprise Scribd logo
1  sur  28
Institut National des Sciences Appliquées et de Technologie Tunisie

E-Services

Chapitre 3 – Les Enterprise Service Bus (ESB)

Dr. Lilia SFAXI
GL5 - 2013-2014
1

Plan du Chapitre



Besoins des ESB



Rôle des ESB dans une SOA



Cas d’utilisation d’un ESB
2

Plan du Chapitre



Besoins des ESB



Rôle des ESB dans une SOA



Cas d’utilisation d’un ESB
3

Problématique d’Intégration


Construction des SI
o
o



Chaque domaine métier bâtit un sous-système qui lui est propre
Utilisation de technologies hétérogènes, rarement interopérables

Problématiques d’intégration:
o
o



Comment déclencher, en réponse à un sous-système donné, un traitement dans un autre
sous-système hétérogène?
Comment assurer la consistance et propagation des données entre plusieurs sous-systèmes?

Deux types de solutions:
o

Les outils ETL (Extract-Transform-Load)

o

Les solutions middleware
Outils ETL :

4

Extract-Transform-Load


Réponse à la problématique: Assurer la consistance et propagation des données
entre plusieurs sous-systèmes



Permettent la synchronisation, consolidation et propagation des données entre soussystèmes hétérogènes
o

Extraction des données du système maître

o

Transcodage et traitement de ces données

o

Mise à jour des systèmes fils



Apparus à l’origine pour le chargement des datawarehouses



Inconvénients
o

Approche centrée sur les données

o

Ne permet pas de résoudre la problématique d’intégration des processus
5

Middlewares Network Centric (1/2)


Fournissent un infrastructure technique pour la médiation entre deux ou plusieurs
systèmes



MOM (Message Oriented Middleware)
o

Système Store and Forward

o

Sémantique asynchrone : Le client construit un message et le transmet au middleware, qui
le route vers le ou les systèmes cibles

o

Pas de couplage technique entre les participants

o

Solutions principalement propriétaires : Toutes les parties doivent connaître le mode
d’interfaçage du middleware

o

Capacités de routage limitées, obligeant à configurer explicitement les routes à prendre
6

Middlewares Network Centric (2/2)


ORB (Object Request Broker)
o

S’appuie sur la spécification CORBA

o

Sémantique d’invocation point à point synchrone ou asynchrone, avec un protocole et
encodage standardisés

o

Objectif : architecture d’intégration universelle

o

Inconvénients : complexité de mise en œuvre, et problèmes d’interopérabilité des
implémentations (contrairement aux promesses de la spécification)

➪

Solutions très techniques

➪

Couplage fonctionnel fort
Les EAI :

Enterprise Application Integration


Architecture Hub and Spoke: Un composant central :
o

Assure la médiation physique entre le client et sa cible

o

Prend en charge les problématiques techniques de bas niveau (localisation, disponibilité,
communication, transcodage, traces, sécurité…)



Permettent d’assurer la transformation des données pour limiter le couplage fonctionnel entre
systèmes



Permettent d’appliquer des règles de routage sophistiquées



Jouent le rôle d’orchestrateur : hébergent des processus métier de haut niveau



Inconvénients
o

Architecture propriétaire :


protocole d’échange et de transport



technologie interne



Formats et encodages des données

 besoin de connecteurs spécifiques aux éditeurs
o

SPOF (Single Point of Failure)

o

Mélange de rôles (médiation et orchestration)  Brique complexe

7
Les ESB :

8

Enterprise Service Bus



Les EAI se sont transformés en deux types de produits:
o

Les ESB pour les fonctions d’interconnexion et de médiation

o

Les solutions de type BPM pour l’orchestration des processus



Contrairement aux EAI, les données ne doivent pas être ramenées à l’ESB
pour être traitées, mais sont envoyées aux applications via des connecteurs
distants



Construit conformément aux principes SOA : Ses différentes parties sont
faiblement couplées et peuvent être déployées séparément si nécessaire



ESB s’appuient en général sur des standards
9

ESB : Définition


Architecture de services distribuée, qui inclut un modèle de conteneur léger pour
héberger des composants d’intégration comme services distants



Permet de :
o

Délivrer des messages entre applications et services

o

Réaliser les transformations des données XML

o

Router les messages selon leur contenu



Framework de sécurité flexible



Infrastructure de gestion qui permet de configurer, déployer et gérer vos services
distants
10

Plan du Chapitre



Besoins des ESB



Rôle des ESB dans une SOA



Cas d’utilisation d’un ESB
11

A quoi sert un ESB? (1/2)


Réconcilier les mondes hétérogènes
o



Découpler consommateurs et fournisseurs de services
o



Consommateur ne voit que l’ESB, et ne connaît si le format ni le protocole utilisé par le fournisseur

Agréger les services de niveau N pour construire des services de niveau N+1
o



Standards d’interopérabilité ou connecteurs spécialisés

Si l’agrégation est complexe ou nécessite des structures de contrôle de flux d’exécution, il utilise
un moteur d’orchestration (BPEL par exemple)

Tracer les messages
o

Traçabilité et monitoring des traitements

o

Peut utiliser une solution tierce pour adresser les problématiques de SLA, QoS, BAM (Business
Activity Monitoring)…
12

A quoi sert un ESB? (2/2)


Exposer des services d’applications qui ne supportent pas la fonctionnalité de
médiation (Mainframes ou progiciels)



Mutualiser les accès aux applications
o
o

Contrôler la charge

o



Mieux gérer les ressources

Appliquer des règles de sécurité ou priorité

Minimiser les coûts des connecteurs
o



Le connecteur est déployer une seule fois sur l’ESB au lieu d’être déployé sur chaque
application cliente

Implémenter un système de cache pour décharger certaines applications
Fonctionnalités d’un ESB

13

1. Adaptation aux environnements hétérogènes



ESB apporte une couche d’abstraction vis à vis des technologies utilisées dans le SI



Ne dépend pas d’un SE ou d’un langage



Supporte plusieurs standards : WS, XML, JCA



Expose les services de manière uniforme quelque soit la technologie sous-jacente



Utilise XML comme langage standard de représentation et traitement des données



Offre un panel ouvert de connecteurs spécialisés vers les différentes briques du SI
(mainframes, applications propriétaires, progiciels…)
Fonctionnalités d’un ESB
2. Médiation et Routage



Support de différentes sémantiques d’échange (synchrone, asynchrone…)



Gestion des règles de routage sur les messages



Gestion de la priorité des messages



Transformation et conversion de messages



Manipulation des messages : enrichissement, transformation, combinaison,
découpage…



Validation des données entrantes ou sortantes



Gestion des versions de services de façon transparente

14
Fonctionnalités d’un ESB

15

3. Management, Monitoring, Contrat de Service



Suivi et fiabilisation des échanges



Garantie de livraison des messages en conservant les messages non consommés



Suivi des traitements effectués et messages reçus



Gestion de la sécurisation des services
o
o

Autorisation

o

Confidentialité

o



Authentification

Audit

Contrôle des SLA et aptitude à modifier le comportement du bus (priorités…) pour
assurer ces SLA
Fonctionnalités d’un ESB

16

4. Du côté des standards
Format des données

XML, schémas XSD
SDO : Service Data Object : norme de représentation des données
indépendamment du système de stockage, utilisée dans les SOA

Transformation des données

XSLT et XQuery (langage de requête pour l’extraction, transf. et reconstruction
de docs XML )

Exposition de services

WS, WS-Security

Accès aux brokers de
messages

JMS (Java Message Service) pour l’accès aux MOM

Accès aux applications

JCA (Java Connector Architecture) : interface pour l’accès à des applications
tierces

Architecture des composants

SCA (Service Component Architecture)

Architecture Interne

JBI (Java Business Integration) :
- conteneur de services dans un ESB
- gère l’intégration : création de services à partir des applications et entités IT
(basée sur les standards de WS)
- ne gère pas le routage, l’agrégation et l’administration
17

Synthèse
Connectivité

« Super-connecteur », supporte plusieurs protocoles de transport synchrones et
asynchrone

Routage

Routage de messages basé sur des règles (de contenu, contexte..), et s’appuyant
sur un annuaire de services et moteur de règles

Médiation

Adaptation du format des messages, protocole

Exposition de services

Transformation en service de tout composant ou traitement d’application

Agrégation simple de
services

Agrégation simple de services de niveau N pour construire des services de niveau
N+!. Pour les agrégations complexes, utilisation d’un moteur d’orchestration

Traitement d’évènements
complexes

Création de règles de corrélation et de jointure d’évènements

Contrat de Service

SLA, QoS, gestion des priorités, sécurisation des messages, garantie de livraison…

Supervision et Audit

Audit, traçabilité, mesure, administration et exploitation.
18

Risques


Un ESB n’est pas nécessaire au démarrage d’une SOA
o

Nécessité d’une réflexion plus large au niveau du SI et d’un certain niveau de maturité de la
SOA.

o

Il faut d’abord définir la démarche, méthode, organisation et implémentation de la SOA.



Un ESB ne doit pas être considéré comme un orchestrateur de services



Un ESB ne doit pas embarquer trop de métier dans les médiations qu’il propose.



L’ESB peut devenir un goulot d’étranglement
o

Plus les médiations sont complexes, plus il y’a perte de performances
19

Plan du Chapitre



Besoins des ESB



Rôle des ESB dans une SOA



Cas d’utilisation d’un ESB
20

Couplage Lâche
Exposition : Le consommateur ne connaît que l’ESB, il invoque le service que ce dernier lui expose
Routage : ESB détermine le fournisseur de service à invoquer
Transformation : ESB réalise une médiation de format vers celui pris en charge par le fournisseur
Invocation : ESB invoque le fournisseur
21

Composition / Agrégation de services
ESB expose un service virtuel qu’il construit par composition ou agrégation de plusieurs autres services
 Assemblage simple de services, pas une orchestration de processus
22

Gestion de versions
2 cas :
- Versions incompatibles : Le choix d’une version se fait par routage
- Versions compatibles : ESB appelle la nouvelle version en appliquant une transformation des données.
23

Gestion de la QoS
QoS : temps de réponse moyen / fraîcheur des données
- ESB peut déterminer quelle implémentation invoquer en fonction de la QoS désirée (utilisation d’un
moteur de règles)
- ESB peut géolocaliser les services, pour choisir le plus approprié
24

Intégration avec solution d’orchestration
 Éviter de lier fortement l’orchestrateur de processus avec les services qu’il appelle
- ESB convertit les données au format de conception du processus
- ESB expose tous les services avec la même technologie pour simplifier la réalisation du processus
- ESB crée un nouveau service en agrégeant plusieurs services existants
25
Médiation Inter-domaine et Intra-domaine
Domaines :
équipes différentes
plannings différents
budgets différents
- ESB introduit aux frontières des domaines
- Dé-corrélation et découplement des appels
entre domaines
- ESB peut être utilisé dans un échange B2B
comme douanier entre applications internes
et partenaires
- ESB gère :
* conversion des protocoles
* conversion des formats
* aspects de sécurité
* traçabilité des échanges
26

Exposition de services
- Exposition des services d’une application existante (legacy)
- Interrogation des systèmes existants pour créer les services du SI, grâce à des connecteurs dédiés
- Possibilité de créer une instance d’ESB distincte du médiateur, si les services exposés ont vocation à
durer
27

Sources



Livre Blanc


Xebia Business Integration Architect, Comprendre et Savoir utiliser un ESB dans une SOA,
Xebia, 2007

Contenu connexe

Tendances

Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...ENSET, Université Hassan II Casablanca
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
Chp5 - Sécurité des Services
Chp5 - Sécurité des ServicesChp5 - Sécurité des Services
Chp5 - Sécurité des ServicesLilia Sfaxi
 

Tendances (20)

Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
Chp5 - Sécurité des Services
Chp5 - Sécurité des ServicesChp5 - Sécurité des Services
Chp5 - Sécurité des Services
 

En vedette

Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011Petals Link
 
Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices = Death of the Enterprise Service Bus (ESB)?Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices = Death of the Enterprise Service Bus (ESB)?Kai Wähner
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationLilia Sfaxi
 
Offrir de l'analytique en temps réel en un clic
Offrir de l'analytique en temps réel en un clicOffrir de l'analytique en temps réel en un clic
Offrir de l'analytique en temps réel en un clicJean-Michel Franco
 
Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2Catherine Nuel
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introductionLilia Sfaxi
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationLilia Sfaxi
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOALilia Sfaxi
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer confluent
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deploymentLilia Sfaxi
 
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Kai Wähner
 
Tp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesTp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesAlahyane Ahmed
 
Soiré soire soa -logica
Soiré soire soa -logicaSoiré soire soa -logica
Soiré soire soa -logicaAlahyane Ahmed
 
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)Kai Wähner
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esbAlahyane Ahmed
 
Concevoir et déployer sa stratégie digitale
Concevoir et déployer sa stratégie digitaleConcevoir et déployer sa stratégie digitale
Concevoir et déployer sa stratégie digitaleQuinchy Riya
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...confluent
 

En vedette (20)

Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011
 
Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices = Death of the Enterprise Service Bus (ESB)?Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices = Death of the Enterprise Service Bus (ESB)?
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et Authentification
 
Offrir de l'analytique en temps réel en un clic
Offrir de l'analytique en temps réel en un clicOffrir de l'analytique en temps réel en un clic
Offrir de l'analytique en temps réel en un clic
 
Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2Talend Petals Link Solutions Linux Ow2
Talend Petals Link Solutions Linux Ow2
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Fom ppt
Fom pptFom ppt
Fom ppt
 
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
Spoilt for Choice: How to Choose the Right Enterprise Service Bus (ESB)?
 
Tp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesTp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementaires
 
Soiré soire soa -logica
Soiré soire soa -logicaSoiré soire soa -logica
Soiré soire soa -logica
 
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
 
Concevoir et déployer sa stratégie digitale
Concevoir et déployer sa stratégie digitaleConcevoir et déployer sa stratégie digitale
Concevoir et déployer sa stratégie digitale
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
 
Digital In Store
Digital In StoreDigital In Store
Digital In Store
 

Similaire à Chp3 - ESB

Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsNormandy JUG
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieZenika
 
manager vs leader.pptx
manager vs leader.pptxmanager vs leader.pptx
manager vs leader.pptxnadinelaabidi
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210Gregory Boissinot
 
ITN_Module_6.pptx
ITN_Module_6.pptxITN_Module_6.pptx
ITN_Module_6.pptxserieux1
 
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Marc Dutoo
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOATugdual Grall
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfBabacarDIOP48
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGCh'ti JUG
 
MS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureMS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureJason De Oliveira
 

Similaire à Chp3 - ESB (20)

Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
manager vs leader.pptx
manager vs leader.pptxmanager vs leader.pptx
manager vs leader.pptx
 
ESB
ESBESB
ESB
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210
 
ITN_Module_6.pptx
ITN_Module_6.pptxITN_Module_6.pptx
ITN_Module_6.pptx
 
Base donnes my_sql
Base donnes my_sqlBase donnes my_sql
Base donnes my_sql
 
Informatique Mobile d'Entreprise
Informatique Mobile d'EntrepriseInformatique Mobile d'Entreprise
Informatique Mobile d'Entreprise
 
Pourquoi migrer vers exchange 2010
Pourquoi migrer vers exchange 2010Pourquoi migrer vers exchange 2010
Pourquoi migrer vers exchange 2010
 
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
Petals DSB - Current Status
Petals DSB - Current StatusPetals DSB - Current Status
Petals DSB - Current Status
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdf
 
JavaRMI.pdf
JavaRMI.pdfJavaRMI.pdf
JavaRMI.pdf
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
 
MS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureMS Days 2011 - Windows Azure
MS Days 2011 - Windows Azure
 
Projet Domurpic
Projet DomurpicProjet Domurpic
Projet Domurpic
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Chp3 - ESB

  • 1. Institut National des Sciences Appliquées et de Technologie Tunisie E-Services Chapitre 3 – Les Enterprise Service Bus (ESB) Dr. Lilia SFAXI GL5 - 2013-2014
  • 2. 1 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  • 3. 2 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  • 4. 3 Problématique d’Intégration  Construction des SI o o  Chaque domaine métier bâtit un sous-système qui lui est propre Utilisation de technologies hétérogènes, rarement interopérables Problématiques d’intégration: o o  Comment déclencher, en réponse à un sous-système donné, un traitement dans un autre sous-système hétérogène? Comment assurer la consistance et propagation des données entre plusieurs sous-systèmes? Deux types de solutions: o Les outils ETL (Extract-Transform-Load) o Les solutions middleware
  • 5. Outils ETL : 4 Extract-Transform-Load  Réponse à la problématique: Assurer la consistance et propagation des données entre plusieurs sous-systèmes  Permettent la synchronisation, consolidation et propagation des données entre soussystèmes hétérogènes o Extraction des données du système maître o Transcodage et traitement de ces données o Mise à jour des systèmes fils  Apparus à l’origine pour le chargement des datawarehouses  Inconvénients o Approche centrée sur les données o Ne permet pas de résoudre la problématique d’intégration des processus
  • 6. 5 Middlewares Network Centric (1/2)  Fournissent un infrastructure technique pour la médiation entre deux ou plusieurs systèmes  MOM (Message Oriented Middleware) o Système Store and Forward o Sémantique asynchrone : Le client construit un message et le transmet au middleware, qui le route vers le ou les systèmes cibles o Pas de couplage technique entre les participants o Solutions principalement propriétaires : Toutes les parties doivent connaître le mode d’interfaçage du middleware o Capacités de routage limitées, obligeant à configurer explicitement les routes à prendre
  • 7. 6 Middlewares Network Centric (2/2)  ORB (Object Request Broker) o S’appuie sur la spécification CORBA o Sémantique d’invocation point à point synchrone ou asynchrone, avec un protocole et encodage standardisés o Objectif : architecture d’intégration universelle o Inconvénients : complexité de mise en œuvre, et problèmes d’interopérabilité des implémentations (contrairement aux promesses de la spécification) ➪ Solutions très techniques ➪ Couplage fonctionnel fort
  • 8. Les EAI : Enterprise Application Integration  Architecture Hub and Spoke: Un composant central : o Assure la médiation physique entre le client et sa cible o Prend en charge les problématiques techniques de bas niveau (localisation, disponibilité, communication, transcodage, traces, sécurité…)  Permettent d’assurer la transformation des données pour limiter le couplage fonctionnel entre systèmes  Permettent d’appliquer des règles de routage sophistiquées  Jouent le rôle d’orchestrateur : hébergent des processus métier de haut niveau  Inconvénients o Architecture propriétaire :  protocole d’échange et de transport  technologie interne  Formats et encodages des données  besoin de connecteurs spécifiques aux éditeurs o SPOF (Single Point of Failure) o Mélange de rôles (médiation et orchestration)  Brique complexe 7
  • 9. Les ESB : 8 Enterprise Service Bus  Les EAI se sont transformés en deux types de produits: o Les ESB pour les fonctions d’interconnexion et de médiation o Les solutions de type BPM pour l’orchestration des processus  Contrairement aux EAI, les données ne doivent pas être ramenées à l’ESB pour être traitées, mais sont envoyées aux applications via des connecteurs distants  Construit conformément aux principes SOA : Ses différentes parties sont faiblement couplées et peuvent être déployées séparément si nécessaire  ESB s’appuient en général sur des standards
  • 10. 9 ESB : Définition  Architecture de services distribuée, qui inclut un modèle de conteneur léger pour héberger des composants d’intégration comme services distants  Permet de : o Délivrer des messages entre applications et services o Réaliser les transformations des données XML o Router les messages selon leur contenu  Framework de sécurité flexible  Infrastructure de gestion qui permet de configurer, déployer et gérer vos services distants
  • 11. 10 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  • 12. 11 A quoi sert un ESB? (1/2)  Réconcilier les mondes hétérogènes o  Découpler consommateurs et fournisseurs de services o  Consommateur ne voit que l’ESB, et ne connaît si le format ni le protocole utilisé par le fournisseur Agréger les services de niveau N pour construire des services de niveau N+1 o  Standards d’interopérabilité ou connecteurs spécialisés Si l’agrégation est complexe ou nécessite des structures de contrôle de flux d’exécution, il utilise un moteur d’orchestration (BPEL par exemple) Tracer les messages o Traçabilité et monitoring des traitements o Peut utiliser une solution tierce pour adresser les problématiques de SLA, QoS, BAM (Business Activity Monitoring)…
  • 13. 12 A quoi sert un ESB? (2/2)  Exposer des services d’applications qui ne supportent pas la fonctionnalité de médiation (Mainframes ou progiciels)  Mutualiser les accès aux applications o o Contrôler la charge o  Mieux gérer les ressources Appliquer des règles de sécurité ou priorité Minimiser les coûts des connecteurs o  Le connecteur est déployer une seule fois sur l’ESB au lieu d’être déployé sur chaque application cliente Implémenter un système de cache pour décharger certaines applications
  • 14. Fonctionnalités d’un ESB 13 1. Adaptation aux environnements hétérogènes  ESB apporte une couche d’abstraction vis à vis des technologies utilisées dans le SI  Ne dépend pas d’un SE ou d’un langage  Supporte plusieurs standards : WS, XML, JCA  Expose les services de manière uniforme quelque soit la technologie sous-jacente  Utilise XML comme langage standard de représentation et traitement des données  Offre un panel ouvert de connecteurs spécialisés vers les différentes briques du SI (mainframes, applications propriétaires, progiciels…)
  • 15. Fonctionnalités d’un ESB 2. Médiation et Routage  Support de différentes sémantiques d’échange (synchrone, asynchrone…)  Gestion des règles de routage sur les messages  Gestion de la priorité des messages  Transformation et conversion de messages  Manipulation des messages : enrichissement, transformation, combinaison, découpage…  Validation des données entrantes ou sortantes  Gestion des versions de services de façon transparente 14
  • 16. Fonctionnalités d’un ESB 15 3. Management, Monitoring, Contrat de Service  Suivi et fiabilisation des échanges  Garantie de livraison des messages en conservant les messages non consommés  Suivi des traitements effectués et messages reçus  Gestion de la sécurisation des services o o Autorisation o Confidentialité o  Authentification Audit Contrôle des SLA et aptitude à modifier le comportement du bus (priorités…) pour assurer ces SLA
  • 17. Fonctionnalités d’un ESB 16 4. Du côté des standards Format des données XML, schémas XSD SDO : Service Data Object : norme de représentation des données indépendamment du système de stockage, utilisée dans les SOA Transformation des données XSLT et XQuery (langage de requête pour l’extraction, transf. et reconstruction de docs XML ) Exposition de services WS, WS-Security Accès aux brokers de messages JMS (Java Message Service) pour l’accès aux MOM Accès aux applications JCA (Java Connector Architecture) : interface pour l’accès à des applications tierces Architecture des composants SCA (Service Component Architecture) Architecture Interne JBI (Java Business Integration) : - conteneur de services dans un ESB - gère l’intégration : création de services à partir des applications et entités IT (basée sur les standards de WS) - ne gère pas le routage, l’agrégation et l’administration
  • 18. 17 Synthèse Connectivité « Super-connecteur », supporte plusieurs protocoles de transport synchrones et asynchrone Routage Routage de messages basé sur des règles (de contenu, contexte..), et s’appuyant sur un annuaire de services et moteur de règles Médiation Adaptation du format des messages, protocole Exposition de services Transformation en service de tout composant ou traitement d’application Agrégation simple de services Agrégation simple de services de niveau N pour construire des services de niveau N+!. Pour les agrégations complexes, utilisation d’un moteur d’orchestration Traitement d’évènements complexes Création de règles de corrélation et de jointure d’évènements Contrat de Service SLA, QoS, gestion des priorités, sécurisation des messages, garantie de livraison… Supervision et Audit Audit, traçabilité, mesure, administration et exploitation.
  • 19. 18 Risques  Un ESB n’est pas nécessaire au démarrage d’une SOA o Nécessité d’une réflexion plus large au niveau du SI et d’un certain niveau de maturité de la SOA. o Il faut d’abord définir la démarche, méthode, organisation et implémentation de la SOA.  Un ESB ne doit pas être considéré comme un orchestrateur de services  Un ESB ne doit pas embarquer trop de métier dans les médiations qu’il propose.  L’ESB peut devenir un goulot d’étranglement o Plus les médiations sont complexes, plus il y’a perte de performances
  • 20. 19 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  • 21. 20 Couplage Lâche Exposition : Le consommateur ne connaît que l’ESB, il invoque le service que ce dernier lui expose Routage : ESB détermine le fournisseur de service à invoquer Transformation : ESB réalise une médiation de format vers celui pris en charge par le fournisseur Invocation : ESB invoque le fournisseur
  • 22. 21 Composition / Agrégation de services ESB expose un service virtuel qu’il construit par composition ou agrégation de plusieurs autres services  Assemblage simple de services, pas une orchestration de processus
  • 23. 22 Gestion de versions 2 cas : - Versions incompatibles : Le choix d’une version se fait par routage - Versions compatibles : ESB appelle la nouvelle version en appliquant une transformation des données.
  • 24. 23 Gestion de la QoS QoS : temps de réponse moyen / fraîcheur des données - ESB peut déterminer quelle implémentation invoquer en fonction de la QoS désirée (utilisation d’un moteur de règles) - ESB peut géolocaliser les services, pour choisir le plus approprié
  • 25. 24 Intégration avec solution d’orchestration  Éviter de lier fortement l’orchestrateur de processus avec les services qu’il appelle - ESB convertit les données au format de conception du processus - ESB expose tous les services avec la même technologie pour simplifier la réalisation du processus - ESB crée un nouveau service en agrégeant plusieurs services existants
  • 26. 25 Médiation Inter-domaine et Intra-domaine Domaines : équipes différentes plannings différents budgets différents - ESB introduit aux frontières des domaines - Dé-corrélation et découplement des appels entre domaines - ESB peut être utilisé dans un échange B2B comme douanier entre applications internes et partenaires - ESB gère : * conversion des protocoles * conversion des formats * aspects de sécurité * traçabilité des échanges
  • 27. 26 Exposition de services - Exposition des services d’une application existante (legacy) - Interrogation des systèmes existants pour créer les services du SI, grâce à des connecteurs dédiés - Possibilité de créer une instance d’ESB distincte du médiateur, si les services exposés ont vocation à durer
  • 28. 27 Sources  Livre Blanc  Xebia Business Integration Architect, Comprendre et Savoir utiliser un ESB dans une SOA, Xebia, 2007