La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Semaine 8: Java 2, Enterprise Edition1 Patron dintégration dentreprise Architectures de message asynchrone.

Présentations similaires


Présentation au sujet: "Semaine 8: Java 2, Enterprise Edition1 Patron dintégration dentreprise Architectures de message asynchrone."— Transcription de la présentation:

1 Semaine 8: Java 2, Enterprise Edition1 Patron dintégration dentreprise Architectures de message asynchrone

2 Semaine 8: Java 2, Enterprise Edition2 Le besoin dintégration dentreprise Plus dune application Souvent des centaines Une simple application trop difficile et inflexible Spécialisation des vendeurs Raisons historiques, fusions Culture politique de lorganisation Les clients perçoivent lentreprise comme un tout, et veulent faire exécuter des fonctions dentreprises qui recouvrent plusieurs applications.

3 Semaine 8: Java 2, Enterprise Edition3 Défis de lintégration inter- entreprise Les réseaux sont lents Les réseaux ne sont pas fiables Il ny a pas 2 applications semblables Le changement est inévitable Plus Intrésèquement à grande échelle et complexe Contrôle limité sur les applications et les participants Implications profondes, impacts daffaire critiques Entrelacé avec la politique corporative Peu de standards existent et ils évoluent encore…

4 Semaine 8: Java 2, Enterprise Edition4 Couplage faible recherché Couplage: mesure de la dépendance entre les applications Dépendance technologique Dépendance sur lieu Dépendance temporelle Dépendance sur les données Waldo et al, 1994: Objects that interact in a distributed system need to be dealt with in ways that are ntrinsically different from objects that interact in a single address space Exemple de couplage fort

5 Semaine 8: Java 2, Enterprise Edition5 Intergiciel basé message Les canaux sont séparés des applications Enleve la dépendance physique Les canaux sont asynchrones et fiables Enleve les dépendances temporelles Les données sont échangées dans des messages complets et autonomes Enleve les dépendances aux formats de données

6 Semaine 8: Java 2, Enterprise Edition6 Une approche asynchrone

7 Semaine 8: Java 2, Enterprise Edition7 Lévolution du paradigme

8 Semaine 8: Java 2, Enterprise Edition8 Plusieurs produits Intergiciels basés message (MOM) IBM MQ Microsoft MSMQ Java Message Service Implémentations Suite dintégration dapplications dentreprise TIBCO, Webmethods, SeeBeyond, Vitria, BEA Integration Service Web asynchrone WS-ReliableMessaging, ebMS (ebXML) Sun JAXMI Microsoft Web Service Extension

9 Semaine 8: Java 2, Enterprise Edition9 Intégration basée message 1. Transporter les messages 2. Concevoir les messages 3. Acheminer le message à sa destination 4. Transformer le message à son format 5. Produire et consommer le message dans lapplication 6. Gérer et tester le système

10 Semaine 8: Java 2, Enterprise Edition10 Les patrons dintégration 1. Le canal de transport des messages 2. La conception des messages 3. La route du message à sa destination appropriée 4. La traduction du message au format approprié 5. La production et la consommation des messages 6. La gestion et le test du système

11 Semaine 8: Java 2, Enterprise Edition11 Bonjour, façon asynchrone Le consommateur Le fournisseur de service Échanges de type Requête-Réponse Deux canaux de communications point à point Des messages de requête et de réponse séparés

12 Semaine 8: Java 2, Enterprise Edition12 Plusieurs consommateurs Chaque composant consommateur a sa propre queue de réponse, son propre canal Comment le fournisseur du service sait-il où envoyer la réponse? A tous – très innéficace Adresse codée- viole le principe dindépendance et de non couplage

13 Semaine 8: Java 2, Enterprise Edition13 Patron adresse de retour Le consommateur fournit une adresse de retour (un canal) Le fournisseur de service répond avec un message dans le canal de réponse. Si ladresse de retour pointe sur un canal différent que celui du consommateur, alors on utilise le chaînage

14 Semaine 8: Java 2, Enterprise Edition14 Multiple fournisseur de service Les messages de requête peuvent être traités par plus dun service fournisseur Les canaux points à points supportent des consommateurs en compétition, dans ce cas-ci un seul service reçoit chacun des messages de requête Le canal enfile dans la queue les requêtes non répondues

15 Semaine 8: Java 2, Enterprise Edition15 Problèmes Les messages peuvent être traités par des services différents Soit par répartion de charge Ou par un aiguilleur Les messages peuvent devenir hors séquence Comment pairer les requêtes et les réponses Envoyer une seule requête à la fois? Très inéficace Se baser sur la séquence naturelle? Faux en réalité

16 Semaine 8: Java 2, Enterprise Edition16 Patron Corrélation Fournir à chaque message un identificateur unique Message ID (Simple, limité) GUID (Globally Uniqaue ID) Clef daffaire (ID de lordre) Le fournisseur copie lidentificateur dans le message de réponse Lémetteur peut pairer les requêtes et les réponses

17 Semaine 8: Java 2, Enterprise Edition17 Un aiguilleur de message Comment pouvons-nous découpler des étapes de traitement individuel? Les messages seront acheminés à des composants différents selon les conditions Les différents canaux dépendront du contenu des messages, de lenvironnement (tests ou production) Nous ne voulons pas charger lémetteur avec la décision Un aiguilleur de message acheminera les messages dun canal à un autre

18 Semaine 8: Java 2, Enterprise Edition18 Un diviseur Comment nous pouvons traiter un message sil contient plusieurs éléments, chacun devant être traité différemment? Nous voulons Traiter chaque élément indépendamment Éviter de produire des éléments absents ou doubles Faire une utilisation efficace des resources du réseau Un diviseur sépare un message agrégé en une série de messages individuels, chacun contenant les données dun seul item

19 Semaine 8: Java 2, Enterprise Edition19 Un aggrégateur Comment combiner plusieurs messages reliés en un seul message? Les messages peuvent être hors séquence Les messages peuvent être retardés Un aggrégateur gère la réconcialition de plusieurs messages en un seul Composant avec état

20 Semaine 8: Java 2, Enterprise Edition20 Un aggrégateur Corrélation Quels messages entrants vont ensemble? Condition de complétude Quand sommes-nous prêt à publier le message résultant? Attendre pour tous Expiration du délai (absolu ou incrémentiel) Après les premiers Un événement externe Algorithme de laggrégation Comment combiner les messages reçus en un seul message résultant Un seul, le meilleur Condenser les données Concaténer les données pour une analyse ultérieure

21 Semaine 8: Java 2, Enterprise Edition21 Lenchère Envoyer un message à un ensemble dynamique de participants, et retourner un message unique qui incorpore les réponses

22 Semaine 8: Java 2, Enterprise Edition22 Un exemple de combinaison Recevoir un ordre, choisir la meilleure offre de chaque item parmi les vendeurs, combiner le tout en un ordre valide

23 Semaine 8: Java 2, Enterprise Edition23

24 Semaine 8: Java 2, Enterprise Edition24 Résumé Un langage visuel simple pour décrire des solutions intégrées Combiner les patrons pour décrire des solutions plus larges Pas un outil compliqué Pas un langage de spécification UML


Télécharger ppt "Semaine 8: Java 2, Enterprise Edition1 Patron dintégration dentreprise Architectures de message asynchrone."

Présentations similaires


Annonces Google