Show TOC Anfang des Inhaltsbereichs

Komponentendokumentation bgRFC (Background Remote Function Call)  Dokument im Navigationsbaum lokalisieren

Einsatzmöglichkeiten

Der bgRFC ermöglicht Anwendungen, Daten aufzuzeichnen, die später von einer aufgerufenen Anwendung empfangen werden. Beim Empfangen der Daten soll sichergestellt werden, dass die Daten entweder genau einmal in beliebiger Reihenfolge (transaktional) oder genau einmal und in der Reihenfolge ihrer Erzeugung (queued) an den Empfänger übergeben werden.

Mit dem bgRFC kann dabei die Asynchronität  zwischen Aufrufer und Gerufenem für folgende Optimierungen verwendet werden:

Es wird die Entkopplung und potenziell eine Parallelisierung erreicht. Dazu erfolgt die Lastverteilung über die zur Verfügung stehenden Applikationsserver dieses Systems.
Dieses bgRFC-Szenario wird als Inbound-Verfahren bezeichnet.

Es wird die Entkopplung und damit die physische Aufteilung einer Anwendung oder eines Business-Szenarios erreicht. Durch die Asynchronität können Unterschiede in den Leistungsmerkmalen der Applikationsserver von aufrufendem und gerufenem System ausgeglichen werden. Die Aufzeichnung erfolgt in dem aufrufenden System.
Bei diesem Szenario handelt es sich um das Outbound-Verfahren.

Hier lassen sich alle Optimierungsmöglichkeiten nutzen. Allerdings erfolgt hier die Aufzeichnung doppelt, sowohl beim Aufrufer (Outbound-Verfahren) als auch beim Aufgerufenen (Spezialfall des Inbound-Verfahrens), wodurch zusätzliche Belastungen für die Datenbank (und durch die Scheduler für die Applikationsserver) entstehen.

Der bgRFC organisiert die verschiedenen Aufrufe über Queues. Ein Aufruf, der gleichzeitig in mehrere Queues gestellt wird, erzeugt eine Abhängigkeit zwischen diesen Queues. Diese führt zu einem Synchronisationspunkt, der ähnlich einer Sperre wirkt.

Die abhängigen Queues können so weit abgearbeitet werden, bis derjenige Eintrag zur Verarbeitung ansteht, der die Abhängigkeit definiert. Dieser Eintrag kann erst verarbeitet werden, wenn er in allen Queues an erster Stelle steht, also verarbeitbar ist.

Hinweis

Es handelt sich hier um eine sehr mächtige Funktionalität (z.B. für die Belegverwaltung in der Logistik), die aber bei unüberlegter Verwendung durch die Anwendungsentwicklung auch zum vermeintlichen Stillstand der Queue-Verarbeitung führen kann.

Der bgRFC stellt für Entwickler ein API zur Verfügung, mit dessen Hilfe die Eigenschaften der Übertragung definiert und die Daten aufgezeichnet werden können.

Die Aufzeichnung erfolgt durch den Aufruf RFC-fähiger Funktionsbausteine. Mehrere Funktionsbaustein-Aufrufe können zu einer Unit gebündelt werden. Die Unit ist dabei die Einheit der Übertragung. Eine Unit ist entweder vollständig übertragen worden oder steht noch zur Übertragung an. 

Einschränkungen

Eine kombinierte Verwendung des bgRFC mit  tRFC und qRFC ist innerhalb einer Destination nicht möglich. Sie können aber pro Destination festlegen, welchen Kommunikationstyp Sie verwenden wollen.    

Integration

Anwendungen, die vom qRFC auf den bgRFC umstellen, müssen ein Migrations-Szenario unterstützen, in dem eine temporäre Verknüpfung zwischen der Queue des qRFC und der Queue des bgRFC hergestellt wird. Auf diese Weise wird die korrekte Reihenfolge der Ausführung auch beim Wechsel von qRFC zu bgRFC sichergestellt.

Hinweis

Ein Wechsel vom bgRFC zurück zum qRFC ist nicht vorgesehen. 

Weitere Informationen

Detailinformationen zur Administration und Programmierung des bgRFC finden Sie unter:

Ende des Inhaltsbereichs