Website navigation:
Pipes und Filter
Die zentrale Aussage des Buches Enterprise Integration Patterns von Gregor Hohpe und Bobby Woolf lautet, dass Anwendungsintegration mittels einer Pipes and Filter Architektur umgesetzt werden soll. Dies beinhaltet, einzelne Verarbeitungsschritte die zur Aufbereitung der Message vom Sender zum Empfänger nötig sind, isoliert zu betrachten und umzusetzen. Anschließend wird durch die gezielte Weiterleitung der Nachricht zwischen den einzelnen Verarbeitungsstationen, die als Filter bezeichnet werden eine Gesamtlösung erzielt. Ingesamt stellen die beiden Autoren in ihrem Buch 65 unterschiedliche Patterns vor. Manche Patterns bestehen lediglich aus einem Filter, andere setzen sich aus der Orchestration von Filtern zusammen.
Häufig wird im Rahmen einer MOM basierten Integrationslösung der Message Translator und der Message Router Filter genutzt. Der Message Translator dient dazu das physische oder logische Format des Inhaltes einer Message zu verändern. Das physische Format einer Datei kann zum Beispiel XML, CSV oder eine Flatfile in einem proprietären fest definierten Format sein. Unter dem logischen Format, versteht man die Reihenfolge, Struktur und den Umfang der Daten innerhalb einer Datei.
Tabelle 1 - Beispiele für physische Formate
Tabelle 2 - Beispiele für logische Formate
Transformationen können sehr komplex ausfallen und den Großteil der Entwicklungszeit einer Integrationslösung in Anspruch nehmen. Kritisch sind besonders Flatfile zu XML und XML zu Flatfile Transformationen. Häufig werden Daten von einem neuen Web-Frontend (XML Daten) an eine bestehende Legacy Applikation gesendet, die diese Daten in einem anderen, speziellen Format erwartet.
Der Message Router wertet den Inhalt einer Nachricht aus, und leitet diese in Abhängigkeit von dem Ergebnis der Auswertung weiter. Die Mächtigkeit eines Message Routers ist abhängig davon, welche Möglichkeiten existieren den Inhalt von Nachrichten auszuwerten. Bei XML Dateien können die Werte von XML-Elementen mittels XPath ausgewertet werden. Für das inhaltsbasierte Routing von Messages, die im Message Body Dateien in einem proprietären Format beinhalten, wird häufig entweder der Message Header ausgewertet oder die Datei zuvor durch Einsatz eines Content Enricher Filters mit Routinginformationen angereichert.
Häufig wird im Rahmen einer MOM basierten Integrationslösung der Message Translator und der Message Router Filter genutzt. Der Message Translator dient dazu das physische oder logische Format des Inhaltes einer Message zu verändern. Das physische Format einer Datei kann zum Beispiel XML, CSV oder eine Flatfile in einem proprietären fest definierten Format sein. Unter dem logischen Format, versteht man die Reihenfolge, Struktur und den Umfang der Daten innerhalb einer Datei.
| Physisches Format | Beispiel |
| XML | <Kunde> <Vorname> Max </Vorname> <Nachname> Mustermann </Nachname> <Kundennummer> 123456789 </Kundennummer> </Kunde> |
| CSV | Max,Mustermann,123456789 |
| Flatfile | Max||||||||||Musterman||||||123456789||| |
Tabelle 1 - Beispiele für physische Formate
| Logisches Format | Beispiel |
| Reihenfolge | <Kunde> <Kundennummer> 123456789 </Kundennummer> <Vorname> Max </Vorname> <Nachname> Mustermann </Nachname> </Kunde> |
| Struktur | <Kunde> <Kundennummer> 123456789 </Kundennummer> <Name> Max Mustermann </Name> </Kunde> |
| Umfang | <Kunde> <Kundennummer> 123456789 </Kundennummer> </Kunde> |
Tabelle 2 - Beispiele für logische Formate
Transformationen können sehr komplex ausfallen und den Großteil der Entwicklungszeit einer Integrationslösung in Anspruch nehmen. Kritisch sind besonders Flatfile zu XML und XML zu Flatfile Transformationen. Häufig werden Daten von einem neuen Web-Frontend (XML Daten) an eine bestehende Legacy Applikation gesendet, die diese Daten in einem anderen, speziellen Format erwartet.
Der Message Router wertet den Inhalt einer Nachricht aus, und leitet diese in Abhängigkeit von dem Ergebnis der Auswertung weiter. Die Mächtigkeit eines Message Routers ist abhängig davon, welche Möglichkeiten existieren den Inhalt von Nachrichten auszuwerten. Bei XML Dateien können die Werte von XML-Elementen mittels XPath ausgewertet werden. Für das inhaltsbasierte Routing von Messages, die im Message Body Dateien in einem proprietären Format beinhalten, wird häufig entweder der Message Header ausgewertet oder die Datei zuvor durch Einsatz eines Content Enricher Filters mit Routinginformationen angereichert.
© 2012 X-INTEGRATE Software & Consulting GmbH Im Mediapark 2 50670 Köln

Weitere Informationen


