Share via


BizTalk Adapter for SQL Serverのアーキテクチャの概要

Microsoft BizTalk Adapter for SQL Server は、Windows Communication Foundation (WCF) のカスタム バインドです。 このバインドには、SQL Server データベースとの通信を可能にする 1 つのカスタム トランスポート バインド要素が含まれています。 SQL アダプターは、Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK のランタイムによってラップされ、WCF チャネル アーキテクチャを介してアプリケーションに公開されます。 SQL アダプターは、ADO.NET を介してSQL Server データベースと通信します。

次の図は、SQL アダプターを使用して開発されたソリューションのエンドツーエンドアーキテクチャを示しています。

SQL アダプターを使用して開発されたソリューションのエンドツーエンド アーキテクチャを示す図。

アダプターの使用

SQL アダプターは、SQL SERVER データベースを WCF サービスとしてクライアント アプリケーションに公開します。 SQL Server データベースで操作を実行し、データにアクセスするために、クライアント アプリケーションは WCF チャネルを介して SQL アダプターと SOAP メッセージを交換します。 上の図は、SQL アダプターを使用できる 4 つの方法を示しています。

  • WCF チャネル モデル アプリケーションを使用します。 WCF チャネル モデル アプリケーションは、WCF チャネル モデルを使用して SQL アダプターと SOAP メッセージを直接交換することで、SQL Server データベースに対する操作を実行します。 「WCF チャネル モデルを使用した SQL アプリケーションの開発」を参照してください。

  • WCF サービス モデル アプリケーションを使用します。 WCF サービス モデル アプリケーションは、WCF クライアントでメソッドを呼び出して、SQL Server データベースに対する操作を実行します。 WCF クライアントは、SQL アダプターによって公開される操作を .NET メソッドとしてモデル化します。 Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK または WCF ServiceModel メタデータ ユーティリティ ツール (svcutil.exe) を使用して、SQL アダプターによって公開されるメタデータから WCF クライアント クラスを作成できます。 「WCF サービス モデルを使用して SQL アプリケーションを開発する」を参照してください。

  • BizTalk は、Microsoft BizTalk WCF-Custom アダプターを使用するように構成された受信場所または送信ポートを介して受信します。 WCF-Custom アダプターを使用すると、WCF 拡張機能を使用できます。 WCF-Custom アダプターを使用すると、SQL DB バインディングと受信場所または送信ポートの動作を選択して構成できます。 BizTalk Server ソリューションで SQL アダプターを使用する方法の詳細については、「BizTalk Server アプリケーションの開発」を参照してください。

  • IIS でホストされる Web サービスを使用します。 このシナリオでは、アダプターを使用して生成された WCF サービス プロキシは、標準の WCF Http バインディングを使用して IIS でホストされます。 これにより、サービス コントラクトが Web サービスとして外部ユーザーに公開されます。 IIS は、実行時にアダプターを自動的にホストします。これにより、SQL Server データベースと通信します。

SQL アダプターと WCF

WCF は、クライアントとサービス間のチャネルを介した SOAP メッセージの交換に基づくプログラミング モデルを提供します。 これらのメッセージは、通信しているクライアントとサービスによって公開されるエンドポイント間で送信されます。 エンドポイントは次で構成されます。

  • メッセージを受信する場所を指定する エンドポイント アドレス

  • メッセージの交換に使用される通信プロトコルを指定する バインディング

  • コントラクト。エンドポイントによって公開される操作とデータ型を指定します。

    バインドは、メッセージをエンドポイントと交換する方法を定義するために、互いに積み重ね合う 1 つ以上のバインド要素で構成されます。 少なくとも、バインディングでは、エンドポイントとメッセージを交換するために使用されるトランスポートとエンコードを指定する必要があります。 エンドポイント間のメッセージ交換は、1 つ以上のチャネルで構成されるチャネル スタックを介して行われます。 各チャネルは、エンドポイント用に構成されたバインド内のバインド要素の 1 つの具象実装です。

WCF ドキュメントには、WCF と WCF プログラミング モデルの詳細が含まれています。

Microsoft BizTalk Adapter for SQL Serverは、WCF カスタム バインドである SQL DB バインディング (Microsoft.Adapters.SQLDB.SQLDBBinding) を公開します。 既定では、このバインドには、1 つのカスタム トランスポート バインド要素である SQL DB アダプター バインド要素 (Microsoft.Adapters.SQLDB.SQLDBAdapter) が含まれており、SQL Server データベースに対する操作が可能です。

Microsoft.Adapters.SQLDB.SQLDBBinding (SQL DB バインド) と Microsoft.Adapters.SQLDB.SQLDBAdapter (SQL DB アダプター バインド要素) はパブリック クラスであり、構成システムにも公開されます。 SQL DB アダプター バインド要素はパブリックに公開されているため、SQL アダプターの機能を拡張できる独自のカスタム WCF バインドを構築できます。 たとえば、WCF チャネルまたはサービス モデル ソリューションでエンタープライズ シングル サインオン (SSO) をサポートするカスタム バインドを実装できます。 これを行う理由は、データベース操作を 1 つの多機能操作に集約するか、カスタム アプリケーションによって実装された操作とSQL Server データベースに対する操作の間でスキーマ変換を実行するためです。

SQL アダプターは、Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK 上に構築され、WCF LOB アダプター SDK の実行時に実行されます。 WCF LOB アダプター SDK は、SQL アダプターがユーザーとアダプター クライアントに豊富な機能セットを提供するために使用するソフトウェア フレームワークとツール インフラストラクチャを提供します。

SQL アダプターと WCF LOB アダプター SDK

Microsoft BizTalk Adapter for SQL Serverは、Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK によって提供される機能を活用し、ADO.NET を介してSQL Server データベースへの接続を提供する一連のコア コンポーネントを実装します。

WCF LOB アダプター SDK は、SQL アダプターが Windows Communication Foundation (WCF) とインターフェイスするソフトウェアレイヤーとして機能します。ADO.NET は、SQL アダプターが SQL Server データベースとインターフェイスするレイヤーとして機能します。 次の図は、SQL アダプターの内部コンポーネントと、これらのコンポーネントと ADO.NET の関係を示しています。

SQL アダプターの内部コンポーネントと、これらのコンポーネントと ADO.NET の間の関係を示す図。

ADO.NET

SQL アダプターは、ADO.NET を介してSQL Server データベースに接続します。 ADO.NET は、SQL Serverなどのデータ ソースへの一貫したアクセスを提供し、データ ソース内のデータの取得、処理、変更を容易にします。 詳細については、「ADO.NET」を参照してください。

SQL クライアントは、SQL Server データベースへの接続を提供します。 SQL アダプターへの接続 URI を指定して、SQL Server データベースへの接続を確立します。 この接続 URI には、SQL Serverがインストールされているコンピューターの名前とデータベースの名前が含まれます。 接続 URI の詳細については、「SQL Serverへの接続を作成する」を参照してください。

参照

BizTalk Adapter for SQL Server を理解する