転送 SDK ユーザーズ ガイド

     前  次    目次     
ここから内容

サンプル ソケット転送プロバイダ

この章では、サンプル ソケット転送プロバイダをビルドおよび実行する方法について説明します。このサンプルは、Oracle Service Bus と共にインストールされています。このサンプルはカスタム転送プロバイダの実装例として機能し、サンプルのソース コードを使用することができます。

この章の内容は以下のとおりです。

 


サンプル ソケット転送プロバイダの設計

サンプル ソケット転送プロバイダの主な目的は、転送プロバイダの実装例として機能することです。一般に公開されているこのサンプルでは、転送 SDK の実装およびコンフィグレーションの詳細について説明します。

この節の内容は以下のとおりです。

サンプルによって説明される概念

サンプル転送は、ストリーミングしたデータを Oracle Service Bus にコンフィグレーションされている TCP ソケットとの間で送受信するために設計されています。サンプル転送の目的は、転送 SDK の次のような概念を示すことにあります。

サンプルの基本アーキテクチャ

図 6-1 に、サンプル ソケット転送プロバイダの基本アーキテクチャを示します。どのクライアントでも、サーバ ソケットに接続できます。データは、サーバ ソケットで受信され、パイプラインを介して渡されます。応答は、発信転送を介して戻されます。応答は、最後に着信転送に返送され、クライアントに戻されます。

図 6-1 サンプル ソケット転送のアーキテクチャ

サンプル ソケット転送のアーキテクチャ

コンフィグレーションのプロパティ

図 6-2 に、転送エンドポイントのコンフィグレーションのプロパティを示します。これらのプロパティは、スキーマ ファイル SocketTransport.xsd でコンフィグレーションされています。このファイルの場所の詳細については、「サンプルの場所とディレクトリ構造」を参照してください。このファイルを使用すると、SDK の共通のスキーマに定義されている、基本的なプロパティ セットを拡張できます。各プロパティについては、SocketTransport.xsd ファイルを参照してください。

ヒント : これらのコンフィグレーションのプロパティの詳細については、「4. 転送固有のアーティファクトの定義」を参照してください。
図 6-2 SocketEndpointConfiguration のプロパティ

SocketEndpointConfiguration のプロパティ

また、図 6-3 に示すように、SocketTransport.xsd ファイルには、要求/応答ヘッダおよびメタデータのプロパティが含まれています。各プロパティの詳細については、SocketTransport.xsd ファイルを参照してください。

図 6-3 要求/応答ヘッダおよびメタデータのコンフィグレーション

要求/応答ヘッダおよびメタデータのコンフィグレーション

 


サンプルの場所とディレクトリ構造

サンプル ソケット転送プロバイダは Oracle Service Bus と共にインストールされ、次のディレクトリに格納されます。

ALSB_HOME/samples/servicebus/sample-transport

図 6-4 に、サンプル ソケット転送プロバイダのディレクトリ構造を示します。この節では、サンプル プロジェクトのフォルダについて簡単に説明します。このディレクトリ構造は、カスタム転送プロバイダを開発する際のモデルとして使用できます。

図 6-4 サンプル転送プロジェクトの構造

サンプル転送プロジェクトの構造

表 6-1 に、サンプル転送のディレクトリについて簡単に説明します。

表 6-1 サンプル転送プロバイダのディレクトリ
build
サンプル ソケット転送をビルドするときに作成される。Oracle Service Bus で使用するビルド化およびパッケージ化された転送を含む。
config
コンフィグレーション ファイルのディレクトリ。
SocketConfig.xml - 転送 SDK が使用する、ソケット転送プロバイダのコンフィグレーション。
eclipse
Workshop for WebLogic 環境にサンプル転送を追加するために必要なplugin.xml ファイルを含む。
help
 
l10n
次のインターナショナライゼーション ファイルを含む。
SocketTransportMessages.xml - Oracle Service Bus Console に表示される、テキスト メッセージのコンフィグレーション ファイル。
SocketTransportTextMessages.xml
META-INF
次のアプリケーション デプロイメント記述子ファイルを含む。
application.xml – J2EE アプリケーション記述子ファイル
weblogic-application.xml – WebLogic アプリケーション記述子ファイル
schemas
この転送用に定義されている、次の関連スキーマを含む。
SocketTransport.xsd - ソケット エンドポイント要求/応答のメタデータおよびヘッダを記述する
src
サンプル転送のソース ツリー
test
(非表示) 次のテスト ファイルのディレクトリ。
src - テスト サーバとクライアントのソース ツリー
webapp
サンプル転送ヘルプ Web アプリケーションで必要なデプロイメント記述子を含む。

