Teilen über


Übersicht über die Architektur des BizTalk-Adapters für Oracle-Datenbank

Beschreibt die Architektur für den Microsoft BizTalk-Adapter für Oracle-Datenbank.

Ein Verständnis der Oracle Database-Adapterarchitektur kann Ihnen dabei helfen:

  • Verstehen der Beziehung zwischen dem Oracle Database-Adapter und dem Microsoft Windows Communication Foundation (WCF)-Branchenadapter-SDK

  • Verstehen von Sicherheitsgrenzen, damit Sie Daten in Ihrer Lösung besser schützen können.

  • Grundlegendes zu den Bindungseigenschaften des Oracle Database-Adapters.

  • Behandeln von Installationsproblemen.

In diesem Thema wird die Architektur von End-to-End-Lösungen beschrieben, die den Oracle Database-Adapter verwenden, um mit einer Oracle-Datenbank zu arbeiten, und auch die interne Architektur des Oracle Database-Adapters beschrieben.

Übersicht über die Adapterarchitektur

Der Microsoft BizTalk-Adapter für Oracle-Datenbank ist eine benutzerdefinierte Wcf-Bindung (Windows Communication Foundation). Diese Bindung enthält ein einzelnes benutzerdefiniertes Transportbindungselement, das die Kommunikation mit einer Oracle-Datenbank ermöglicht. Der Oracle Database-Adapter wird von der Lob-Sdk-Runtime (Microsoft Windows Communication Foundation) (WCF) des Branchenadapters (Microsoft Windows Communication Foundation) umschlossen und für Anwendungen über die WCF-Kanalarchitektur verfügbar gemacht. Der Oracle Database-Adapter kommuniziert mit der Oracle-Datenbank über den Oracle-Datenanbieter für .NET (ODP.NET) und den Oracle-Client, die Teil der Oracle Data Access Components (ODAC) für Windows sind.

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

Architekturdiagramm für Oracle-Datenbankadapter

Verbrauch des Adapters

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

  • Über eine WCFchannel-Modellanwendung. Eine WCF-Kanalmodellanwendung führt Vorgänge für die Oracle-Datenbank aus, indem sie das WCF-Kanalmodell verwendet, um SOAP-Nachrichten direkt mit dem Oracle Database-Adapter auszutauschen. Weitere Informationen zum Entwickeln von Lösungen für den Oracle Database-Adapter mithilfe des WCF-Kanalmodells finden Sie unter Entwickeln einer Oracle-Datenbankanwendung mithilfe des WCF-Kanalmodells.

  • Über eine WCF-Dienstmodellanwendung. Eine WCF-Dienstmodellanwendung ruft Methoden auf einem WCF-Client auf, um Vorgänge für die Oracle-Datenbank auszuführen. Ein WCF-Client modelliert die Vorgänge, die vom Oracle Database-Adapter als .NET-Methoden verfügbar gemacht werden. Sie können das Microsoft Windows Communication Foundation (WCF) Branchenadapter-SDK (LOB) oder das WCF ServiceModel Metadata Utility Tool (svcutil.exe) verwenden, um eine WCF-Clientklasse aus Metadaten zu erstellen, die vom Oracle Database-Adapter verfügbar gemacht werden. Weitere Informationen zum WCF-Dienstmodell und zum Oracle Database-Adapter finden Sie unter Entwickeln von Oracle-Datenbankanwendungen mithilfe des WCF-Dienstmodells.

  • Über einen BizTalk-Empfangsspeicherort 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 Oracle DB-Bindung und das Verhalten für den Empfangsspeicherort oder Sendeport auswählen und konfigurieren. Weitere Informationen zur Verwendung des Oracle Database-Adapters in BizTalk Server Lösungen finden Sie unter Entwickeln Ihrer BizTalk-Anwendungen.

  • Über einen iis-gehosteten Webdienst. In diesem Szenario wird ein WCF-Dienstproxy, der mithilfe des Adapters generiert wurde, in IIS mithilfe der WCF-Http-Standardbindung 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 Oracle-Datenbank kommuniziert.

    Der Oracle Database-Adapter und der ODAC werden immer prozessintern mit der Anwendung oder dem Dienst gehostet, die den Adapter nutzt.

