共用方式為


BizTalk Adapter for Oracle Database 的架構概觀

描述 Microsoft BizTalk Adapter for Oracle Database 的架構。

瞭解 Oracle 資料庫配接器架構可協助您:

  • 瞭解 Oracle 資料庫配接器與 Microsoft Windows Communication Foundation (WCF) 企業營運 (LOB) 配接器 SDK 之間的關聯性。

  • 瞭解安全性界限,讓您可以在解決方案中更妥善地保護資料。

  • 瞭解 Oracle Database 配接器系結屬性。

  • 針對安裝問題進行疑難排解。

本主題描述使用 Oracle Database 配接器在 Oracle 資料庫上操作之端對端解決方案的架構,也描述 Oracle 資料庫配接器的內部架構。

配接器架構概觀

Microsoft BizTalk Adapter for Oracle Database 是 Windows Communication Foundation (WCF) 自訂系結。 此系結包含單一自訂傳輸繫結項目,可啟用與 Oracle 資料庫的通訊。 Oracle Database 配接器會由 Microsoft Windows Communication Foundation (WCF) 企業營運 (LOB) 配接器 SDK 執行時間包裝,並透過 WCF 通道架構向應用程式公開。 Oracle Database 配接器會透過 Oracle Data Provider for .NET (ODP.NET) 和 Oracle 用戶端與 Oracle 資料庫通訊,這些用戶端是適用于 Windows 的 Oracle 資料存取元件 (的 ORACLE 資料存取元件) 的一部分。

下圖顯示使用 Oracle 資料庫配接器所開發之解決方案的端對端架構。

Oracle 資料庫配接器架構圖表

取用配接器

Oracle Database 配接器會將 Oracle 資料庫公開為用戶端應用程式的 WCF 服務。 若要在 Oracle 資料庫上執行作業和存取資料,用戶端應用程式會透過 WCF 通道與 Oracle 資料庫配接器交換 SOAP 訊息。 上圖顯示可取用 Oracle 資料庫配接器的四種方式。 分別是:

  • 透過 WCFchannel 模型應用程式。 WCF 通道模型應用程式會使用 WCF 通道模型直接與 Oracle 資料庫配接器交換 SOAP 訊息,在 Oracle 資料庫上執行作業。 如需使用 WCF 通道模型開發 Oracle 資料庫配接器解決方案的詳細資訊,請參閱 使用 WCF 通道模型開發 Oracle 資料庫應用程式

  • 透過 WCF 服務模型應用程式。 WCF 服務模型應用程式會呼叫 WCF 用戶端上的方法,以在 Oracle 資料庫上執行作業。 WCF 用戶端會將 Oracle 資料庫配接器公開的作業模型化為 .NET 方法。 您可以使用 Microsoft Windows Communication Foundation (WCF) (LOB) 配接器 SDK 或 WCF ServiceModel 中繼資料公用程式工具 (svcutil.exe) ,從 Oracle 資料庫配接器所公開的中繼資料建立 WCF 用戶端類別。 如需 WCF 服務模型和 Oracle 資料庫配接器的詳細資訊,請參閱 使用 WCF 服務模型開發 Oracle 資料庫應用程式

  • 透過設定為使用 Microsoft BizTalk WCF-Custom 配接器的 BizTalk 接收位置或傳送埠。 WCF-Custom 配接器可讓您使用 WCF 擴充性功能。 藉由使用 WCF-Custom 配接器,您可以選取並設定 Oracle DB 系結,以及接收位置或傳送埠的行為。 如需如何在 BizTalk Server 解決方案中使用 Oracle Database 配接器的詳細資訊,請參閱開發 BizTalk 應用程式

  • 透過 IIS 裝載的 Web 服務。 在此案例中,使用配接器產生的 WCF 服務 Proxy 會使用標準 WCF Http 系結裝載于 IIS 中。 這會將服務合約公開為 Web 服務給外部使用者。 IIS 會在執行時間自動裝載配接器,進而與 Oracle 資料庫通訊。

    Oracle 資料庫配接器和 ODAC 一律會與取用配接器的應用程式或服務進行同進程裝載。

Oracle 資料庫配接器和 WCF

