Freigeben über


Architekturübersicht über den BizTalk-Adapter 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 Microsoft Windows Communication Foundation (WCF)Line of Business (LOB)-Adapter SDK-Laufzeit umschlossen und wird anwendungen über die WCF-Kanalarchitektur verfügbar gemacht.The SAP adapter is wrapped by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK runtime and is exposed to applications through the WCF channel architecture. Der SAP-Adapter kommuniziert mit dem SAP-System entweder über die 64-Bit- oder 32-Bit-Version des SAP Unicode RFC SDK (librfc32u.dll).

Die folgende Abbildung zeigt die End-to-End-Architektur für Lösungen, die mithilfe des SAP-Adapters entwickelt werden.

SAP End-to-End-Architektur

Verbrauch 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 vorstehende Abbildung zeigt vier Möglichkeiten, wie der SAP-Adapter verbraucht werden kann.

  • Über eine WCF-Kanalanwendung, die Vorgänge auf dem SAP-System mithilfe des WCF-Kanalmodells ausführt, 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 mithilfe des WCF-Kanalmodells.

  • Über eine WCF-Dienstmodellanwendung, die Methoden auf einem WCF-Client aufruft, um Vorgänge im SAP-System auszuführen. Ein WCF-Client modelliert die Vorgänge, die vom SAP-Adapter als .NET-Methoden verfügbar gemacht werden. Sie können das Microsoft Windows Communication Foundation (WCF)Line of Business(LOB)-Adapter-SDK oder das svcutil.exe Tool 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 den WCF-Custom-Transporttyp. Dadurch können Sie jede WCF-Bindung, die dem Konfigurationssystem zugänglich gemacht wird, als die Bindung konfigurieren, die vom BizTalk-WCF-Custom-Adapter verwendet 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 geladen werden kann, indem eine Bindungseigenschaft für die SAP-Bindung festgelegt wird.

  • Ü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 über dem SAP-Adapter ausgeführt und bietet eine ADO.NET Schnittstelle zu einem SAP-System.

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

SAP-Adapter und WCF

WCF stellt ein Programmiermodell basierend auf dem Austausch von SOAP-Nachrichten über Kanäle zwischen Clients und Diensten dar. 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, eine Bindung , die die Kommunikationsprotokolle angibt, die zum Austauschen von Nachrichten verwendet werden, und einen Vertrag , der die Vorgänge und Datentypen angibt, die vom Endpunkt verfügbar gemacht werden. Eine Bindung besteht aus einem oder mehreren Bindungselementen, die übereinander stapeln, um zu definieren, wie Nachrichten mit dem Endpunkt ausgetauscht werden.

Mindestens muss eine Bindung den Transport und die Codierung angeben, die zum Austauschen von Nachrichten mit dem Endpunkt verwendet wird. 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 das 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 Adapter Binding Element (Microsoft.Adapters.SAP.SAPAdapter), das Vorgänge in 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 geladen wird, das BizTalk Layered Channel Binding Element, über dem SAP Adapter Binding Element. Das BizTalk Layered Channel Binding Element wird intern vom SAP-Adapter implementiert und wird außerhalb der SAP-Bindung nicht verfügbar gemacht.

Microsoft.Adapters.SAP.SAPBinding (SAP Binding) und Microsoft.Adapters.SAP.SAPAdapter (das SAP Adapter Binding Element) sind öffentliche Klassen und werden auch für das Konfigurationssystem verfügbar gemacht. Da das SAP Adapter Binding Element öffentlich verfügbar gemacht wird, können Sie eigene benutzerdefinierte 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-Dienstmodellprogrammierungslösung zu unterstützen, Datenbankvorgänge in einem einzigen Multifunktionsvorgang zu aggregieren oder die 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 Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK und wird über die WCF LOB Adapter SDK-Laufzeit ausgeführt. Das WCF LOB Adapter SDK stellt eine Softwareframework- und Toolinfrastruktur bereit, die der SAP-Adapter nutzt, um Benutzern und Adapterclients umfangreiche Features bereitzustellen.

SAP-Adapter und das WCF LOB Adapter SDK

Der Microsoft BizTalk Adapter für mySAP Business Suite implementiert eine Reihe von Kernkomponenten, die funktionen nutzen, die vom Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK bereitgestellt werden und die Konnektivität zum SAP-System über die SAP Unicode RFC SDK Library (librfc32u.dll) bereitstellen.

Das WCF LOB Adapter SDK dient als Softwareebene, über die der SAP-Adapter mit der Windows Communication Foundation (WCF) Schnittstelle kommuniziert, und das RFC SDK dient 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 zum SAP-System

Der SAP-Adapter verbindet sich mit dem SAP-System über die SAP Unicode RFC SDK Library (librfc32u.dll). 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 in einem SAP-System.

Sie stellen eine Verbindung mit einem SAP-System her, indem Sie einen Verbindungs-URI mit dem SAP-Adapter bereitstellen. 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), in der die Verbindung mit dem SAP-System durch ein Ziel in der saprfc.ini Konfigurationsdatei angegeben wird. A-, B- und R-Typverbindungen werden unterstützt.

  • Eine Listenerverbindung (R), in 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 angegeben wird, entweder direkt im Verbindungs-URI oder von einem R-basierten Ziel in der saprfc.ini Konfigurationsdatei.

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

    Weitere Informationen dazu, wie der SAP-Adapter eine Verbindung mit einem SAP-System herstellt, finden Sie unter Create a Connection to the SAP System.

Siehe auch

Verstehen des BizTalk-Adapters für mySAP Business Suite