PR

ws_rmサンプルを試す〜オープンソースソリューションのこれから

2006年12月19日(火)
江川 潔

はじめに

   本連載はCeltix 1.0に用意されているサンプルデモのREADME.txtファイルを日本語訳したものです。README.txtファイルにはWindowsとUNIXにおける作業手順が記載されています。

   今回はサンプル23「ws_rm」デモについて解説します。

   連載ではWindowsについてのみ確認を行い、足りない手順についての内容を追加しています。UNIXを利用する場合には、Windowsの手順を参照してください。


なおビルドや起動にはCeltix 1.0環境が必要です。あらかじめ本誌連載「オープンソースESB『Celtix』を解き明かす」を参考にしてインストールを行っておいてください。

サンプル23 ws_rmのデモ

   この「ws_rm」は、CeltixがサポートしているWS-ReliableMessagingをどのように有効にするかを示したデモです。クライアントとサーバともにWS-RMハンドラをインストールして、ハンドラ構成を利用します。
ハンドラは、メッセージの信頼性に関するプロパティを管理する「LogicalHandler(RMHandler)」とSOAPヘッダーのプロパ ティをエンコード/デコードする「ProtocolHandler(RMSoapHandler)」から構成されています。

   WS-RMを利用するにはWS-Addressingが必要です。そのため「ws_addressing」サンプルと同様に、コンフィグレーション によって機能を有効にします。このとき、WS-Addressingの名前空間のURIが異なることに注意してください。ここでは 「http://www.w3.org/2005/08/addressing」ではなく「http://schemas.xmlsoap.org/ws /2004/08/addressing」を使用します。これは、WS-RMの仕様が未だに古いバージョンのWS-Addressingを基にしているた めです。

   このデモを実行するために、次の2つのProtocolHandlerを構成します。

  • 「HeaderSnooper」を利用し、クライアントとサーバの両方でSOAPヘッダーを参照してコンソー ルに表示します。送信側のRMプロトコルメッセージ(CreateSequenceおよびCreateSequenceResponse)とアプリケー ションレベルのメッセージのWS-RMヘッダー(Sequence、SequenceAcknowledgement、AckRequestedなど)の 使い方を示します。
  • 「MessageLossSimulator」をサーバ側で使用し、アプリケーションレベルのメッセージを毎秒破棄し、メッセージロストの状況をシミュレーションします。このシミュレーションによって、送達確認できていないメッセージの再送処理を観察できます。
表1:ProtocolHandlerの構成

   このデモでは、HTTPトランスポートを分けて使用します。例えばサーバからクライアントへのHTTPコネクションを応答送信のために利用し、モニ タ上で参照することができます。これはクライアントからサーバへのオリジナルコネクションの逆方向に「HTTP 202 Accepted」の応答が送られることで確認できます。

   「ws_rm」サンプルは基本的に「hello_world」サンプルと同様の構成となっており、アプリケーションに影響なくWS- Addressingを利用できることを示しています。なお、通常の「hello_world」サンプルのWSDLに対して、サービスエンドポイントが WS-Addressingをサポートすることを示すために拡張エレメントが指定されていま す。

   「ws_rm」デモを実行する前に、以下の内容を確認してから作業してください。

必要条件

   celtix.jarがCLASSPATHに登録されていて、JDKとantのbinディレクトリがPATHに登録されているのであれば、samplesディレクトリのREADMEにある環境変数の設定スクリプトを起動する必要はありません。

   環境変数が正しく設定されていなかったり、デモをビルドする際にwsdl2java、javacあるいはjavaコマンドを利用する場合は、環境変数の設定スクリプトを起動する必要があります。

※注1: 以下のUNIX環境での手順は著者の環境で動作確認をしていません。Windowsの環境についてはWindows XP Professionalで動作確認を行っていますので、UNIXの手順で不明な点がある場合はWindowsの手順を参考にしてください。
日本アイオナテクノロジーズ株式会社 テクニカルセールスマネージャ

株式会社富士通SSLでNTT仕様のオペレーティング・システムの開発に従事したのち、日本ディジタルイク イップメント株式会社でNTT向けシステムの開発、その後、ソフトウェアとハードウェアのプリセールス活動を展開した。DECの合併を経て、現職のミドル ウェア製品のマーケティング、アライアンス、プリセールスなどに従事。

blog「Essence is Real」
http://blogs.iona.com/essence/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

ws_rmサンプルを試す〜オープンソースソリューションのこれから | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。