Nachrichtenfluss-Aggregation

Eine Aggregation ist die Generierung und Verteilung zusammengehöriger Anforderungen, die von einer einzelnen Eingabenachricht abgeleitet sind, sowie das Sammeln der entsprechenden Antworten, um eine einzelne zusammengefasste Antwortnachricht zu erstellen.

Die ursprüngliche vom Nachrichtenfluss erhaltene Anforderung, die eine Sammlung zusammengehöriger Anforderungselemente darstellt, wird in die entsprechende Anzahl an individuellen Anforderungen aufgeteilt, um den Subtasks der ursprünglichen Anforderung gerecht zu werden. Dieser Prozess wird als "Verteilung" bezeichnet und von einem Nachrichtenfluss zur Verfügung gestellt, der Aggregationsknoten enthält.

Die Antworten der Subtasks werden kombiniert und zu einer einzelnen Antwort zusammengefügt, die an den ursprünglichen Requester (oder eine andere Zielanwendung) zurückgegeben wird , um den Abschluss der Verarbeitung anzuzeigen. Dieser Prozess wird als "Sammlung" bezeichnet und ebenfalls von einem Nachrichtenfluss zur Verfügung gestellt, der Aggregationsknoten enthält.

Sie können eine Aggregation einleiten, indem Sie von einer Clientanwendung, die über ein unterstütztes Protokoll mit dem Broker verbunden ist, eine Nachricht an einen Nachrichtenfluss senden; die zusammengefasste Antwort kann auch über all diese Protokolle an eine Clientanwendung gesendet werden. Bei den Nachrichten, die vom Verteilernachrichtenfluss ausgegeben und die Antworten, die vom Sammelnachrichtenfluss empfangen werden, muss es sich um Request/Reply-Nachrichten handeln. Sie sind daher auf Clientanwendungen beschränkt, die beim Verbinden WebSphere MQ Enterprise Transport (Senden und Empfangen von Nachrichten an und von MQEmpfangsknoten und MQSendeknoten) verwenden, oder auf Clients, die ein anderes vom Empfangs- oder Sendeknoten unterstütztes Protokoll nutzen, die dem Anforderungs-/Antwort-Kommunikationsmodell entsprechen.

WebSphere Message Broker bietet drei Nachrichtenflussknoten, von denen die Aggregation unterstützt wird:

Wenn Sie diese Knoten in Ihre Nachrichtenflüsse einfügen, werden parallel innerhalb eines Nachrichtenflusses diese Mehrfach-Verteileranforderungen ausgegeben. Dies steht im Gegensatz zur Standardoperation des Nachrichtenflusses, in dem jeder Knoten nacheinander seine Verarbeitung ausführt.

Mit diesen Knoten können Sie auch Anforderungen an Anwendungen ausgeben, die sich nicht in der Brokerumgebung befinden; die Nachrichten können asynchron an externe Anwendungen oder Services gesendet und die Antworten können von diesen Anwendungen abgerufen werden. Gemeinsam stellen die Antworten eine einzelne Antwort auf die ursprüngliche Anforderungsnachricht bereit.

Diese Knoten bieten auch eine Gelegenheit für die Verbesserung der Antwortzeit, da langsame Antworten parallel ausgeführt werden können und nicht nacheinander verarbeitet werden müssen. Wenn die Subtasks unabhängig verarbeitet werden können und nicht als Bestandteil einer einzelnen Arbeitseinheit behandelt werden müssen, können sie von separaten Nachrichtenflüssen verarbeitet werden.

Sie können auch ohne die Verwendung von Aggregationsknoten einen Nachrichtenfluss entwickeln und konfigurieren, der eine ähnliche Funktion bereitstellt, indem Sie die Subtask-Anforderungen an eine andere Anwendung ausgeben (beispielsweise mit dem HTTPAnforderungsknoten) und die Ergebnisse der einzelnen Anforderungen in der lokalen Umgebung aufzeichnen. Nach dem Abschluss der einzelnen Subtasks können Sie die Ergebnisse aus der lokalen Umgebung in einem Rechenknoten zusammenfügen und die kombinierte Antwortnachricht zur Übergabe an die Zielanwendung erstellen. In diesem Fall werden alle Subtasks nacheinander ausgeführt und bieten die Leistungsvorteile der Parallelverarbeitung nicht, die mit Hilfe der Aggregationsknoten genutzt werden können.

