SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Enterprise Service Bus (ESB)
Chapitre 4 - eServices
GL5
2015/2016
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
Besoins des ESB
Rôle des ESB dans une SOA
Cas d’utilisation d’un ESB
2
PLAN
Besoins des ESB
Rôle des ESB dans une SOA
Cas d’utilisation d’un ESB
3
PLAN
Problématique d’Intégration
Construction des SI
•  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:
•  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:
•  Les outils ETL (Extract-Transform-Load)
•  Les solutions middleware
4
Besoins des ESB
Outils ETL: 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 sous-systèmes hétérogènes
•  Extraction des données du système maître
•  Transcodage et traitement de ces données
•  Mise à jour des systèmes fils
Apparus à l’origine pour le chargement des datawarehouses
Inconvénients
•  Approche centrée sur les données
•  Ne permet pas de résoudre la problématique d’intégration des processus
5
Besoins des ESB
Middlewares Network Centric (1/2)
Fournissent une infrastructure technique pour la médiation
entre deux ou plusieurs systèmes
MOM (Message Oriented Middleware)
•  Système Store and Forward
•  Sémantique asynchrone : Le client construit un message et le
transmet au middleware, qui le route vers le ou les systèmes
cibles
•  Pas de couplage technique entre les participants
•  Solutions principalement propriétaires : Toutes les parties
doivent connaître le mode d’interfaçage du middleware
•  Capacités de routage limitées, obligeant à configurer
explicitement les routes à prendre
6
Besoins des ESB
Middlewares Network Centric (2/2)
ORB (Object Request Broker)
•  S’appuie sur la spécification CORBA
•  Sémantique d’invocation point à point synchrone ou asynchrone,
avec un protocole et encodage standardisés
•  Objectif : architecture d’intégration universelle
•  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
7
Besoins des ESB
Les EAI : Enterprise Application Integration
Architecture Hub and Spoke (réseau en étoile): Un composant central :
•  Assure la médiation physique entre le client et sa cible
•  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
•  Architecture propriétaire :
•  protocole d’échange et de transport
•  technologie interne
•  Formats et encodages des données
è besoin de connecteurs spécifiques aux éditeurs
•  SPOF (Single Point of Failure)
•  Mélange de rôles (médiation et orchestration) è Brique complexe
8
Besoins des ESB
Les ESB : Enterprise Service Bus
Les EAI se sont transformés en deux types de produits:
•  Les ESB pour les fonctions d’interconnexion et de médiation
•  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
•  Peuvent être déployées séparément si nécessaire
ESB s’appuient en général sur des standards
9
Besoins des ESB
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 :
•  Délivrer des messages entre applications et services
•  Réaliser les transformations des données
•  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
Besoins des ESB
Besoins des ESB
Rôle des ESB dans une SOA
Cas d’utilisation d’un ESB
11
PLAN
A quoi sert un ESB? (1/2)
Réconcilier les mondes hétérogènes
Standards d’interopérabilité ou connecteurs spécialisés
Découpler consommateurs et fournisseurs de services
Consommateur ne voit que l’ESB, et ne connaît ni le format ni le protocole utilisé
par le fournisseur
Agréger les services de niveau N pour construire des services de niveau N+1
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
Traçabilité et monitoring des traitements
Peut utiliser une solution tierce pour adresser les problématiques de SLA, QoS,
BAM (Business Activity Monitoring)…
12
Rôle des ESB dans une SOA
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
•  Mieux gérer les ressources
•  Contrôler la charge
•  Appliquer des règles de sécurité ou priorité
Minimiser les coûts des connecteurs
Le connecteur est déployé 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
13
Rôle des ESB dans une SOA
Fonctionnalités d’un ESB
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…)
14
Rôle des ESB dans une SOA
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
15
Rôle des ESB dans une SOA
Fonctionnalités d’un ESB
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
•  Authentification
•  Autorisation
•  Confidentialité
•  Audit
•  Contrôle des SLA et aptitude à modifier le comportement du bus
(priorités…) pour assurer ces SLA
16
Rôle des ESB dans une SOA
Du Côté des Standards…
17
Rôle des ESB dans une SOA
Format	
  des	
  données	
   XML,	
  schémas	
  XSD	
  
