Tutoriel sur les modèles d’intégration d’entreprise (EIP)

Enterprise Integration Patterns  (EIP) est un livre de Gregor Hohpe et Bobby Woolf et décrit 65 modèles pour l’utilisation de l’intégration d’applications d’entreprise orientés message sous la forme d’un langage de modèle. Ils nous aident à utiliser des méthodes standardisées pour intégrer les applications, pas besoin de réinventer la roue à chaque fois que vous rencontrez un problème.

L’objectif des modèles d’intégration d’entreprise est de créer un langage commun et un ensemble d’actions de flux de travail afin de les combiner pour créer un processus métier mature et pratique. Il fournit un catalogue de soixante-cinq modèles qui vous aident à concevoir des solutions de messagerie efficaces pour votre entreprise.

Le livre distingue quatre alternatives d’intégration de haut niveau :

  1. Transfert de fichier
  2. Base de données partagée
  3. Invocation de procédure distante
  4. Messagerie

Les types d’intégration suivants sont introduits :

  • Portail d’information
  • Réplication des données
  • Fonction commerciale partagée
  • Architecture orientée services
  • Processus métier distribué
  • Intégration interentreprises
  • Interaction étroitement couplée vs interaction faiblement couplée

Dessinez un diagramme de modèle d’intégration d’entreprise avec un outil en ligne gratuit

L’outil gratuit Enterprise Integration Patterns de Visual Paradigm   (outil de diagramme EIP) propose un ensemble de fonctionnalités d’édition qui simplifient et accélèrent la création de diagrammes, telles que le glisser-déposer et le guide d’alignement pour une édition fluide et intuitive. L’outil de diagramme EIP est également fourni avec un ensemble de symboles et de formes EIP qui vous permettent de créer différents types de diagrammes EIP.

Vous pouvez facilement développer vos modèles, puis les produire et les partager via des formats tels que PNG, JPG, GIF, SVG et PDF.

Apprendre EIP avec des exemples et des modèles

Vous pouvez commencer avec un diagramme vierge ou un modèle EIP. Les suivants sont quelques-uns des modèles. Cliquez sur le bouton Modifier pour commencer à modifier immédiatement. C’est gratuit et aucune inscription n’est nécessaire.

Exemple de modèle d’intégration d’entreprise : proxy intelligent

Modifier instantanément en ligne

Exemple de modèle d’intégration d’entreprise : Messagerie composée MSMQ

Modifier l’exemple ci-dessus en ligne

Vous souhaitez adopter d’autres modèles d’intégration d’entreprise ?

Référentiel d’édition en ligne EIP  de  Visual Paradigm

Cadre de mise en œuvre des PEI

Apache Camel  prend en charge la plupart des  modèles d’intégration d’entreprise  de l’excellent livre de Gregor Hohpe et Bobby Woolf. Basé sur les modèles d’intégration d’entreprise (EIP) pour vous aider à résoudre votre problème d’intégration en appliquant les meilleures pratiques prêtes à l’emploi. Camel prend en charge la plupart des modèles d’intégration d’entreprise de l’excellent livre de Gregor Hohpe et Bobby Woolf, ainsi que les nouveaux modèles d’intégration des  architectures de microservices .

Si vous débutez avec Camel, vous voudrez peut-être essayer le  Guide de démarrage  du Guide de l’utilisateur avant d’essayer d’implémenter ces modèles.

SYSTÈMES DE MESSAGERIE

Canal de messagerie

Comment une application communique-t-elle avec une autre à l’aide de la messagerie ?

Un message

Comment deux applications reliées par un canal de messagerie peuvent-elles échanger une information ?

Tuyaux et filtres

Comment effectuer des traitements complexes sur un message tout en gardant indépendance et flexibilité ?

Routeur de messages

Comment pouvez-vous découpler les étapes de traitement individuelles afin que les messages puissent être transmis à différents filtres en fonction d’un ensemble de conditions ?

Traducteur de messages