Oracle Database 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:

  • 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. Mindestens muss eine Bindung 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 Oracle-Datenbank macht eine benutzerdefinierte WCF-Bindung verfügbar, die Oracle DB-Bindung (Microsoft.Adapters.OracleDB.OracleDBBinding). Standardmäßig enthält diese Bindung ein einzelnes benutzerdefiniertes Transportbindungselement, das Oracle DB-Adapterbindungselement (Microsoft.Adapters.OracleDB.OracleDBAdapter), das Vorgänge in einer Oracle-Datenbank ermöglicht.

    Microsoft.Adapters.OracleDB.OracleDBBinding (die Oracle DB-Bindung ) und Microsoft.Adapters.OracleDB.OracleDBAdapter (das Oracle DB-Adapterbindungselement) sind öffentliche Klassen und werden auch für das Konfigurationssystem verfügbar gemacht. Da das Oracle DB-Adapterbindungselement öffentlich verfügbar gemacht wird, können Sie ihre eigenen benutzerdefinierten WCF-Bindungen erstellen, die die Funktionalität des Oracle Database-Adapters erweitern können. Sie könnten beispielsweise eine benutzerdefinierte Bindung implementieren, um das einmalige Anmelden (Single Sign-On, SSO) von Enterprise 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 einzelnen Mehrfunktionsvorgang oder die Durchführung einer Schematransformation zwischen Vorgängen, die von einer benutzerdefinierten Anwendung implementiert wurden, und Vorgängen in der Oracle-Datenbank.

    Der Oracle Database-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 Oracle Database-Adapter verwendet, um Benutzern und Adapterclients umfangreiche Features bereitzustellen.

Oracle Database Adapter und WCF LOB Adapter SDK

Der Microsoft BizTalk-Adapter für Oracle-Datenbank implementiert eine Reihe von Kernkomponenten, die die Funktionen des Microsoft Windows Communication Foundation (WCF) Lob-Adapter-SDK (Microsoft Windows Communication Foundation) nutzen und konnektivität mit der Oracle-Datenbank über Oracle Data Provider for .NET (ODP.NET) bereitstellen.

Das WCF LOB Adapter SDK dient als Softwareschicht, über die der Oracle Database-Adapter eine Schnittstelle mit windows Communication Foundation (WCF) herstellt. ODP.NET dient als Ebene, über die der Oracle Database-Adapter mit der Oracle-Datenbank verknüpft ist.

Die folgende Abbildung zeigt die Beziehungen zwischen den internen Komponenten des Oracle Database-Adapters, des WCF LOB Adapter SDK und ODP.NET.

Interne Architektur des Oracle Database-Adapters

ODP.NET

Der Oracle Database-Adapter stellt über den ODP.NET und den Oracle-Client eine Verbindung mit der Oracle-Datenbank her. Beide Komponenten sind Teil von Oracle Data Access Components (ODAC).

ODP.NET implementiert einen Datenanbieter für die Oracle-Datenbank, der mit der ADO.NET-Schnittstelle konsistent ist. Der Oracle Database-Adapter verwendet die von ODP.NET verfügbar gemachten Klassen, um mit der Oracle-Datenbank zu arbeiten.

Der Oracle-Client bietet Konnektivität mit der Oracle-Datenbank. Sie stellen eine Verbindung mit einer Oracle-Datenbank her, indem Sie einen Verbindungs-URI für den Oracle Database-Adapter bereitstellen. Sie können den Verbindungs-URI auf zwei Arten angeben:

  • Verwenden von tnsnames.ora. Bei diesem Ansatz enthält der vom Adapterclient bereitgestellte Verbindungs-URI nur den net-Dienstnamen, der in der Datei tnsnames.ora angegeben ist. Der Adapter extrahiert die Verbindungsparameter wie Servername, Dienstname, Portnummer usw. aus dem Eintrag net service name in der Datei. Um diesen Ansatz zu verwenden, muss der Computer, auf dem der Oracle-Client ausgeführt wird, so konfiguriert sein, dass er den Net-Dienstnamen für die Oracle-Datenbank in die Datei tnsnames.ora einschließt.

  • Ohne tnsnames.ora zu verwenden. Bei diesem Ansatz geben die Adapterclients die Verbindungsparameter direkt im Verbindungs-URI an. Dies erfordert nicht, dass der Net-Dienstname in der Datei tnsnames.ora auf dem Clientcomputer vorhanden ist. Dieser Ansatz erfordert nicht einmal, dass die Datei tnsnames.ora auf dem Clientcomputer vorhanden ist.

    Weitere Informationen zum Verbindungs-URI finden Sie unter Erstellen einer Verbindung mit der Oracle-Datenbank.

Nächste

Sichern der Oracle Database-Anwendungen