Entwickeln von SAP-Anwendungen mithilfe des WCF-Dienstmodells
Auf der untersten Ebene stellt Windows Communication Foundation (WCF) ein Programmiermodell dar, bei dem Clients Vorgänge für einen Dienst aufrufen, indem SOAP-Nachrichten über einen Kanal ausgetauscht werden, der zwischen Client- und Dienstendpunkten eingerichtet wurde. Dieses Modell, das als WCF-Kanalmodell bezeichnet wird, macht Datentypen und Methoden verfügbar, mit denen Sie direkt mit der WCF-Kanalarchitektur arbeiten können. Das WCF-Kanalmodell bietet Ihnen eine direkte Kontrolle über den Inhalt der soap-Nachrichten, die Sie erstellen, und über die Art und Weise, wie sie sowohl von Ihrer Anwendung als auch vom SAP-Adapter genutzt werden. Das Erstellen wohlgeformter SOAP-Nachrichten, die über einen Kanal gesendet werden sollen, und das Überprüfen der zurückgegebenen Antwortnachrichten kann jedoch eine detaillierte und anspruchsvolle Aufgabe sein.
Aus diesem Grund stellt WCF ein weiteres Programmiermodell bereit, das als WCF-Dienstmodell bezeichnet wird. Das WCF-Dienstmodell umfasst die Verwendung von Proxyklassen zum Aufrufen von Vorgängen für einen Zieldienst oder zum Empfangen von Vorgängen von einem Client.
Die Proxyklasse, die zum Aufrufen von Vorgängen für einen Zieldienst verwendet wird, wird als WCF-Clientklasse bezeichnet. Diese Klasse modelliert die Vorgänge, die von einem Dienst als .NET-Methoden mit stark typisierten Parametern verfügbar gemacht werden. Mithilfe des WCF-Dienstmodells können Sie die Vorgänge aufrufen, die vom SAP-Adapter als .NET-Methoden auf dem WCF-Client verfügbar gemacht werden. Weitere Informationen zu WCF-Clients finden Sie unter WCF-Clientübersicht.
Die Proxyklasse, die zum Empfangen eines Vorgangs von einem Client verwendet wird, wird als WCF-Dienstvertragsklasse bezeichnet. Diese Klasse modelliert einen Vorgang, der vom Code als Rückrufmethode mit stark typisierten Parametern verfügbar gemacht wird. Anschließend können Sie eine instance dieser Klasse in einem System.ServiceModel.ServiceHost hosten, damit ein Client den Vorgang für Ihren Code aufrufen kann. Mithilfe des WCF-Dienstmodells und einer WCF-Dienstvertragsklasse, die auf den POLLINGSTMT-Vorgang ausgerichtet ist, können Sie die Ergebnisse einer Abrufabfrage vom SAP-Adapter erhalten.
Sie verwenden Tools, um eine WCF-Clientklasse oder einen WCF-Dienstvertrag und den zugehörigen Hilfscode aus den Dienstmetadaten zu generieren, die der SAP-Adapter verfügbar macht. Sie können eines der folgenden Tools verwenden:
Das ServiceModel Metadata Utility Tool (svcutil.exe), das im Lieferumfang von WCF enthalten ist
Das Visual Studio-Plug-In "Adapterdienstreferenz hinzufügen", das im Lieferumfang des SAP-Adapters enthalten ist
Das Add Adapter Service Reference Plug-In ist in die Visual Studio-Entwurfsoberfläche integriert und stellt eine Standardmäßige Microsoft Windows-Schnittstelle bereit, die leistungsstarke Browser- und Suchfunktionen für Vorgänge bietet, die vom Adapter verfügbar gemacht werden. Weitere Informationen zum Generieren eines WCF-Clients oder einer WCF-Dienstvertragsklasse finden Sie unter Generieren eines WCF-Clients oder eines WCF-Dienstvertrags für SAP-Lösungsartefakte.
Da es ein Modell darstellt, das .NET-Programmierern vertraut ist und die zugrunde liegende Komplexität des SOAP-Nachrichtenaustauschs über einen Kanal ausblendet, ist das WCF-Dienstmodell häufig die beste Wahl, um Programmierlösungen für den SAP-Adapter zu entwickeln. Es gibt jedoch Szenarien, in denen das WCF-Kanalmodell die bessere Wahl sein könnte. Insbesondere in Szenarien, in denen Streaming wichtig ist. Dies liegt daran, dass die Serialisierung und Deserialisierung zwischen der XML-Darstellung von Objekten in einer SOAP-Nachricht und den .NET-Typen, die zu ihrer Darstellung im Dienstmodell verwendet werden, das Lesen der gesamten Nachricht in den Arbeitsspeicher umfasst. Weitere Informationen zur Verwendung des WCF-Kanalmodells finden Sie unter Entwickeln von SAP-Anwendungen mit dem WCF-Kanalmodell.
Die Themen in diesem Abschnitt enthalten Informationen, Verfahren und Beispiele, mit denen Sie das WCF-Dienstmodell erstellen und verwenden können, um Anwendungen mithilfe des SAP-Adapters zu entwickeln.