Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Interface-basierte Verarbeitung von Messages Dokument im Navigationsbaum lokalisieren

Messages der Exchange Infrastructure basieren auf XML. Wie kann aber eine Anwendung eine solche Message verschicken? Die Idee ist ähnlich wie bei Remote Function Calls (RFCs): Die Kommunikation mit einem anderen System wird über ein Interface gekapselt, dessen Parameter in eine Message umgewandelt werden. Ein entscheidender Unterschied im Vergleich zu RFCs ist jedoch, dass SAP XI immer zwei Interfaces für eine Kommunikation benötigt: Eines auf Senderseite und eines auf Empfängerseite. Im Vergleich zu RFCs bietet dies den Vorteil, dass Sender- und Empfänger-Interfaces nicht exakt übereinstimmen müssen (lose Kopplung).

Das folgende Beispiel zeigt schematisch, wie über ein Sender-Interface eine Message an einen Empfänger geschickt wird:

Hinweis

Es kann auch mehr als einen Empfänger geben, das Prinzip bleibt jedoch gleich.

Diese Grafik wird im zugehörigen Text erklärt

Die Grafik zeigt, dass es zu einem Interface A eines Sender-Systems ein Interface B im Empfänger-System gibt:

·      Interface B beschreibt die Eingangsschnittstelle (das Inbound-Interface) einer Anwendung.

·      Interface A beschreibt die Ausgangsschnittstelle (das Outbound-Interface) einer Anwendung.

Zur Laufzeit machen Inbound-Interfaces einen Service zugänglich, der beispielsweise Kundendaten zu einem Auftrag ermittelt und zurückgibt. Outbound-Interfaces dienen zum Aufruf eines Service über den Integration Server.

Entkopplung über Outbound- und Inbound-Interfaces

Um eine Message zu versenden rufen Sie einfach das Outbound-Interface (in der Grafik: Interface A) auf, dem Sie Parameter für die Request-Message übergeben. Außerdem müssen Sie auf Empfängerseite die Empfänger-Verarbeitung des Inbound-Interface (in der Grafik: Interface B) implementieren. Wie die gestrichelten Pfeile andeuten, kann die Kommunikation auch nur aus der Übertragung einer Message bestehen, je nachdem, ob es sich um synchrone oder asynchrone Kommunikation handelt (siehe auch: Kommunikationsparameter).

Outbound- und Inbound-Interfaces dienen der Entkopplung von (potenziellen) Sendern und Empfängern. Die Parameter der Interfaces müssen für einen Nachrichtenaustausch nicht übereinstimmen (dann ist zur Laufzeit ein Mapping nötig). Dies erlaubt es verschiedene Sender und Empfänger miteinander kommunizieren zu lassen. Diese lose Kopplung ermöglicht es insbesondere auch solche Interfaces einander zuzuordnen, bei der eine Seite der Kommunikation nicht mehr geändert werden kann oder soll. Beispielsweise kann ein Outbound-Interface ein Message-Interface sein, um einen RFC in einem 4.6C SAP-System aufzurufen. Der RFC hat in diesem Fall die Rolle eines Inbound-Interfaces.

Sie ordnen Outbound- und Inbound-Interface in der Konfigurations-Zeit über eine Interface-Ermittlung einander zu.

Interface-Typen und Laufzeit-Komponenten

Für die Wandlung der Parameter in eine Message beziehungsweise umgekehrt muß die Anwendung nichts implementieren. Diese Aufgabe übernimmt je nach Interface-Typ folgende XI-Laufzeitkomponente (siehe auch: Connectivity):

Hinweis

Im Bild ist die XI-Laufzeitkomponente vereinfachend als Teil des Anwendungssystems dargestellt. Dies ist zutreffend für die Proxy-Laufzeit, ist bei Adaptern aber abhängig vom Adaptertyp.

Interface-Typ
(Interface A oder B oder beide)

XI-Laufzeit-kompontente

Programmiermodell

Proxy
(ausgehend von Message-Interfaces)

Proxy-Laufzeit

Proxies sind ausführbare Interfaces im Anwendungssystem. Sie können sie nur über die Proxy-Generierung ausgehend von Message-Interfaces im System anlegen. Es gibt ABAP- und Java-Proxies.

IDoc

IDoc-Adapter

Alle Interfaces, die bereits im System vorhanden sind, können über Adapter an die Integration Engine angeschlossen werden. Die Adapter bilden zwischen dem XI Message-Protokoll und dem jeweiligen Interface-Typ ab. Für Adapter, die keinen Interface-Aufruf abbilden (wenn die Daten der Message aus einer Datenbank, Datei, etc., stammen) konfigurieren Sie ein Interface.

RFCs, BAPIs

Ein Adapter der Adapter Engine

Interfaces aus Fremdsystemen

Mit Message-Interfaces verfolgen Sie den Outside-In-Ansatz, mit allen anderen Interfaces den Inside-Out-Ansatz (siehe: Design-Zeit). In beiden Fällen unterstützt der Integration Builder die Ablage der Interface-Beschreibung im Integration Repository: Message-Interfaces werden direkt dort angelegt, RFCs, BAPIs und IDocs können Sie in das Integration Repository importieren und für Fremdsysteme besteht die Möglichkeit, Message-Schemata in WSDL, XSD oder DTD in das Integration Repository hochzuladen. Die Beschreibung des Interface im Integration Repository ist also von der Implementation entkoppelt mit den folgenden Vorteilen:

·      Die Information über die Message-Struktur ist zentral verfügbar

·      Parallel zur Anwendungsentwicklung in den Systemen können Sie die Interface-Beschreibung beim Design des Integrationsszenarios, Integrationsprozessen und des Mappings verwenden

Siehe auch: Kommunikationspartner (Fallbeispiele).

 

 

 

 

Ende des Inhaltsbereichs