Freigeben über


Architekturübersicht über den BizTalk Adapter für Oracle Database

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

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

  • Verstehen Sie die Beziehung zwischen dem Oracle-Datenbankadapter und dem Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK.

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

  • Grundlegendes zu den Bindungseigenschaften des Oracle-Datenbankadapters.

  • Behandeln von Installationsproblemen.

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

Übersicht über die Adapterarchitektur

Der Microsoft BizTalk Adapter für Oracle Database ist eine benutzerdefinierte Windows Communication Foundation (WCF)-Bindung. Diese Bindung enthält ein einzelnes benutzerdefiniertes Transportbindungselement, das die Kommunikation mit einer Oracle-Datenbank ermöglicht. Der Oracle-Datenbankadapter 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. Der Oracle-Datenbankadapter kommuniziert mit der Oracle-Datenbank über den Oracle Data Provider für .NET (ODP.NET) und den Oracle-Client, der Teil der Oracle Data Access Components (ODAC) für Windows ist.

Die folgende Abbildung zeigt die End-to-End-Architektur für Lösungen, die mit dem Oracle Database-Adapter 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-Datenbankadapter ü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 in der Oracle-Datenbank mithilfe des WCF-Kanalmodells aus, um SOAP-Nachrichten direkt mit dem Oracle Database-Adapter auszutauschen. Weitere Informationen zum Entwickeln von Lösungen für den Oracle-Datenbankadapter mithilfe des WCF-Kanalmodells finden Sie unter Developing Oracle Database application using the WCF Channel Model.

  • Über eine WCF-Dienstmodellanwendung. Eine WCF-Dienstmodellanwendung ruft Methoden auf einem WCF-Client auf, um Vorgänge in der 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)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 Oracle-Datenbankadapter 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-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 Oracle DB-Bindung und das Verhalten für den Empfangsstandort oder den 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 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 während der Laufzeit automatisch, wobei es wiederum mit der Oracle-Datenbank kommuniziert.

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

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

    Microsoft.Adapters.OracleDB.OracleDBBinding (Oracle DB Binding) und Microsoft.Adapters.OracleDB.OracleDBAdapter (das Oracle DB Adapter Binding Element) sind öffentliche Klassen und werden auch für das Konfigurationssystem verfügbar gemacht. Da das Oracle DB Adapter Binding Element öffentlich verfügbar gemacht wird, können Sie eigene benutzerdefinierte WCF-Bindungen erstellen, die die Funktionalität des Oracle Database-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 Oracle-Datenbank implementiert werden.

    Der Oracle Database-Adapter basiert auf der Microsoft Windows Communication Foundation (WCF) LOB-Adapter-SDK und wird auf der WCF-LOB-Adapter-SDK-Laufzeit ausgeführt. Das WCF LOB Adapter SDK bietet ein Softwareframework und eine Tooling-Infrastruktur, die der Oracle-Datenbankadapter verwendet, um Benutzern und Adapterclients eine umfangreiche Reihe von Features bereitzustellen.

Oracle-Datenbankadapter und WCF LOB Adapter SDK

Der Microsoft BizTalk Adapter für Oracle Database implementiert eine Reihe von Kernkomponenten, die funktionen nutzen, die vom Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK bereitgestellt werden und eine Verbindung 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-Datenbankadapter mit der Windows Communication Foundation (WCF) Schnittstelle. ODP.NET dient als Ebene, über die der Oracle-Datenbankadapter eine Schnittstelle mit der Oracle-Datenbank bildet.

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

Interne Architektur des Oracle-Datenbankadapters

ODP.NET

Der Oracle Database-Adapter verbindet sich mit der Oracle-Datenbank über die ODP.NET und den Oracle-Client. 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 Klassen, die von ODP.NET verfügbar gemacht werden, 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 mit dem Oracle-Datenbankadapter 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 Net Service Name Entry in der Datei. Um diesen Ansatz zu verwenden, muss der Computer, auf dem der Oracle-Client ausgeführt wird, so konfiguriert werden, dass er den Net-Dienstnamen für die Oracle-Datenbank in die Datei "tnsnames.ora" einschließt.

  • Ohne Verwendung von tnsnames.ora. 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. Bei diesem Ansatz muss nicht einmal die Datei "tnsnames.ora" auf dem Clientcomputer vorhanden sein.

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

Weiter

Sichern Ihrer Oracle-Datenbankanwendungen