SDO	
   :	
   Service	
   Data	
   Object	
   :	
   norme	
   de	
   représenta;on	
   des	
   données	
  
indépendamment	
  du	
  système	
  de	
  stockage,	
  u;lisée	
  dans	
  les	
  SOA	
  
Transforma/on	
  des	
  
données	
  
XSLT	
  et	
  XQuery	
  (langage	
  de	
  requête	
  pour	
  l’extrac;on,	
  transforma;on	
  et	
  
reconstruc;on	
  de	
  docs	
  XML	
  )	
  
Exposi/on	
  de	
  services	
   WS,	
  WS-­‐Security	
  
Accès	
  aux	
  brokers	
  de	
  
messages	
  
JMS	
  	
  (Java	
  Message	
  Service)	
  	
  pour	
  l’accès	
  aux	
  MOM	
  
	
  
Accès	
  aux	
  applica/ons	
   JCA	
   	
   (Java	
   Connector	
   Architecture)	
   	
   :	
   interface	
   pour	
   l’accès	
   à	
   des	
  
applica;ons	
  ;erces	
  
Architecture	
  des	
  
composants	
  
SCA	
  (Service	
  Component	
  Architecture)	
  
Architecture	
  Interne	
  
	
  
JBI	
   (Java	
   Business	
   Integra;on)	
   :	
   spécifica;on	
   pour	
   l'intégra;on	
   de	
  
données.	
  
-­‐  conteneur	
  de	
  services	
  dans	
  un	
  ESB	
  	
  
-­‐  gère	
  l’intégra;on	
  :	
  créa;on	
  de	
  services	
  à	
  par;r	
  des	
  applica;ons	
  et	
  
en;tés	
  IT	
  (basée	
  sur	
  les	
  standards	
  de	
  WS)	
  
-­‐  ne	
  gère	
  pas	
  le	
  routage,	
  l’agréga;on	
  et	
  l’administra;on	
  
Synthèse
Connec/vité	
   «	
  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édia/on	
   Adapta;on	
  du	
  format	
  des	
  messages,	
  protocole	
  
Exposi/on	
  de	
  services	
   Transforma;on	
  en	
  service	
  de	
  tout	
  composant	
  ou	
  traitement	
  
d’applica;on	
  
Agréga/on	
  simple	
  de	
  
services	
  
Agréga;on	
  simple	
  de	
  services	
  de	
  niveau	
  N	
  pour	
  construire	
  des	
  services	
  
de	
  niveau	
  N+!.	
  Pour	
  les	
  agréga;ons	
  complexes,	
  u;lisa;on	
  d’un	
  moteur	
  
d’orchestra;on	
  
Traitement	
  
d’évènements	
  
complexes	
  
Créa;on	
  de	
  règles	
  de	
  corréla;on	
  et	
  de	
  jointure	
  d’évènements	
  
Contrat	
  de	
  Service	
   SLA,	
  QoS,	
  ges;on	
  des	
  priorités,	
  sécurisa;on	
  des	
  messages,	
  garan;e	
  de	
  
livraison…	
  
Supervision	
  et	
  Audit	
   Audit,	
  traçabilité,	
  mesure,	
  administra;on	
  et	
  exploita;on.	
  
18
Rôle des ESB dans une SOA
Risques
Un ESB n’est pas nécessaire au démarrage d’une SOA
•  Nécessité d’une réflexion plus large au niveau du SI et d’un certain
niveau de maturité de la SOA.
•  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
•  Plus les médiations sont complexes, plus il y’a perte de performances
19
Rôle des ESB dans une SOA
Besoins des ESB
Rôle des ESB dans une SOA
Cas d’utilisation d’un ESB
20
PLAN
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
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 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
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 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.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 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é
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 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
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 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
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 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
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 27
Livre Blanc
Xebia Business Integration Architect, Comprendre et Savoir
utiliser un ESB dans une SOA, Xebia, 2007
28
Sources

Contenu connexe

Tendances

