Enterprise Integration Patterns est un livre de Gregor Hohpe et Bobby Woolf qui décrit 65 modèles d'utilisation de l'intégration d'applications d'entreprise et du middleware orienté message sous la forme d'un langage de modèles .
Le langage de modèle d'intégration (messagerie)
Le langage de modèles présenté dans le livre se compose de 65 modèles structurés en 9 catégories, qui suivent en grande partie le flux d'un message d'un système à l'autre via des canaux, un routage et des transformations. Le livre comprend un langage de modèles basé sur des icônes, parfois surnommé « GregorGrams » d'après l'un des auteurs. Des extraits du livre (descriptions courtes des modèles) sont disponibles sur le site Web de support (voir Liens externes).
Styles et types d'intégration
Le livre distingue quatre alternatives de haut niveau pour l'intégration :
- Transfert de fichiers
- Base de données partagée
- Invocation de procédure à distance
- 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 d'entreprise distribué
- Intégration interentreprises
- Interaction étroitement couplée contre interaction faiblement couplée
Messagerie
- Chaîne de messages
- Message
- Tuyaux et filtres
- Routeur de messages
- Traducteur de messages
- Point de terminaison du message
Chaîne de messages
- Canal point à point
- Chaîne Publier-Abonner
- Type de données Canal
- Canal de message non valide
- Chaîne Lettre Morte
- Livraison garantie
- Adaptateur de canal
- Pont de messagerie
- Message Bus
Construction du message
- Message de commande
- Message du document
- Message de l'événement
- Demande-Réponse
- Adresse de retour
- Identifiant de corrélation
- Séquence de messages
- Expiration du message
- Indicateur de format
Routeur de messages
- Routeur basé sur le contenu
- Filtre de messages
- Routeur dynamique
- Liste des destinataires
- Séparateur
- Agrégateur
- Reséquenceur
- Processeur de messages composés
- Disperser-Rassembler
- Bordereau d'acheminement
- Responsable de processus
- Courtier de messages
Transformation des messages
- Enveloppe d'emballage
- Enrichisseur de contenu
- Filtre de contenu
- Vérification de la réclamation
- Normalisateur
- Modèle de données canonique
Point de terminaison du message
- Passerelle de messagerie
- Cartographie de messagerie
- Client transactionnel
- Sondage auprès des consommateurs
- Consommateur axé sur les événements
- Des consommateurs en concurrence
- Répartiteur de messages
- Consommateur sélectif
- Abonné durable
- Récepteur idempotent
- Activateur de service
Gestion du système
- Bus de contrôle
- DEVIATION
- Écoute téléphonique
- Historique des messages
- Magasin de messages
- Proxy intelligent
- Message de test
- Purge de canal
Le langage de modèles reste pertinent aujourd'hui, par exemple dans le développement et l'intégration d'applications cloud et dans l'Internet des objets. En 2015, les deux auteurs du livre se sont réunis, pour la première fois depuis la publication du livre, pour une rétrospective et une interview dans IEEE Software .
Mise en œuvre
Les modèles d'intégration d'entreprise sont implémentés dans de nombreuses solutions d'intégration open source. Parmi les implémentations notables, on peut citer Spring Integration , Apache Camel , Red Hat Fuse , Mule ESB et Guaraná DSL .