Comment des systèmes utilisant différents formats de données peuvent-ils communiquer entre eux à l’aide de la messagerie ?

Point de terminaison de message

Comment une application se connecte-t-elle à un canal de messagerie pour envoyer et recevoir des messages ?

CANAUX DE MESSAGERIE

Canal point à point

Comment l’appelant peut-il être sûr qu’exactement un destinataire recevra le document ou effectuera l’appel ?

Publier S’abonner à la chaîne

Comment l’expéditeur peut-il diffuser un événement à tous les destinataires intéressés ?

Canal de lettres mortes

Que fera le système de messagerie avec un message qu’il ne peut pas délivrer ?

Livraison garantie

Comment l’expéditeur peut-il s’assurer qu’un message sera livré, même si le système de messagerie tombe en panne ?

Adaptateur de canal

Comment connecter une application au système de messagerie pour qu’elle puisse envoyer et recevoir des messages ?

Pont de messagerie

Comment connecter plusieurs systèmes de messagerie pour que les messages disponibles sur l’un soient également disponibles sur les autres ?

Bus de messages

Qu’est-ce qu’une architecture qui permet à des applications distinctes de fonctionner ensemble, mais de manière découplée, de sorte que des applications puissent être facilement ajoutées ou supprimées sans affecter les autres ?

Modifier la capture de données

Synchronisation des données en capturant les modifications apportées à une base de données et en appliquant ces modifications à un autre système.

CONSTRUCTION DES MESSAGES

Message d’événement

Comment utiliser la messagerie pour transmettre des événements d’une application à une autre ?

Demander une réponse

Lorsqu’une application envoie un message, comment peut-elle obtenir une réponse du récepteur ?

Adresse de retour

Comment un répondeur sait-il où envoyer la réponse ?

Identifiant de corrélation

Comment un demandeur qui a reçu une réponse sait-il pour quelle requête il s’agit de la réponse ?

Expiration des messages

Comment un expéditeur peut-il indiquer quand un message doit être considéré comme obsolète et ne doit donc pas être traité ?

ROUTAGE DES MESSAGES

Routeur basé sur le contenu

Comment gérer une situation où la mise en œuvre d’une seule fonction logique (par exemple, la vérification des stocks) est répartie sur plusieurs systèmes physiques ?

Filtre de messages

Comment un composant peut-il éviter de recevoir des messages sans intérêt ?

Routeur dynamique

Comment éviter la dépendance du routeur sur toutes les destinations possibles tout en conservant son efficacité ?

Liste des destinataires

Comment acheminer un message vers une liste de destinataires spécifiés (statiquement ou dynamiquement) ?

Séparateur

Comment pouvons-nous traiter un message s’il contient plusieurs éléments, chacun pouvant devoir être traité de manière différente ?

Agrégateur

Comment combiner les résultats de messages individuels mais liés afin qu’ils puissent être traités dans leur ensemble ?

Reséquenceur

Comment pouvons-nous remettre un flux de messages liés mais hors séquence dans le bon ordre ?

Processeur de message composé

Comment pouvez-vous maintenir le flux de messages global lors du traitement d’un message composé de plusieurs éléments, dont chacun peut nécessiter un traitement différent ?

Éparpiller-rassembler

Comment gérez-vous le flux global des messages lorsqu’un message doit être envoyé à plusieurs destinataires, chacun pouvant envoyer une réponse ?

Bordereau d’acheminement

Comment acheminer un message consécutivement à travers une série d’étapes de traitement lorsque la séquence d’étapes n’est pas connue au moment de la conception et peut varier pour chaque message ?

Gestionnaire de processus

Comment acheminer un message à travers plusieurs étapes de traitement lorsque les étapes requises peuvent ne pas être connues au moment de la conception et peuvent ne pas être séquentielles ?

Courtier de messages

Comment pouvez-vous dissocier la destination d’un message de l’expéditeur et maintenir un contrôle central sur le flux de messages ?

étrangleur

