Chp3 - ESB

2 201 vues

Publié le

Visitez http://liliasfaxi.wix.com/liliasfaxi

Publié dans : Technologie
1 commentaire
4 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
2 201
Sur SlideShare
0
Issues des intégrations
0
Intégrations
465
Actions
Partages
0
Téléchargements
172
Commentaires
1
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chp3 - ESB

  1. 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. 2. 1 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  3. 3. 2 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  4. 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. 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. 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. 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. 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. 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. 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. 11. 10 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  12. 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. 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. 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. 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. 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. 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. 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. 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. 20. 19 Plan du Chapitre  Besoins des ESB  Rôle des ESB dans une SOA  Cas d’utilisation d’un ESB
  21. 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. 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. 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. 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. 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. 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. 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. 28. 27 Sources  Livre Blanc  Xebia Business Integration Architect, Comprendre et Savoir utiliser un ESB dans une SOA, Xebia, 2007

×