Freigeben über


Architekturübersicht über den BizTalk-Adapter für SQL Server

Der Microsoft BizTalk-Adapter für SQL Server ist eine benutzerdefinierte Windows Communication Foundation (WCF)-Bindung. Diese Bindung enthält ein einzelnes benutzerdefiniertes Transportbindungselement, das die Kommunikation mit einer SQL Server-Datenbank ermöglicht. Der SQL-Adapter wird von der Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK Laufzeitumgebung umschlossen und für Anwendungen über die WCF-Kanalarchitektur verfügbar gemacht. Der SQL-Adapter kommuniziert über ADO.NET mit der SQL Server-Datenbank.

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

Abbildung der End-to-End-Architektur für Lösungen, die mithilfe des SQL-Adapters entwickelt werden.

Verbrauch des Adapters

Der SQL-Adapter macht die SQL Server-Datenbank als WCF-Dienst für Clientanwendungen verfügbar. Um Vorgänge auszuführen und auf Daten in der SQL Server-Datenbank zuzugreifen, tauschen Clientanwendungen SOAP-Nachrichten mit dem SQL-Adapter über WCF-Kanäle aus. Die vorstehende Abbildung zeigt vier Möglichkeiten, wie der SQL-Adapter genutzt werden kann.

  • Über eine WCF-Kanalmodellanwendung. Eine WCF-Kanalmodellanwendung führt Vorgänge in der SQL Server-Datenbank mithilfe des WCF-Kanalmodells aus, um SOAP-Nachrichten direkt mit dem SQL-Adapter auszutauschen. Siehe Entwickeln von SQL-Anwendungen mithilfe des WCF-Kanalmodells.

  • Über eine WCF-Dienstmodellanwendung. Eine WCF-Dienstmodellanwendung ruft Methoden auf einem WCF-Client auf, um Vorgänge in der SQL Server-Datenbank auszuführen. Ein WCF-Client modelliert die Vorgänge, die vom SQL-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 WCF ServiceModel Metadata Utility Tool (svcutil.exe) verwenden, um eine WCF-Clientklasse aus Metadaten zu erstellen, die vom SQL-Adapter verfügbar gemacht werden. Siehe Entwickeln von SQL-Anwendungen mithilfe des WCF-Dienstmodells.

  • Über einen BizTalk-Empfangsstandort oder Sendeport, der für die Verwendung des Microsoft BizTalk-WCF-Custom-Adapters konfiguriert ist. Der WCF-Custom Adapter ermöglicht die Verwendung von WCF-Erweiterbarkeitsfeatures. Mithilfe des WCF-Custom Adapters können Sie die SQL DB-Bindung und das Verhalten für den Empfangsspeicherort oder den Sendeport auswählen und konfigurieren. Weitere Informationen zur Verwendung des SQL-Adapters in BizTalk Server-Lösungen finden Sie unter Developing BizTalk Server Applications.

  • Über einen von IIS gehosteten Webdienst. In diesem Szenario wird ein WCF-Dienstproxy, der mithilfe des Adapters generiert wird, mithilfe der standardmäßigen WCF-Http-Bindung in IIS gehostet. Dadurch wird der Dienstvertrag als Webdienst für externe Benutzer verfügbar gemacht. IIS hostet den Adapter automatisch zur Laufzeit, was wiederum mit der SQL Server-Datenbank kommuniziert.

Der SQL-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:

  • Eine Endpunktadresse, die den Speicherort angibt, an dem Nachrichten empfangen werden.

  • Eine Bindung, die die Kommunikationsprotokolle angibt, die zum Austauschen von Nachrichten verwendet werden.

  • Ein 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 das WCF-Programmiermodell.

Der Microsoft BizTalk-Adapter für SQL Server macht eine benutzerdefinierte WCF-Bindung verfügbar, die SQL DB-Bindung (Microsoft.Adapters.SQLDB.SQLDBBinding). Standardmäßig enthält diese Bindung ein einzelnes benutzerdefiniertes Transportbindungselement, das SQL DB Adapter Binding Element (Microsoft.Adapters.SQLDB.SQLDBAdapter), das Vorgänge in einer SQL Server-Datenbank ermöglicht.

Microsoft.Adapters.SQLDB.SQLDBBinding (sql DB Binding) und Microsoft.Adapters.SQLDB.SQLDBAdapter (das SQL DB Adapter Binding Element) sind öffentliche Klassen und werden auch für das Konfigurationssystem verfügbar gemacht. Da das SQL DB Adapter Binding Element öffentlich verfügbar gemacht wird, können Sie eigene benutzerdefinierte WCF-Bindungen erstellen, die die Funktionalität des SQL-Adapters erweitern können. Sie können z. B. eine benutzerdefinierte Bindung implementieren, um SSO (Enterprise Single Sign-On) in einem WCF-Kanal oder einer Dienstmodelllösung zu unterstützen. Die Gründe hierfür wären das Aggregieren von Datenbankvorgängen in einem einzigen Multifunktionsvorgang oder das Ausführen einer Schematransformation zwischen Vorgängen, die von einer benutzerdefinierten Anwendung und Vorgängen in der SQL Server-Datenbank implementiert werden.

Der SQL-Adapter basiert auf dem Microsoft Windows Communication Foundation (WCF) Line of Business (LOB)-Adapter-SDK und wird in der Laufzeitumgebung des WCF LOB-Adapter-SDK ausgeführt. Das WCF LOB Adapter SDK stellt eine Softwareframework- und Toolinfrastruktur bereit, die der SQL-Adapter verwendet, um Benutzern und Adapterclients umfangreiche Features bereitzustellen.

SQL-Adapter und WCF LOB-Adapter-SDK

Der Microsoft BizTalk-Adapter für SQL Server implementiert eine Reihe von Kernkomponenten, die funktionen nutzen, die vom Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK bereitgestellt werden, und stellt über ADO.NET Konnektivität mit der SQL Server-Datenbank bereit.

Das WCF LOB Adapter SDK dient als Softwareebene, über die der SQL-Adapter mit der Windows Communication Foundation (WCF) Schnittstellen. ADO.NET dient als Ebene, über die der SQL-Adapter mit der SQL Server-Datenbank Schnittstellen. Die folgende Abbildung zeigt die Beziehungen zwischen den internen Komponenten des SQL-Adapters und zwischen diesen Komponenten und ADO.NET.

Abbildung, die die Beziehungen zwischen den internen Komponenten des SQL-Adapters und zwischen diesen Komponenten und ADO.NET zeigt.

ADO.NET

Der SQL-Adapter stellt über ADO.NET eine Verbindung mit der SQL Server-Datenbank her. ADO.NET bietet konsistenten Zugriff auf Datenquellen wie SQL Server und erleichtert das Abrufen, Verarbeiten und Ändern der Daten in den Datenquellen. Weitere Informationen zu ADO.NET.

Der SQL-Client stellt eine Verbindung mit der SQL Server-Datenbank bereit. Sie stellen eine Verbindung mit einer SQL Server-Datenbank her, indem Sie einen Verbindungs-URI mit dem SQL-Adapter bereitstellen. Dieser Verbindungs-URI enthält den Namen des Computers, auf dem der SQL Server installiert ist, und den Namen der Datenbank. Weitere Informationen zum Verbindungs-URI finden Sie unter Erstellen einer Verbindung mit SQL Server.

Siehe auch

Grundlegendes zum BizTalk-Adapter für SQL Server