Comment puis-je limiter les messages pour m’assurer qu’un point de terminaison spécifique ne soit pas surchargé ou que nous ne dépassions pas un SLA convenu avec un service externe ?

Échantillonnage

Comment puis-je échantillonner un message parmi plusieurs dans une période donnée pour éviter que la route en aval ne soit surchargée ?

Retardateur

Comment puis-je retarder l’envoi d’un message ?

Équilibreur de charge

Comment puis-je équilibrer la charge sur plusieurs points de terminaison ?

Disjoncteur

Comment puis-je arrêter d’appeler un service externe si le service est interrompu ?

Appel de service

Comment puis-je appeler un service distant dans un système distribué où le service est recherché à partir d’un registre de services quelconque ?

Saga

Comment puis-je définir une série d’actions associées dans une route Camel qui doivent être terminées avec succès (toutes) ou non exécutées/compensées ?

Multidiffusion

Comment puis-je acheminer un message vers plusieurs points de terminaison en même temps ?

Boucle

Comment puis-je répéter le traitement d’un message en boucle ?

TRANSFORMATION DES MESSAGES

Enrichisseur de contenu

Comment communiquer avec un autre système si l’expéditeur du message ne dispose pas de tous les éléments de données requis ?

Filtre de contenu

Comment simplifier le traitement d’un message volumineux, alors que vous ne vous intéressez qu’à quelques données ?

Chèque d’indemnisation

Comment pouvons-nous réduire le volume de données des messages envoyés à travers le système sans sacrifier le contenu de l’information ?

Normalisateur

Comment traitez-vous les messages sémantiquement équivalents, mais qui arrivent dans un format différent ?

Sorte

Comment puis-je trier le corps d’un message ?

Scénario

Comment puis-je exécuter un script qui ne peut pas modifier le message ?

Valider

Comment valider un message ?

POINTS FINAUX DE MESSAGERIE

Mappeur de messagerie

Comment déplacer les données entre les objets du domaine et l’infrastructure de messagerie tout en gardant les deux indépendants l’un de l’autre ?

Consommateur événementiel

Comment une application peut-elle consommer automatiquement les messages dès qu’ils sont disponibles ?

Consommateur d’interrogation

Comment une application peut-elle consommer un message lorsque l’application est prête ?

Consommateurs concurrents

Comment un client de messagerie peut-il traiter plusieurs messages simultanément ?

Répartiteur de messages

Comment plusieurs consommateurs sur un même canal peuvent-ils coordonner le traitement de leurs messages ?

Consommateur sélectif

Comment un consommateur de messages peut-il sélectionner les messages qu’il souhaite recevoir ?

Abonné durable

Comment un abonné peut-il éviter de manquer des messages alors qu’il ne les écoute pas ?

Consommateur idempotent

Comment un destinataire de messages peut-il gérer les messages en double ?

Client transactionnel

Comment un client peut-il contrôler ses transactions avec la messagerie ?

Passerelle de messagerie

Comment encapsulez-vous l’accès au système de messagerie depuis le reste de l’application ?

Activateur de services

Comment une application peut-elle concevoir un service à invoquer à la fois via diverses technologies de messagerie et via des techniques hors messagerie ?

LA GESTION DU SYSTÈME

ControlBus

Comment administrer efficacement un système de messagerie distribué sur plusieurs plates-formes et sur une vaste zone géographique ?

Deviation

Comment faire passer un message par des étapes intermédiaires pour effectuer des fonctions de validation, de test ou de débogage ?

Prise de fil

Comment inspectez-vous les messages qui transitent sur un canal point à point ?

Historique des messages

Comment analyser et déboguer efficacement le flux de messages dans un système faiblement couplé ?

Enregistrer

Comment puis-je enregistrer le traitement d’un message ?

Étape

Les étapes regroupent un ensemble d’EIP dans une unité logique composite pour les métriques et la surveillance.

Leave a Reply

Votre adresse e-mail ne sera pas publiée.