WCF 會根據用戶端和服務之間的通道交換 SOAP 訊息來呈現程式設計模型。 這些訊息會在通訊用戶端和服務所公開的端點之間傳送。 端點包含:

  • 端點位址,指定接收訊息的位置

  • ,指定用來交換訊息的通訊協定

  • 合約,指定端點所公開的作業和資料類型。

    系結是由一或多個繫結項目所組成,這些繫結項目會彼此堆疊,以定義與端點交換訊息的方式。 系結至少必須指定用來與端點交換訊息的傳輸和編碼。 端點之間的訊息交換會透過由一或多個通道組成的通道堆疊發生。 每個通道都是針對端點所設定之系結中其中一個繫結項目的具體實作。 WCF 檔包含 WCF 和 WCF 程式設計模型的詳細資料。

    Microsoft BizTalk Adapter for Oracle Database 會公開 WCF 自訂系結、Oracle DB 系結 (Microsoft.Adapters.OracleDB.OracleDBBinding) 。 根據預設,此系結包含單一自訂傳輸繫結項目 Oracle DB 配接器繫結項目 (Microsoft.Adapters.OracleDB.OracleDBAdapter) ,可啟用 Oracle 資料庫的作業。

    Microsoft.Adapters.OracleDB.OracleDBBinding (Oracle DB 系結) 和 Microsoft.Adapters.OracleDB.OracleDBAdapter (Oracle DB 配接器繫結項目) 是公用類別,也會公開至組態系統。 因為 Oracle DB 配接器繫結項目公開公開,所以您可以建置自己的自訂 WCF 系結,以擴充 Oracle 資料庫配接器的功能。 例如,您可以實作自訂系結,以支援 WCF 通道或服務模型解決方案中的企業單一登入 (SSO) 。 這樣做的原因是將資料庫作業匯總成單一多功能作業,或是在自訂應用程式和 Oracle 資料庫上的作業之間執行架構轉換。

    Oracle Database 配接器建置於 Microsoft Windows Communication Foundation (WCF) 企業營運 (LOB) 配接器 SDK 之上,並在 WCF LOB 配接器 SDK 執行時間之上執行。 WCF LOB 配接器 SDK 提供軟體架構和工具基礎結構,Oracle 資料庫配接器用來為使用者和配接器用戶端提供一組豐富的功能。

Oracle 資料庫配接器和 WCF LOB 配接器 SDK

Microsoft BizTalk Adapter for Oracle Database 會實作一組核心元件,利用 Microsoft Windows Communication Foundation (WCF) 企業營運 (LOB) 配接器 SDK 所提供的功能,並透過 Oracle Data Provider for .NET (ODP.NET) 提供 Oracle 資料庫的連線能力。

WCF LOB 配接器 SDK 可作為軟體層,Oracle Database 配接器會透過此層與 Windows Communication Foundation (WCF) 介面。 ODP.NET 做為 Oracle Database 配接器與 Oracle 資料庫介面所在的層。

下圖顯示 Oracle 資料庫配接器、WCF LOB 配接器 SDK 和 ODP.NET 內部元件之間的關聯性。

Oracle 資料庫配接器內部架構

ODP.NET

Oracle Database 配接器會透過 ODP.NET 和 Oracle 用戶端與 Oracle 資料庫連線。 這兩個元件都是 Oracle 資料存取元件的一部分, (ODAC) 。

ODP.NET 實作與 ADO.NET 介面一致之 Oracle 資料庫的資料提供者。 Oracle Database 配接器會使用 ODP.NET 公開的類別,在 Oracle 資料庫上運作。

Oracle 用戶端提供 Oracle 資料庫的連線能力。 您可以藉由提供 Oracle 資料庫配接器的連線 URI 來建立 Oracle 資料庫的連線。 您可以透過兩種方式指定連線 URI:

  • 使用 tnsnames.ora。 在此方法中,配接器用戶端所提供的連線 URI 只包含 tnsnames.ora 檔案中指定的 net 服務名稱。 配接器會從檔案中的 net 服務名稱專案擷取連線參數,例如伺服器名稱、服務名稱、埠號碼等。 若要使用此方法,執行 Oracle 用戶端的電腦必須設定為在 tnsnames.ora 檔案中包含 Oracle 資料庫的 net 服務名稱。

  • 不使用 tnsnames.ora。 在此方法中,配接器用戶端會直接在連線 URI 中指定連線參數。 這不需要 net 服務名稱出現在用戶端電腦上的 tnsnames.ora 檔案中。 這種方法甚至不需要在用戶端電腦上存在 tnsnames.ora 檔案。

    如需連線 URI 的詳細資訊,請參閱 建立 Oracle 資料庫的連線

下一個

保護您的 Oracle 資料庫應用程式