次の Ant ビルド ファイルも、sample-transport ディレクトリに格納されています。

 


サンプルのビルドとデプロイ

この章では、サンプル転送プロバイダをビルドおよびデプロイする方法について説明します。

環境の設定

  1. 新しいドメインを作成するか、Oracle Service Bus と共にインストールされている、コンフィグレーション済みのドメインの 1 つを使用します。
  2. 次のスクリプトを実行して、ドメイン環境を設定します。

DOMAIN_HOME/bin/setDomainEnv.cmd (UNIX システムでは setDomainEnv.sh)

転送のビルド

ソケット転送をビルドするには、次の操作を行います。

  1. コマンド ウィンドウで、次のサンプル ホーム ディレクトリに移動します。
  2. ALSB_HOME/samples/servicebus/sample-transport

  3. コマンド ant build-jar を実行します。

このコマンドは、ソース ファイルをコンパイルし、以下を実行します。

サンプル転送プロバイダのデプロイ

サーバにサンプル転送プロバイダをデプロイするには、以下の操作を行います。

  1. sample-transport/build.properties で次の変数を設定します。
  2. wls.hostname

    wls.port

    wls.username

    wls.password

    wls.server.name

  3. 次のコマンドを実行して、転送プロバイダをサーバにデプロイします。

 


ソケット サーバの起動とテスト

サンプル プロジェクトには、簡単なソケット サーバと、サーバをテストするためのクライアントが含まれています。このソケット サーバを使用して、ソケット転送プロバイダをテストします。

この節では、以下のトピックについて説明します。

ソケット サーバの起動

次のコマンドを実行して、指定したポートでリスンしてメッセージを送受信するサーバ ソケットである、外部サービスを起動します。

java -classpath .\test\build\test-client.jar -Dfile-encoding=utf-8 -Drequest-encoding=utf-8 com.bea.alsb.transports.sample.test.TestServer <port> <message-file-location>

ここで、

ソケット転送のテスト

次のコマンドを実行して、コンフィグレーション済みのソケット プロキシ サービスのクライアントである、サービスを起動します。Oracle Service Bus に対してメッセージを送信し、応答を受信します。

java -classpath .\test\build\test-client.jar -Dfile-encoding=utf-8 -Dresponse-encoding=utf-8 com.bea.alsb.transports.sample.test.TestClient <host-name> <port> <thread-ct> <message-file-location>

ここで、

 


ソケット転送のコンフィグレーションのサンプル

サンプルは、テスト サーバとテスト クライアントで構成されています。クライアントは、サーバにメッセージを送信します。メッセージを受信および処理するために、Oracle Service Bus を構成します。

この節では、以下のタスクについて説明します。

新しいプロジェクトの作成

  1. Oracle Service Bus Console を起動します。
  2. [プロジェクト エクスプローラ] を開きます。
  3. [Change Center] で [編集] をクリックします。
  4. 図 6-5 に示すように、プロジェクト パネルの [新しいプロジェクト名の入力] フィールドに「SocketTest」と入力します。
  5. 図 6-5 新しいプロジェクトの追加


    新しいプロジェクトの追加

  6. [プロジェクトの追加] をクリックします。プロジェクト テーブルに、新しいプロジェクトが表示されます。

ビジネス サービスの作成

サーバと通信するために、ビジネス サービスを作成します。

  1. プロジェクト テーブルの [SocketTest] プロジェクト名をクリックします。[SocketTest] パネルが表示されます。
  2. 図 6-6 に示すように、[リソースの作成] ドロップダウン メニューで [ビジネス サービス] を選択します。[全般的なコンフィグレーション] パネルが表示されます。
  3. 図 6-6 ビジネス サービスの作成


    ビジネス サービスの作成

  4. [全般的なコンフィグレーション] パネルの [サービス名] フィールドに「SocketBS」と入力します。
  5. [サービスの種類] リストで [任意の XML サービス] を選択し、[次へ] をクリックします。
  6. 図 6-7 に示すように、[プロトコル] メニューから [socket] を選択します。
  7. 図 6-7 プロトコルの選択


    プロトコルの選択

  8. [エンドポイント URI] フィールドに「tcp://localhost:7031」と入力し、[追加] をクリックします。
  9. [次へ] をクリックします。
  10. 次のパネルで、[次へ] をクリックしてデフォルト値を受け入れます。
  11. [概要] パネルを確認した後、[保存] をクリックします。
  12. [Change Center] で、[アクティブ化] をクリックします。

