Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Queued RFC (qRFC)   Dokument im Navigationsbaum lokalisieren

Der qRFC (queued Remote Function Call) stellt eine Erweiterung des tRFC dar, die es erlaubt, tRFC-Aufrufe über eine Queue zu serialisieren.

Dem tRFC-Aufruf wird dabei der Funktionsbaustein TRFC_SET_QUEUE_NAME vorangestellt, der die Serialisierung einleitet. Das eigentliche Versenden der Aufrufe erfolgt durch einen tRFC-Aufruf.  

Der qRFC kann mit einer Ausgangsqueue (Serialisierung beim Sender) und auch zusätzlich mit einer Eingangsqueue (Serialisierung beim Empfänger) ausgeführt werden.

Daraus ergeben sich die folgenden Szenarien der transaktionalen Datenübertragung:

Diese Grafik wird im zugehörigen Text erklärt

Szenario 1: tRFC

Dieses Szenario eignet sich dann, wenn die zu versendenden Daten unabhängig voneinander sind. Eine aufrufende Anwendung (Client) in System 1 verwendet eine tRFC Verbindung zu einer Aufgerufenen Anwendung (Server) im System 2. In diesem Szenario werden Daten über tRFC übertragen, d.h., jeder ins Zielsystem geschickte Funktionsbaustein wird garantiert genau ein Mal ausgeführt. Die Reihenfolge, in der die Funktionsbauseine ausgeführt werden, sowie der Zeitpunkt der Ausführung, können nicht festgelegt werden! Bei einem Fehler während der Übertragung, wird ein Batch-Job eingeplant, der den Funktionsbaustein nach 15 Minuten noch einmal sendet.

Szenario 2: qRFC mit Ausgangsqueue

In diesem Szenario verwendet das Sendesystem eine Ausgangsqueue, um die zu versendenden Daten zu serialisieren, d.h., voneinander abhängige Aufrufe werden in die Ausgangsqueue des Sendesystems gestellt. Beim Senden wird die genaue Reihenfolge der Speicherung eingehalten und die Aufrufe werden genau einmal an das  Zielsystem geschickt (Service-Eigenschaft: Exactly Once In Order).  

Hinweis

Das Coding des Server-Systems muss zur Verarbeitung von qRFC-Aufrufen nicht geändert werden. Es muss jedoch tRFC-fähig sein.

Szenario 3: qRFC mit Eingangsqueue (& Ausgangsqueue)

In diesem Szenario gibt es zusätzlich zur Ausgangsqueue im Sendesystem (Client) noch eine Eingangsqueue im Zielsystem (Server). qRFC mit Eingangsqueue bedeutet immer, dass eine Ausgangsqueue im Sendesystem existiert.

Die Eingangsqueue verarbeitet nur so viele Funktionsbausteine, wie es die momentanen Ressourcen des Zielsystems (Server) zulassen. Damit wird verhindert, dass ein Server von einem Client blockiert werden kann. Ein Szenario mit lediglich einer Eingangsqueue im Serversystem ist nicht möglich, da die Ausgangsqueue im Clientsystem benötigt wird um die Reihenfolge festzulegen und um zu verhindern, dass einzelne Anwendungen alle Workprozesse im Clientsystem blockieren.

Weitere Informationen

Detaillierte Informationen zum qRFC erhalten Sie unter:

      Queued Remote Function Call (qRFC)

 

Ende des Inhaltsbereichs