Integrationsmuster
# Integrationsmuster

Ein Integrationsmuster ist ein Muster, welches die Kommunikation zwischen Softwarekomponenten beschreibt. Integrationsmuster dienen damit der Enterprise Application Integration. Integrationsmuster können sowohl zur Mediation (Intra-Kommunikation; innerhalb einer Anwendung) als auch zur Föderation (Etra-Kommunikation; zwischen Anwendungen) eingesetzt werden.

## Hintergrund

Verbindungen zwischen verteilten Softwarekomponenten unterliegen zeitlichen Verzögerungen und Störungen. Zudem stellen unterschiedliche Komponenten eines Systems unterschiedliche Aufgaben und Anforderungen. Auch ändern sich Softwaresysteme im Laufe ihrer Entwicklung. Integrationsmuster stellen eine Mustersprache dar und ermöglichen es Softwareentwicklern funktionierende Kommunikationslösungen zwischen diesen Systemen zu implementieren.

## Liste von Integrationsmustern

(Quelle:)

### Integrationsstil

* Dateiübertragung (englisch file transfer)
* Geteilte Datenbank (englisch shared database)
* Remote Procedure Invocation
* Messaging
* Messaging Systems
* Message Channel
* Message
* Pipes und Filter
* Message Router
* Message Translator
* Message Endpoint

### Benachrichtigungskanäle

* 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

### Nachrichtenstruktur

* 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

### Nachrichten-Routing

* 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
* Nachrichtentransformation (englisch message transformation)
* Envelope Wrapper
* Content Enricher
* Inhaltsfilter (englisch content filter)
* Claim Check
* Normalizer
* Kanonisches Datenmodell (englisch canonic data model)

### Nachrichten-Endpunkte

* 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

* 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