Tendances (20)

Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpel
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
CWIN17 Morocco / Microservices architecture ghofrane benaziz
CWIN17 Morocco / Microservices architecture ghofrane benazizCWIN17 Morocco / Microservices architecture ghofrane benaziz
CWIN17 Morocco / Microservices architecture ghofrane benaziz
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Création de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBCréation de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESB
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 

En vedette

Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
DataWorks Summit
 

En vedette (9)

eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and Systems
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
 

Similaire à eServices-Chp4: ESB

Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
Paulin 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 Petals
Normandy JUG
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
Ch'ti JUG
 

Similaire à eServices-Chp4: ESB (20)

Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
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
 
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
 
Base donnes my_sql
Base donnes my_sqlBase donnes my_sql
Base donnes my_sql
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
 
ESB
ESBESB
ESB
 
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
 
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
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
ITN_Module_6.pptx
ITN_Module_6.pptxITN_Module_6.pptx
ITN_Module_6.pptx
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
 
introductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdfintroductionaudevcomposantdistribuejavaee.pdf
introductionaudevcomposantdistribuejavaee.pdf
 

Plus de Lilia 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
 

eServices-Chp4: ESB

  • 1. Enterprise Service Bus (ESB) Chapitre 4 - eServices GL5 2015/2016 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1
  • 2. Besoins des ESB Rôle des ESB dans une SOA Cas d’utilisation d’un ESB 2 PLAN
  • 3. Besoins des ESB Rôle des ESB dans une SOA Cas d’utilisation d’un ESB 3 PLAN
  • 4. Problématique d’Intégration Construction des SI •  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: •  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: •  Les outils ETL (Extract-Transform-Load) •  Les solutions middleware 4 Besoins des ESB
  • 5. Outils ETL: 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 sous-systèmes hétérogènes •  Extraction des données du système maître •  Transcodage et traitement de ces données •  Mise à jour des systèmes fils Apparus à l’origine pour le chargement des datawarehouses Inconvénients •  Approche centrée sur les données •  Ne permet pas de résoudre la problématique d’intégration des processus 5 Besoins des ESB
  • 6. Middlewares Network Centric (1/2) Fournissent une infrastructure technique pour la médiation entre deux ou plusieurs systèmes MOM (Message Oriented Middleware) •  Système Store and Forward •  Sémantique asynchrone : Le client construit un message et le transmet au middleware, qui le route vers le ou les systèmes cibles •  Pas de couplage technique entre les participants •  Solutions principalement propriétaires : Toutes les parties doivent connaître le mode d’interfaçage du middleware •  Capacités de routage limitées, obligeant à configurer explicitement les routes à prendre 6 Besoins des ESB
  • 7. Middlewares Network Centric (2/2) ORB (Object Request Broker) •  S’appuie sur la spécification CORBA •  Sémantique d’invocation point à point synchrone ou asynchrone, avec un protocole et encodage standardisés •  Objectif : architecture d’intégration universelle •  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 7 Besoins des ESB
  • 8. Les EAI : Enterprise Application Integration Architecture Hub and Spoke (réseau en étoile): Un composant central : •  Assure la médiation physique entre le client et sa cible •  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 •  Architecture propriétaire : •  protocole d’échange et de transport •  technologie interne •  Formats et encodages des données è besoin de connecteurs spécifiques aux éditeurs •  SPOF (Single Point of Failure) •  Mélange de rôles (médiation et orchestration) è Brique complexe 8 Besoins des ESB
  • 9. Les ESB : Enterprise Service Bus Les EAI se sont transformés en deux types de produits: •  Les ESB pour les fonctions d’interconnexion et de médiation •  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 •  Peuvent être déployées séparément si nécessaire ESB s’appuient en général sur des standards 9 Besoins des ESB
  • 10. 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 : •  Délivrer des messages entre applications et services •  Réaliser les transformations des données •  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 Besoins des ESB
  • 11. Besoins des ESB Rôle des ESB dans une SOA Cas d’utilisation d’un ESB 11 PLAN
  • 12. A quoi sert un ESB? (1/2) Réconcilier les mondes hétérogènes Standards d’interopérabilité ou connecteurs spécialisés Découpler consommateurs et fournisseurs de services Consommateur ne voit que l’ESB, et ne connaît ni le format ni le protocole utilisé par le fournisseur Agréger les services de niveau N pour construire des services de niveau N+1 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 Traçabilité et monitoring des traitements Peut utiliser une solution tierce pour adresser les problématiques de SLA, QoS, BAM (Business Activity Monitoring)… 12 Rôle des ESB dans une SOA
  • 13. 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 •  Mieux gérer les ressources •  Contrôler la charge •  Appliquer des règles de sécurité ou priorité Minimiser les coûts des connecteurs Le connecteur est déployé 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 13 Rôle des ESB dans une SOA
  • 14. Fonctionnalités d’un ESB 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…) 14 Rôle des ESB dans une SOA
  • 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 15 Rôle des ESB dans une SOA
  • 16. Fonctionnalités d’un ESB 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 •  Authentification •  Autorisation •  Confidentialité •  Audit •  Contrôle des SLA et aptitude à modifier le comportement du bus (priorités…) pour assurer ces SLA 16 Rôle des ESB dans une SOA
  • 17. Du Côté des Standards… 17 Rôle des ESB dans une SOA Format  des  données   XML,  schémas  XSD   SDO   :   Service   Data   Object   :   norme   de   représenta;on   des   données   indépendamment  du  système  de  stockage,  u;lisée  dans  les  SOA   Transforma/on  des   données   XSLT  et  XQuery  (langage  de  requête  pour  l’extrac;on,  transforma;on  et   reconstruc;on  de  docs  XML  )   Exposi/on  de  services   WS,  WS-­‐Security   Accès  aux  brokers  de   messages   JMS    (Java  Message  Service)    pour  l’accès  aux  MOM     Accès  aux  applica/ons   JCA     (Java   Connector   Architecture)     :   interface   pour   l’accès   à   des   applica;ons  ;erces   Architecture  des   composants   SCA  (Service  Component  Architecture)   Architecture  Interne     JBI   (Java   Business   Integra;on)   :   spécifica;on   pour   l'intégra;on   de   données.   -­‐  conteneur  de  services  dans  un  ESB     -­‐  gère  l’intégra;on  :  créa;on  de  services  à  par;r  des  applica;ons  et   en;tés  IT  (basée  sur  les  standards  de  WS)   -­‐  ne  gère  pas  le  routage,  l’agréga;on  et  l’administra;on  
  • 18. Synthèse Connec/vité   «  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édia/on   Adapta;on  du  format  des  messages,  protocole   Exposi/on  de  services   Transforma;on  en  service  de  tout  composant  ou  traitement   d’applica;on   Agréga/on  simple  de   services   Agréga;on  simple  de  services  de  niveau  N  pour  construire  des  services   de  niveau  N+!.  Pour  les  agréga;ons  complexes,  u;lisa;on  d’un  moteur   d’orchestra;on   Traitement   d’évènements   complexes   Créa;on  de  règles  de  corréla;on  et  de  jointure  d’évènements   Contrat  de  Service   SLA,  QoS,  ges;on  des  priorités,  sécurisa;on  des  messages,  garan;e  de   livraison…   Supervision  et  Audit   Audit,  traçabilité,  mesure,  administra;on  et  exploita;on.   18 Rôle des ESB dans une SOA
  • 19. Risques Un ESB n’est pas nécessaire au démarrage d’une SOA •  Nécessité d’une réflexion plus large au niveau du SI et d’un certain niveau de maturité de la SOA. •  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 •  Plus les médiations sont complexes, plus il y’a perte de performances 19 Rôle des ESB dans une SOA
  • 20. Besoins des ESB Rôle des ESB dans une SOA Cas d’utilisation d’un ESB 20 PLAN
  • 21. 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 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 21
  • 22. 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 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 22
  • 23. 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. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 23
  • 24. 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é Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 24
  • 25. 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 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25
  • 26. 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 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 26
  • 27. 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 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 27
  • 28. Livre Blanc Xebia Business Integration Architect, Comprendre et Savoir utiliser un ESB dans une SOA, Xebia, 2007 28 Sources