Informationen zum Beispielcode 'Connect:Direct file transfer'

Der Beispielcode IBM Sterling Connect:Direct file transfer veranschaulicht die Verwendung der Connect:Direct-Knoten, wenn Sie mit IBM Sterling Connect:Direct in Verbindung mit IBM Integration Bus arbeiten. Im Beispielcode werden folgende Tasks veranschaulicht:

Das Beispielprogramm basiert auf dem folgenden Szenario:

Die Zentrale einer kleinen Bank autorisiert täglich alle Kontenüberweisungsdaten für Bankkonten ihrer Filialen in Winchester und Eastleigh. Die Zentrale empfängt die Kontenüberweisungen in Form von WebSphere MQ-Nachrichten und speichert diese in einer einzelnen Stapeldatei. Sobald die letzte Überweisung des Tages gesendet wurde, sendet jede Filiale eine Tagesabschlussnachricht an die Zentrale. Wenn die Zentrale die Tagesabschlussnachricht beider Filialen erhält, überträgt sie mithilfe von IBM Sterling Connect:Direct die Stapeldatei gemeinsam mit Anweisungen hinsichtlich der Überweisungsprüfung an einen einen externen Autorisierungsservice-Provider. Nach erfolgter Autorisierung empfängt die Zentrale die Datensätze der autorisierten Kontenüberweisung in einer neuen Stapeldatei. Anschließend archiviert sie die Stapeldatei und sendet die Datensätze der autorisierten Kontenüberweisung an die WebSphere MQ-Warteschlangen der jeweiligen Filiale.

Screenshot des Nachrichtenflusses 'SendToauthorizingSystem'

Das Szenario wird anhand von drei Nachrichtenflüssen implementiert, die in den folgenden Abschnitten beschrieben werden:

Die Zentrale empfängt die Überweisungen von den Filialen und sendet sie an das Autorisierungssystem.
SendToAuthorisingSystem.msgflow

Dieser Nachrichtenfluss wird auf dem Integrationsknoten in der Zentrale ausgeführt und empfängt die Kontenüberweisungen von den Filialen, für die eine Autorisierung erforderlich ist. Er fügt die Empfangswarteschlange für Antworten (ReplyToQ) zu den Kontenüberweisungssätzen hinzu und erfasst sie in einer Stapeldatei. Anschließend überträgt er die Datei mithilfe von IBM Sterling Connect:Direct an den externen Autorisierungsservice-Provider.

  1. Der MQInput-Knoten empfängt einzelne Kontenüberweisungssätze entweder von der Filiale Winchester oder der Filiale Eastleigh und sendet jede einzelne an den Rechenknoten.
  2. Der Rechenknoten erkennt, ob es sich bei einer Nachricht um eine Tagesabschlussnachricht handelt, und erhöht im Fall einer Tagesabschlussnachricht den Zähler schrittweise.
  3. Falls die Nachricht keine Tagesabschlussnachricht ist, extrahiert der Rechenknoten das Element 'ReplyToQ' aus dem MQMD-Header und fügt dieses dem Datensatz hinzu.
  4. Der Rechenknoten sendet den Datensatz an den CDOutput-Knoten.
  5. Der CDOutput-Knoten erfasst alle Datensätze in einer lokalen Stapeldatei.
  6. Nachdem beide Filialen ihre Tagesabschlussnachricht gesendet haben, sendet der Rechenknoten eine Nachricht an das Terminal 'Finish File' des CDOutput-Knotens.
  7. Der CDOutput-Knoten überträgt die Stapeldatei an den Autorisierungsservice-Provider.

Screenshot des Nachrichtenflusses 'SendToauthorizingSystem'

Der Autorisierungsservice-Provider verarbeitet die Übertragungen
AuthorisingSystem.msgflow

Dieser Nachrichtenfluss emuliert das Autorisierungssystem vom externen Service-Provider. Er überprüft und autorisiert jeden einzelnen Kontenüberweisungssatz in der empfangenen Stapeldatei und erfasst die autorisierten Datensätze in einer neuen Stapeldatei. Anschließend überträgt er die Datei mithilfe von IBM Sterling Connect:Direct an die Zentrale.

  1. Der CDInput-Knoten empfängt die Datei, die von der Zentrale gesendet wurde.
  2. Der CDInput-Knoten analysiert die Datensätze in der Stapeldatei, wovon jede eine Kontenübertragung darstellt. Er sendet jeden Datensatz an den Mapping-Knoten.
  3. Der CDInput-Knoten füllt die lokale Umgebung mit Metadaten aus der Connect:Direct-Übertragung.
  4. Der Mapping-Knoten verschiebt jeden einzelnen Kontenüberweisungssatz in die Ausgabenachricht.
  5. Die autorisierten Datensätze werden an den CDOutput-Knoten gesendet.
  6. Der CDOutput-Knoten erfasst alle Datensätze in einer lokalen Stapeldatei.
  7. Sobald der CDInput-Knoten alle Datensätze aus der Stapeldatei verarbeitet hat, sendet er eine Nachricht aus dem zugehörigen Terminal 'End of Data' an das Terminal 'Finish File' des CDOutput-Knotens.
  8. Der CDOutput-Knoten überträgt die autorisierten Überweisungen als Stapeldatei zurück an die Zentrale.

Screenshot des Nachrichtenflusses 'authorizingSystem'

Die Zentrale empfängt die autorisierten Übertragungen vom Autorisierungssystem und antwortet den Filialen.
ReceiveFromAuthorisingSystem.msgflow

Dieser Nachrichtenfluss wird im IBM Integration Bus in der Zentrale ausgeführt und empfängt die autorisierten Kontenüberweisungen in einer Stapeldatei. Bei jeder Kontenüberweisung in der Stapeldatei antwortet er der Filiale, von der die Abfrage eingeleitet wurde. Die Antwort wird an die WebSphere MQ-Warteschlange gesendet, die als ReplyToQ-Element im MQMD-Header in der ursprünglichen Abfragenachricht angegeben wurde.

  1. Der CDInput-Knoten empfängt die Stapeldatei mit den autorisierten Datensätzen.
  2. Der CDInput-Knoten analysiert die Datensätze in der Stapeldatei und sendet jeden Datensatz an den MQHeader-Knoten.
  3. Der MQHeader-Knoten fügt jedem Datensatz einen standardmäßigen MQMD-Header hinzu, bevor er diesen an den Mapping-Knoten sendet.
  4. Der Mapping-Knoten verschiebt die ReplyToQ-Informationen aus dem Datensatz in den MQMD-Header.
  5. Der MQReply-Knoten verwendet die Informationen im MQMD-Header, um jeden Datensatz an die Filiale zu übertragen, von der die ursprüngliche Abfrage stammt.
  6. Der CDInput-Knoten archiviert die empfangene Stapeldatei, indem er eine Zeitmarke zum Namen der Datei hinzufügt.

Screenshot des Nachrichtenflusses 'ReceiveFromauthorizingSystem'

Zurück zum Beginn des Beispielcodes