Datum
02.10.2009
Dieser Beitrag wurde verfasst von:
IBM WebSphere MQ File Transfer Edition ist ein Produkt, welches im Wesentlichen auf das bereits seit über 15 Jahren etablierte und weit verbreitete Messaging-System IBM WebSphere MQ aufsetzt. Dies möchte ich zum Anlass nehmen, Sie näher in WebSphere MQ einzuführen. Dazu müssen vier zentrale Begriffe näher erläutert werden.
Message
Queue
Queue Manager
Channel
Messagingsysteme ermöglichen die Kommunikation zwischen zwei Applikationen, indem Sie als Vermittler zwischen diesen beiden Anwendungen fungieren. Nehmen wir an Anwendung A sei in Microsoft Visual Basic programmiert und Anwendung B in Java. Anwendung B verarbeitet Daten, welche Sie im XML Format von Anwendung A erhält.
Message
Eine Message bildet die kleinste logische Informationseinheit in einem Messagingsystem. Eine Message entspricht häufig einer Anfrage oder Antwort eines Kommunikationspartners. Sie ist ein Container in dem eine beliebige Datei oder Text abgelegt werden kann. Der Message-Header kann unter anderem mit Metainformationen angereichert werden.
Queue
Nehmen wir an Anwendung A erstellt die zu verarbeitenden Daten zu einer bestimmten Betriebszeit schneller als B sie verarbeiten kann. Dies ist problematisch, wenn Anwendung B unbearbeitete, aber erhaltene Verarbeitungsanforderungen nicht in irgendeiner Form „Zwischenspeichern“ kann. Denn dann werden die überschüssigen Verarbeitungsanforderungen einfach verworfen. Anders verhält es sich, wenn ein „Temporärer Speicher“ für die überschüssigen Anforderungen existiert.
Optimalerweise wird dieser zwischen Sender- und Empfänger geschaltet, sodass die starre, synchrone Kommunikation in eine flexible, asynchrone Kommunikation aufgelöst wird. Um einen Datenverlust zu verhindern werden die Informationen in der sogenannten Queue zwischengespeichert. Wie aus Abb.1 ersichtlich wird ist eine Queue eine Ablage für Messages. Alle Messages in der Warteschlange werden nach dem FIFO Prinzip (=First In First Out) abgearbeitet.
Queue Manager
Queue Manager erlauben die aktuellen Queues zu verwalten. Damit auf eine Queue lesend oder schreibend zugegriffen werden kann, muss zuerst ein „Binding“ mit deren Queue Manager aufgebaut werden. Weiterhin erleichtert der Queue Manager die Einrichtung von potentiellen Message-Transportwegen zwischen den Queues. Hierzu muss lediglich einmal ein Verbindung zwischen den zugeordneten Queue Managern angelegt werden...
Channel
Eben diese Verbindungen werden als Channel bezeichnet. Mittels der Channels werden also systemübergreifend Messages zwischen verschiedenen Queues transportiert. Auch eine Anbindung von WebSphere MQ Clients ist mittels der Channels möglich.
Meine knappe WebSphere MQ Einführung ist an dieser Stelle abgeschlossen. Eingangs erwähnte ich, dass WebSphere MQ FTE auf WebSphere MQ aufsetzt, doch nun stellt sich bei Ihnen sicherlich die Frage ein: wieso? Eine Antwort liefert der Vergleich zwischen den Anforderungen an einen Dateitransport im Messagingsystem oder in einer Filetransferlösung.
Dateien sollen möglichst
- effektiv
- zuverlässig
- sicher
über Systemgrenzen hinweg transportiert werden.
Das eben jene Anforderungen von bisherigen Filetransferlösungen kaum erfüllt wurden, zeigt folgende Wikipedia-Definition auf:
„Managed file transfer (MFT) refers to software solutions that facilitate the secure transfer of data from one computer to another through a network (e.g., the Internet). MFT solutions are often built using the FTP network protocol. However, the term specifically describes solutions that remedy the disadvantages associated with FTP.“
Diese legt fest, dass eine MFT Lösung Nachteile bisheriger und weit verbreiteter auf FTP-basierender Filetransferlösungen bestmöglich einschränkt. In der nachfolgenden Tabelle habe ich diese näher aufgelistet.
Zusammenfassend lässt sich also konstatieren, dass FTP nicht dazu geeignet ist, zeitgemäße Bedürfnisse an die Dateitransferqualität zu erfüllen. Dagegen besitzt das Messagingsystem WebSphere MQ bereits einen Großteil der geforderten Funktionalität von Haus aus. Was liegt also näher als ein Programm zu entwickeln, welches WebSphere MQ nutzt und dessen Funktionsumfang zusätzlich um einige nützliche Features erweitert?