Freigeben über


Übersicht über die Architektur des BizTalk-Adapters für mySAP Business Suite

Der Microsoft BizTalk-Adapter für mySAP Business Suite implementiert eine benutzerdefinierte Windows Communication Foundation (WCF)-Bindung, die ein einzelnes benutzerdefiniertes Transportbindungselement enthält, das die Kommunikation mit einem SAP-System ermöglicht. Der SAP-Adapter wird von der Branchen-SDK-Laufzeit (Microsoft Windows Communication Foundation) (WCF) umschlossen und über die WCF-Kanalarchitektur für Anwendungen verfügbar gemacht. Der SAP-Adapter kommuniziert mit dem SAP-System entweder über die 64-Bit- oder die 32-Bit-Version des SAP Unicode RFC SDK (librfc32u.dll).

Die folgende Abbildung zeigt die End-to-End-Architektur für Lösungen, die mit dem SAP-Adapter entwickelt werden.

SAP End-to-End-Architektur

Verwenden des Adapters

Der SAP-Adapter macht das SAP-System als WCF-Dienst für Clientanwendungen verfügbar. Clientanwendungen tauschen SOAP-Nachrichten mit dem SAP-Adapter über WCF-Kanäle aus, um Vorgänge auszuführen und auf Daten im SAP-System zuzugreifen. Die vorherige Abbildung zeigt vier Möglichkeiten, wie der SAP-Adapter genutzt werden kann.

  • Über eine WCF-Kanalanwendung, die Vorgänge im SAP-System ausführt, indem das WCF-Kanalmodell verwendet wird, um SOAP-Nachrichten direkt mit dem SAP-Adapter auszutauschen. Weitere Informationen zum Entwickeln von Lösungen für den SAP-Adapter mithilfe der WCF-Kanalmodellprogrammierung finden Sie unter Entwickeln von Anwendungen mit dem WCF-Kanalmodell.

  • Über eine WCF-Dienstmodellanwendung, die Methoden auf einem WCF-Client aufruft, um Vorgänge auf dem SAP-System auszuführen. Ein WCF-Client modelliert die Vom SAP-Adapter verfügbar gemachten Vorgänge als .NET-Methoden. Sie können das Lob-Adapter-SDK (Microsoft Windows Communication Foundation) (WCF) oder das tool svcutil.exe verwenden, um eine WCF-Clientklasse aus Metadaten zu erstellen, die vom SAP-Adapter verfügbar gemacht werden. Weitere Informationen zur Programmierung des WCF-Dienstmodells und zum SAP-Adapter finden Sie unter Entwickeln von Anwendungen mit dem WCF-Dienstmodell.

  • Über einen BizTalk-Port, der für die Verwendung des BizTalk WCF-Custom-Adapters mit der SAP-Bindung konfiguriert ist, die als Bindung für den WCF-Custom-Transporttyp in einer BizTalk Server-Anwendung konfiguriert ist. Der BizTalk WCF-Custom-Adapter ermöglicht die Kommunikation zwischen einer BizTalk Server-Anwendung und einem WCF-Dienst. Der BizTalk WCF-Custom-Adapter unterstützt benutzerdefinierte WCF-Bindungen über seinen WCF-Custom-Transporttyp. Dadurch können Sie jede WCF-Bindung konfigurieren, die dem Konfigurationssystem als vom BizTalk-WCF-Custom-Adapter verwendete Bindung verfügbar gemacht wird. Weitere Informationen zur Verwendung des SAP-Adapters in BizTalk Server Lösungen finden Sie unter Entwickeln von BizTalk-Anwendungen. BizTalk-Transaktionen werden vom BizTalk Layered Channel-Bindungselement unterstützt, das durch Festlegen einer Bindungseigenschaft für die SAP-Bindung geladen werden kann.

  • Über einen von IIS gehosteten Webdienst. In diesem Szenario wird der SAP-Adapter über einen WCF-Dienstproxy verfügbar gemacht, der in IIS mithilfe einer der STANDARDMÄßIGen WCF-HTTP-Bindungen gehostet wird.

  • Über den .NET Framework-Datenanbieter für mySAP Business Suite. Der Datenanbieter für SAP wird auf dem SAP-Adapter ausgeführt und stellt eine ADO.NET Schnittstelle für ein SAP-System bereit.

    Der SAP-Adapter und die SAP RFC-Bibliothek werden immer prozessintern mit der Anwendung oder dem Dienst gehostet, die den Adapter verwendet.

SAP-Adapter und WCF

WCF stellt ein Programmiermodell vor, das auf dem Austausch von SOAP-Nachrichten über Kanäle zwischen Clients und Diensten basiert. Diese Nachrichten werden zwischen Endpunkten gesendet, die von einem kommunizierenden Client und Dienst verfügbar gemacht werden.

Ein Endpunkt besteht aus einer Endpunktadresse , die den Speicherort angibt, an dem Nachrichten empfangen werden, einer Bindung , die die zum Austauschen von Nachrichten verwendeten Kommunikationsprotokolle angibt, und einem Vertrag , der die vom Endpunkt verfügbar gemachten Vorgänge und Datentypen angibt. Eine Bindung besteht aus einem oder mehreren Bindungselementen, die übereinander stapeln, um zu definieren, wie Nachrichten mit dem Endpunkt ausgetauscht werden.

Eine Bindung muss mindestens den Transport und die Codierung angeben, die zum Austauschen von Nachrichten mit dem Endpunkt verwendet werden. Der Nachrichtenaustausch zwischen Endpunkten erfolgt über einen Kanalstapel, der aus einem oder mehreren Kanälen besteht. Jeder Kanal ist eine konkrete Implementierung eines der Bindungselemente in der für den Endpunkt konfigurierten Bindung.

