次の方法で共有


チュートリアル 1: エコー アダプターを開発する

このチュートリアルでは、WCF LOB アダプター SDK を使用して機能アダプターを開発します。 アダプターは、架空の基幹業務システムの操作をシミュレートして、次のような WCF LOB アダプター SDK の主な機能の多くを示します。

  • 同期受信

  • 同期送信

  • メタデータの参照

  • メタデータ検索

  • メタデータ解決

    このセクションには、エコー アダプターでサポートされているさまざまな機能が含まれています。 メッセージ交換、操作メタデータ、接続プロパティ、アダプター のプロパティです。

メッセージ交換パターン

エコー アダプターでは、次の 2 つのメッセージ交換パターンがサポートされています。

  • 同期送信、つまり、使用しているクライアントは、アダプターを介してターゲット システムに WCF 要求メッセージを送信し、アダプターを介してターゲット システムから WCF 応答メッセージを受信するまで待機します。 これは、アダプターの最も一般的なメッセージ交換パターンです。 同期送信をサポートするには、 インターフェイスを Microsoft.ServiceModel.Channels.Common.IOutboundHandler 実装します。

  • 同期受信、つまり、使用しているクライアントは、アダプターを介してターゲット システムからのデータまたはイベントをリッスンします。 同期受信をサポートするには、 インターフェイスを実装します Microsoft.ServiceModel.Channels.Common.IInboundHandler

    メッセージ交換パターンの詳細については、「 アーキテクチャの概要」を参照してください。

Note

アダプター開発ウィザードは、UI のデータ フローとしてメッセージ交換パターンを表示します。

メタデータのサポート

エコー アダプターでは、メタデータの参照、検索、および解決の機能がサポートされています。 通常、閲覧と検索は LOB システムから操作を取得します。 エコー アダプターの場合、LOB システムは、次に示すように、定義済みの一連の操作です。

EchoMainCategory  
        Echo/EchoStrings  
        Echo/EchoGreetings  
        Echo/EchoCustomGreetingFromFile  
        Echo/OnReceiveEcho  

各操作の定義を次に示します。

名前 操作の定義 説明 方向
EchoMainCategory カテゴリ 操作を分類します。 該当なし
Echo/EchoStrings string[] EchoStrings(string data) 指定した回数だけ着信文字列を呼び出し元のクライアントにエコーします。 送信
Echo/EchoGreetings Greeting[] EchoGreetings(Greeting greeting) 着信する Greeting オブジェクトを、呼び出し元のクライアントに指定された回数エコーします。 送信
Echo/EchoCustomGreetingFromFile CustomGreeting EchoCustomGreetingFromFile(Uri greetingInstancePath) Greeting オブジェクトのインスタンスをファイルから読み取ってエコーします。 Greeting オブジェクトのメタデータは、定義済みの XSD ファイルから取得されます。 送信
Echo/OnReceiveEcho void OnReceiveEcho(Uri path, long content) 指定したフォルダーにドロップされたファイルの場所と長さをエコーします。 受信

アダプターのプロパティ

アダプターは、次のアダプター プロパティを公開します。

名前 カテゴリ [データ型] 説明
Count その他 System.Int32 指定した回数だけ入力を呼び出し元のクライアントにエコーするために使用されます。

既定値は 5 です。
EnableConnectionPooling その他 System.Boolean アダプターの接続プールを有効または無効にするために使用されます。

既定値 = true。つまり、WCF LOB アダプター SDK のランタイム エンジンで接続プールが有効になっています。
InboundFileFilter 受信 System.String 受信シナリオでのみ使用され、FileSystemWatcher によって拡張機能のファイルを監視するために使用されます。

Default=*.txt
InboundFileSystemWatcherFolder 受信 System.String FileSystemWatcher がアダプターに通知を生成するためにファイルを削除するフォルダーを設定するために使用します。

既定値は c:\inbound\watcher です。

接続のプロパティ

エコー アダプターは、次の接続プロパティを公開します。

名前 [データ型] 説明
アプリケーション System.String LOB システム内のアプリケーション名。 このプロパティは説明を目的とします。 エコー アダプターには LOB システムは含まれません。

既定値 = lobapplication
EnableAuthentication System.Boolean true の場合、アダプターはクライアント資格情報内の username フィールドの値を受け取ります。

既定値 = false
hostname System.String LOB システムが存在するサーバー名。 このプロパティは説明を目的とします。 エコー アダプターには LOB システムは含まれません。

既定値 = lobhostname

インターフェイスの実装

WCF LOB アダプター SDK は、アダプターの特定の機能をサポートするために実装する必要があるクラスとインターフェイスのコレクションを定義します。 次の表では、これらのクラスとインターフェイス、その説明、および実装するタイミングについて説明します。

クラス/インターフェイス 実装するタイミング 説明
Microsoft.ServiceModel.Channels.Common.IConnection ターゲット システムへの接続を定義する必要がある場合。 ターゲット システムへの接続を定義します。
Microsoft.ServiceModel.Channels.Common.IConnectionFactory ターゲット システムへの接続を作成する必要がある場合。 ターゲット システムへの接続を作成します。
Microsoft.ServiceModel.Channels.Common.ConnectionUri 接続 URI を管理する必要がある場合。

アダプター サービス参照プラグインの追加ツール内で接続プロパティを分類する必要がある場合。
ターゲット システムの接続 URI を管理します。
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler アダプターはメタデータ解決機能をサポートしている必要があります。 操作と型のメタデータを解決します。
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler アダプターがメタデータ検索機能をサポートしている場合。 ターゲット システム内の操作を検索します。
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler アダプターで参照機能をサポートする必要がある ターゲット システム内の操作を参照します。
Microsoft.ServiceModel.Channels.Common.IOutboundHandler アダプターが通常、送信機能をサポートする必要がある場合。 受信 WCF 要求メッセージをターゲット システム メッセージに変換し、ターゲット システム固有の関数を呼び出して、応答を送信 WCF 応答メッセージに変換します。
Microsoft.ServiceModel.Channels.Common.IInboundHandler アダプターが受信機能をサポートしている場合。 ターゲット システムからデータやイベントをリッスンします。

アダプター開発を簡略化するには、アダプター開発ウィザードを使用してアダプター プロジェクトを生成します。これにより、アダプター機能に合わせて一連の派生クラスが作成されます。

アダプター サービス参照プラグインの追加およびアダプター サービス アドインの使用ツールを使用してアダプターと接続のプロパティをカスタマイズするには、アダプター開発ウィザードによって生成された次のファイルを変更します。

参照

WCF LOB アダプター SDK について説明するチュートリアル