Benutzer:Gerold Broser/Enterprise Integration Patterns
Bestehendes:
- Entwurfsmuster, Entwurfsmuster (Buch) (GoF), Kategorie:Entwurfsmuster
- Integrationsmuster, Nachrichtenübermittlungsmuster, Kategorie:Enterprise Integration Patterns, Commons:Category:Enterprise integration patterns
- Vorlage:Navigationsleiste Entwurfsmuster
Enterprise Integration Patterns ist ein 2003 von Gregor Hohpe und Bobby Woolf im Verlag Addison-Wesley herausgegebenes Buch, das mehr als 100.000 Mal verkauft wurde[1]. Es beinhaltet 65 Entwurfsmuster[2] zur Enterprise Application Integration (EAI) und gilt als Standardwerk in diesem Bereich[3].
Inhalt
[Bearbeiten | Quelltext bearbeiten]Das Buch enthält in folgende Kategorien aufgeteilte Nachrichtenübermittlungsmuster / Integrationsmuster:
[Entweder ...]
[Bearbeiten | Quelltext bearbeiten]Nachrichtenübermittlungsmuster
[Bearbeiten | Quelltext bearbeiten]Integrationsmöglichkeiten (Integration Style)
[Bearbeiten | Quelltext bearbeiten]Die Muster aus dem Bereich der Integrationsmöglichkeiten beschreiben, wie Systeme in bestehende Systeme eingebunden werden können. Zu den Mustern für die Integration zählen Dateitransfer (File Transfer), Gemeinsame Datenbank (Shared Database), Aufruf entfernter Prozess (Remote Procedure Invocation) und Nachrichtenübermittlung (Messaging).
Nachrichtenerzeugung (Message Construction)
[Bearbeiten | Quelltext bearbeiten]Nachrichten beginnen ihren Lebenszyklus, indem sie erzeugt werden. Die Nachrichtenerzeugung beschreiben verschiedene Muster, nach denen Nachrichten erzeugt werden. Typische Vertreter sind ereignisgetriebene Erzeugung oder Erzeugung als Antwort auf eine Anfrage (Request-Reply).
Nachrichtenkanäle (Messaging Channels)
[Bearbeiten | Quelltext bearbeiten]Beschreibt die Muster, nach denen die zuvor erzeugten Nachrichten zu einem oder mehreren Empfängern gelangen.
Nachrichtenkanäle können nach verschiedenen Gesichtspunkten gestaltet sein:
- Punkt-Zu-Punkt-Kanal: Ein Sender schickt an genau einen Empfänger.
- Nachrichtenkanal: Ein Empfänger (von mehreren) erhält die Nachricht.
- Publisher-Subscriber-Kanal: Alle interessierten Empfänger bekommen die Nachricht vom Sender zugestellt
- Message Bus: Die Nachricht wird auf über eine Middleware auf einem Nachrichtenbus bereitgestellt, die Zustellung an Empfänger wird von der Middleware sichergestellt.
- Datatype Channel: Für jede Art von Nachricht gibt es einen eigenen Nachrichtenkanal.
Die Zustellung kann garantiert sein oder die Nachrichten können verfallen.
Nachrichtenweiterleitung (Message Routing)
[Bearbeiten | Quelltext bearbeiten]Nachrichten müssen nicht zwingend direkt vom Sender zum Empfänger übertragen werden. Es gibt verschiedene Muster, wie die Nachrichten auf dem Weg geleitet, verändert, angereichert (z. B. durch einen Aggregator) oder gefiltert werden.
Nachrichtenumwandlung (Message Transformation)
[Bearbeiten | Quelltext bearbeiten]Wird eine Nachricht über mehrere Nachrichtenkanäle übertragen, so ist es unter Umständen nötig, die Nachricht zu verpacken, sie in kleinere Teile zu zerteilen oder die Daten anderweitig anzupassen.
Nachrichtenendpunkte (Messaging Endpoints)
[Bearbeiten | Quelltext bearbeiten]Der Aufbau der Empfänger der Nachricht, üblicherweise Consumer oder Sink bezeichnet, wird ebenfalls durch eine Gruppe von Mustern beschrieben.
Systemverwaltung (System Management)
[Bearbeiten | Quelltext bearbeiten]Für die Implementierung des Nachrichtenübertragungskanals sowie zur Unterstützung des Betriebs durch Systemadministratoren existieren verschiedene Muster.
[... oder ...]
[Bearbeiten | Quelltext bearbeiten]Integrationsmuster
[Bearbeiten | Quelltext bearbeiten]Integrationsart
[Bearbeiten | Quelltext bearbeiten]- Dateiübertragung (englisch file transfer)
- Geteilte Datenbank (englisch shared database)
- Remote Procedure Invocation
- Messaging
Nachrichtenübermittlungssysteme
[Bearbeiten | Quelltext bearbeiten]Nachrichtenübermittlungskanäle
[Bearbeiten | Quelltext bearbeiten]- Punkt-zu-Punkt
- Publish-Subscribe
- Datentyp-Kanal (englisch datatype channel)
- Invalid-Message-Kanal (englisch invalid message channel)
- Dead-Letter-Kanal (englisch dead letter channel)
- Garantierte Zustellung (englisch guaranteed delivery)
- Kanaladapter
- Messaging Bridge (etwa deutsch Benachrichtigungsbrücke)
- Message Bus
Nachrichtenaufbau
[Bearbeiten | Quelltext bearbeiten]- Kommando-Nachricht (englisch command message)
- Dokumentnachricht (englisch document message)
- Ereignisnachricht (englisch event message)
- Request-Reply
- Return Address
- Correlation Identifier
- Message Sequence
- Message Expiration
- Format Indicator
Nachrichtenvermittlung
[Bearbeiten | Quelltext bearbeiten]- Inhaltsbasierter Router (englisch content-based router)
- Nachrichtenfilter (englisch message filter)
- Dynamischer Router (englisch dynamic router)
- Empfängerliste (englisch recipient list)
- Splitter
- Aggregator
- Resequencer
- Composed Message Processor
- Scatter-Gather
- Routing Slip
- Prozessmanager (englisch process manager)
- Message Broker
Nachrichtentumwandlung (englisch message transformation)
[Bearbeiten | Quelltext bearbeiten]- Envelope Wrapper
- Content Enricher
- Inhaltsfilter (englisch content filter)
- Claim Check
- Normalizer
- Kanonisches Datenmodell (englisch canonic data model)
Nachrichtenübermittlungsendpunkte
[Bearbeiten | Quelltext bearbeiten]- Messaging Gateway
- Messaging Mapper
- Transaktionaler Klient (englisch transactional client)
- Polling Consumer
- Event-Driven Consumer
- Competing Consumers
- Message Dispatcher
- Selective Consumer
- Durable Subscriber
- Idempotent Receiver
- Dienstaktivator (englisch service activator)
Systemmanagement
[Bearbeiten | Quelltext bearbeiten]- Kontrollbus (englisch control bus)
- Umleitung (englisch detour)
- Wire Tap
- Nachrichtenhistorie (englisch message history)
- Nachrichtenspeicher (englisch message store)
- Smart Proxy
- Testnachricht (englisch test message)
- Channel Purger
[... oder beide in Kombination verquickt.]
[Bearbeiten | Quelltext bearbeiten]Lorem ipsum ...
Anwendungen
[Bearbeiten | Quelltext bearbeiten]- Apache ActiveMQ
- Apache Camel
- IBM MQ (früher MQSeries bzw. WebSphere MQ)
- Microsoft BizTalk
- TIBCO Messaging
- webMethods
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software. 1. Auflage. Addison-Wesley, 2004, ISBN 3-8273-2199-9 (479 S.).
Literatur
[Bearbeiten | Quelltext bearbeiten]- Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns. Designing, Building and Deploying Messaging Solutions. 1. Auflage. Addison-Wesley, 2003, ISBN 978-0-321-20068-6 (englisch, 480 S.).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns. (englisch).
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns. Messaging Patterns. Abgerufen am 23. Dezember 2024 (englisch).
- ↑ Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns. Designing, Building and Deploying Messaging Solutions. 1. Auflage. Addison-Wesley, 2003, ISBN 978-0-321-20068-6, S. 143–145 (englisch, 480 S.).
- ↑ Martin Fowler: Enterprise Integration Patterns. Designing, Building, and Deploying Messaging Solutions. Abgerufen am 23. Dezember 2024 (englisch): „I'm delighted with the job that they have done. If you've already worked with messaging systems, this book will systematize much of the knowledge that you and others have already learned the hard way. If you are about to work with messaging systems, this book will provide a foundation that will be invaluable no matter which messaging technology you have to work with.“
Kategorie:Literarisches Werk Kategorie:Enterprise Integration Patterns