Key Visual - Manage Your Business Integration

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.


Physisches FormatBeispiel
XML<Kunde>
<Vorname>
Max
</Vorname>
<Nachname>
Mustermann
</Nachname>
<Kundennummer>
123456789
</Kundennummer>
</Kunde>
CSVMax,Mustermann,123456789
FlatfileMax||||||||||Musterman||||||123456789|||

Tabelle 1 - Beispiele für physische Formate


Logisches FormatBeispiel
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