Beispiele von Beispielaggregationsflüssen, die die Aggregatsknoten verwenden, finden Sie im Beispielprogramm 'Aggregation' und im Beispielprogramm 'Airline Reservations'. Das Aggregationsbeispiel veranschaulicht eine einfache 4-Wege-Aggregation, das Beispiel 'Airline Reservations' (Flugreservierungen) simuliert Anforderungen bezüglich eines Flugreservierungsservice und zeigt die mit Aggregationsflüssen zusammenhängenden Verfahren.

Beginn der ÄnderungIn früheren Releases von WebSphere Message Broker hat die Aggregation eine Tabelle in der Brokerdatenbank verwendet, um Aggregationsanforderungen auf Platte zu speichern. Ab WebSphere Business Integration Message Broker Version 5.0 können Sie stattdessen für denselben Zweck WebSphere MQ verwenden. Die externe Funktionsweise von Aggregationsknoten bleibt dabei unverändert. Sie können jedoch jetzt eine Ausführungsgruppe so konfigurieren, dass sie zum Speichern von Aggregationen an Stelle einer Datenbanktabelle WebSphere MQ-Warteschlangen verwendet. Die Verwendung von WebSphere MQ zu diesem Zweck steigert die Leistung und bedeutet, dass die Aggregation immer dann in einem nicht persistenten Modus ausgeführt werden kann, wenn keine Speicherung von Aggregationsanforderungen auf Platte erforderlich ist. Ausführliche Informationen zur Migration und zur Konfiguration einer Ausführungsgruppe für die Verwendung von WebSphere MQ finden Sie im Abschnitt WebSphere MQ verwenden, um den Status in Aggregationsknoten zu speichern.Ende der Änderung

Beginn der ÄnderungWenn Sie dazu übergehen, an Stelle einer Datenbanktabelle WebSphere MQ zum Speichern des Aggregationsstatus zu verwenden, ist es nicht möglich, vorhandene Aggregationen zu migrieren. Stellen Sie deshalb sicher, dass zum Zeitpunkt des Übergangs keine ausstehenden Aggregationen mehr vorhanden sind, da diese Aggregationen nicht migriert werden können. Ende der Änderung

Beginn der ÄnderungDie neuen Aggregationen verwenden die Nachrichtenverfallszeit von WebSphere MQ, um Zeitlimits bei Nachrichten zu verwalten. Damit der Verfall von Nachrichten funktioniert, müssen die Nachrichtenwarteschlangen durchsucht werden. Die Aggregationsknoten durchsuchen die Warteschlangen automatisch, um sicherzustellen, dass abgelaufene Nachrichten verarbeitet werden. Unter z/OS können Sie WebSphere MQ für die Ausführung eines Scavenger-Prozesses konfigurieren, der an Stelle der Aggregationsknoten diese Durchsuchung durchführt. Um den Scavenger-Prozess zu aktivieren, geben Sie für die Eigenschaft EXPRYINT des Broker-WS-Managers den Wert 5 an. Wenn für EXPRYINT entweder kein Wert oder ein höherer Wert als 10 Sekunden angegeben wird, werden die Aggregationen auf die Einstellung zurückgesetzt, bei der sie die Aggregationswarteschlangen automatisch durchsuchen. Ende der Änderung

Zugehörige Konzepte
Nachrichtenflussknoten
Zugehörige Tasks
Einen Nachrichtenfluss entwerfen
Nachrichtenflussinhalte definieren
Aggregationsflüsse konfigurieren
Zugehörige Verweise
Integrierte Knoten
Knoten zur Aggregationssteuerung (AggregateControl)
Knoten für Aggregationsantworten (AggregateReply)
Knoten für Aggregationsanforderungen (AggregateRequest)
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac00660_