Die WCF-Dokumentation enthält weitere Details zu WCF und zum WCF-Programmiermodell.

Der Microsoft BizTalk-Adapter für mySAP Business Suite macht eine benutzerdefinierte WCF-Bindung verfügbar, die SAP-Bindung (Microsoft.Adapters.SAP.SAPBinding). Standardmäßig enthält diese Bindung ein einzelnes benutzerdefiniertes Transportbindungselement, das SAP-Adapterbindungselement (Microsoft.Adapters.SAP.SAPAdapter), das Vorgänge auf einem SAP-System ermöglicht. Wenn Sie den SAP-Adapter mit BizTalk Server verwenden, können Sie die EnableBizTalkCompatibilityMode-Bindungseigenschaft so festlegen, dass ein benutzerdefiniertes Bindungselement , das BizTalk Layered Channel Binding Element, zusätzlich zum SAP-Adapterbindungselement geladen wird. Das BizTalk Layered Channel Binding Element wird intern vom SAP-Adapter implementiert und nicht außerhalb der SAP-Bindung verfügbar gemacht.

Microsoft.Adapters.SAP.SAPBinding (die SAP-Bindung) und Microsoft.Adapters.SAP.SAPAdapter (das SAP-Adapterbindungselement) sind öffentliche Klassen und werden auch für das Konfigurationssystem verfügbar gemacht. Da das SAP-Adapterbindungselement öffentlich verfügbar gemacht wird, können Sie Ihre eigenen benutzerdefinierten WCF-Bindungen erstellen, die die Funktionalität des SAP-Adapters erweitern können. Sie können beispielsweise eine benutzerdefinierte Bindung implementieren, um Enterprise Single Sign-On (SSO) in einem WCF-Kanal oder einer WCF-Dienstmodell-Programmierlösung zu unterstützen, Um Datenbankvorgänge in einem einzelnen Multifunktionsvorgang zu aggregieren oder eine Schematransformation zwischen Vorgängen durchzuführen, die von einer benutzerdefinierten Anwendung und Vorgängen im SAP-System implementiert werden.

Der SAP-Adapter basiert auf dem Lob-Adapter-SDK (Microsoft Windows Communication Foundation) (WCF) und wird auf der WCF LOB Adapter SDK-Runtime ausgeführt. Das WCF LOB Adapter SDK stellt ein Softwareframework und eine Toolinfrastruktur bereit, die der SAP-Adapter nutzt, um Benutzern und Adapterclients umfangreiche Features bereitzustellen.

SAP-Adapter und wcf lob adapter SDK

Der Microsoft BizTalk-Adapter für mySAP Business Suite implementiert eine Reihe von Kernkomponenten, die funktionen des LOB-Adapter-SDK (Microsoft Windows Communication Foundation) nutzen und über die SAP Unicode RFC SDK-Bibliothek (librfc32u.dll) Konnektivität mit dem SAP-System bereitstellen.

Das WCF LOB Adapter SDK dient als Softwareebene, über die der SAP-Adapter mit Windows Communication Foundation (WCF) kommuniziert, und das RFC SDK fungiert als Ebene, über die der SAP-Adapter mit dem SAP-System kommuniziert. Die folgende Abbildung zeigt die Beziehungen zwischen den internen Komponenten des SAP-Adapters und zwischen diesen Komponenten und dem RFC SDK.

Die Beziehung der internen Adapterkomponenten

Verbindung mit dem SAP-System

Der SAP-Adapter stellt über die SAP Unicode RFC SDK Library (librfc32u.dll) eine Verbindung mit dem SAP-System bereit. Der SAP-Adapter unterstützt sowohl die 32-Bit- als auch die 64-Bit-Versionen des SAP RFC SDK. Das SAP RFC SDK ermöglicht externen Programmen das Aufrufen von ABAP-Funktionen auf einem SAP-System.

Sie stellen eine Verbindung mit einem SAP-System her, indem Sie einen Verbindungs-URI für den SAP-Adapter angeben. Der SAP-Adapter unterstützt die folgenden Arten von Verbindungen mit einem SAP-System:

  • Eine anwendungshostbasierte Verbindung (A), bei der der SAP-Adapter eine direkte Verbindung mit einem SAP-Anwendungsserver herstellt.

  • Eine Lastenausgleichsverbindung (B), bei der der SAP-Adapter eine Verbindung mit einem SAP-Messagingserver herstellt.

  • Eine zielbasierte Verbindung (D), bei der die Verbindung mit dem SAP-System von einem Ziel in der saprfc.ini Konfigurationsdatei angegeben wird. Verbindungen vom Typ A, B und R werden unterstützt.

  • Eine Listenerverbindung (R), bei der der Adapter RFCs, tRFC und IDOCs über ein RFC-Ziel auf dem SAP-System empfängt, das von einem Listenerhost, einem Listenergatewaydienst und einer Listenerprogramm-ID entweder direkt im Verbindungs-URI oder von einem R-basierten Ziel in der saprfc.ini-Konfigurationsdatei angegeben wird.

    Weitere Informationen zur saprfc.ini-Datei finden Sie in der SAP-Dokumentation unter "The SAPRFC.INI File".

    Weitere Informationen dazu, wie der SAP-Adapter eine Verbindung mit einem SAP-System herstellt, finden Sie unter Erstellen einer Verbindung mit dem SAP-System.

Weitere Informationen

Informationen über BizTalk-Adapter für mySAP Business Suite