プロキシ サービスの作成

この節では、プロキシ サービスを作成します。

  1. 図 6-8 に示すように、[リソースの作成] メニューの [プロキシ サービス] を選択します。
  2. 図 6-8 プロキシ サービスの作成


    プロキシ サービスの作成

  3. [全般的なコンフィグレーション] パネルの、[サービス名] フィールドに「SocketProxy」と入力します。
  4. [サービスの種類] リストで [任意の XML サービス] を選択し、[次へ] をクリックします。
  5. [プロトコル] メニューの [socket] を選択します。
  6. [エンドポイント URI] フィールドに「tcp://7032」と入力し、[次へ] をクリックします。
  7. 次のパネルでデフォルト値を受け入れ、[次へ] をクリックします。
  8. [概要] パネルを確認した後、[保存] をクリックします。
  9. [Change Center] で、[アクティブ化] をクリックします。
  10. [送信] をクリックします。

パイプラインの編集

ビジネス サービスとプロキシ サービスを定義したので、受信メッセージをビジネス サービスにルーティングできるように、パイプラインを編集します。

  1. [Change Center] で [作成] をクリックします。
  2. 図 6-9 に示すように、[リソース] セクションの [SocketProxy] 行で、[メッセージ フローの表示] アイコンをクリックします。
  3. 図 6-9 メッセージ フロー アイコンの選択


    メッセージ フロー アイコンの選択

  4. 図 6-10 に示すように、[メッセージ フローの編集] ウィンドウで [SocketProxy] アイコンをクリックし、メニューから [ルートの追加] を選択します。
  5. 図 6-10 メッセージ フローの編集


    メッセージ フローの編集

  6. [RouteNode1] アイコンをクリックし、メニューから [ルートの編集] を選択します。
  7. [ステージ コンフィグレーションの編集] ウィンドウで [アクションの追加] をクリックします。
  8. 図 6-11 に示すように、[ルート ノード] ウィンドウの [アクションの追加] をクリックし、メニューから [通信|ルーティング] を選択します。
  9. 図 6-11 アクションの追加


    アクションの追加

  10. 次のパネルで [<サービス>] を選択します。
  11. 図 6-12 に示すように、[サービスの選択] ウィンドウのリストで [SocketBS] を選択し、[送信] をクリックします。
  12. 図 6-12 ルーティング先のサービスの選択


    ルーティング先のサービスの選択

  13. [ステージ コンフィグレーションの編集] ウィンドウで [保存] をクリックします。
  14. 必要に応じて、[RouteNode1] アイコンをクリックし、名前を「SocketBS」に変更します。
  15. [保存] をクリックします。
  16. [Change Center] で [アクティブ化] をクリックしてから、[送信] をクリックします。

 


ソケット転送プロバイダのテスト

この節では、Oracle Service Bus Console を使用して転送プロバイダをテストします。

  1. ソケット サーバの起動」で説明したように、テスト サーバを起動します。
  2. [プロジェクト エクスプローラ] で [SocketTest] をクリックします。
  3. 図 6-13 に示すように、[リソース] テーブルの [SocketProxy] 行で、[テスト コンソールの起動] アイコンをクリックします。
  4. 図 6-13 テスト コンソールの起動


    テスト コンソールの起動

  5. テスト コンソールで、テキスト領域に有効な XML スタンザを入力するか、[参照] ボタンを使用して、ローカル システムの有効な XML ファイルを選択します。たとえば、図 6-14 では、テキスト領域に簡単な XML 式 <x/> を入力しています。
  6. 図 6-14 テスト コンソール


    テスト コンソール

  7. [実行] をクリックします。テストが正常に終了すると、図 6-15 に示すような情報がテスト コンソールに表示されます。また、テスト コンソールに XML テキストを入力すると、サーバ コンソールにエコーされます。
  8. 図 6-15 テストの正常終了


    テストの正常終了

  9. テスト コンソールを閉じます。

  ページの先頭       前  次