Interstage Application Server SOAPサービス ユーザーズガイド
目次 索引 前ページ次ページ

第11章 サンプルプログラム> 11.5 Messaging方式のサンプルプログラム

11.5.1 サンプルプログラムReliable

■ファイル構成

 各ファイルの役割は以下のとおりです。

ファイル名

説明

pushConfig.xml

送達保証PUSHモデルの送信クライアントシステム用設定ファイル。本サンプルでは否認を防止する署名オプションは使用していません。

pullConfig.xml

送達保証PULLモデルの受信クライアント用設定ファイル。

issoapsecconf.xml

送達保証PUSHモデルの受信サーバ、およびPULLモデルの送信サーバ用設定ファイル。

TestServer.java

サーバシステム上で実行される、PUSHモデル受信サーバの受信アプリケーション、およびPULLモデル送信サーバの送信アプリケーションを記述したサンプルソースプログラム。

TestPushClient.java

PUSHモデルの送信クライアントで実行される、送信アプリケーションを記述したサンプルソースプログラム。

TestPullClient.java

PULLモデルの受信クライアントで実行される、受信アプリケーションを記述したサンプルソースプログラム。

startpush.bat
startpush.sh

PUSHモデル送信クライアントの送信アプリケーションを起動するスクリプトファイルです。

startpull.bat
startpull.sh

PULLモデル受信クライアントの受信アプリケーションが呼び出されるように、送達保証機能の起動を行なうスクリプトファイルです。

DD-push.wsdd

PUSHモデルの受信サーバのWebサービス情報を記述したファイルです。

DD-pull.wsdd

PULLモデルの送信サーバのWebサービス情報を記述したファイルです。

deployserver.bat
deployserver.sh

上記2つの定義ファイルを、サーバシステムにディプロイメントするためのスクリプトファイルです。

■サンプルプログラムReliableのモデル

 PULLモデルの受信アプリケーションが動作するクライアントシステムを用意しており、サーバシステムでは、PUSHモデル受信サーバの受信アプリケーションから、PULLモデル送信サーバの送信アプリケーションを実行する処理を行ないます。本サンプルは、これらの処理により、PUSHモデルの送信クライアントからPULLモデルの受信クライアントへの間接的な送達保証通信を行います。

 PUSHモデルで送信するメッセージの種別は"pushTest", PULLモデルで送信するメッセージの種別は"pullTest"です。

 PUSHモデルの送信クライアントのIDは"pushClient1", PULLモデルの受信クライアントのIDは"pullClient1", PUSHモデルの受信サーバID、およびPULLモデルの送信サーバIDは"reliableServer1"となっています。

 送信するSOAPメッセージは、空タグ1つをボディに持つ単純なものです。
 また本サンプルは2つのクライアント機能と1つのサーバ機能が同一マシン上で動作することを想定しています。

 以下が、クライアント機能とサーバ機能の構成図になります。

■処理概要

 サンプルReliableを実行すると、まずPUSHモデルの送信アプリケーションを持つクライアントシステム(TestPushClientクラス)からサーバシステム(TestServerクラス)に送達保証メッセージ"pushTest"が送信されます。
 サーバシステム(TestServerクラス)では、PUSHモデルのメッセージの受信により受信アプリケーションが起動し、PULLモデルの受信アプリケーションを持つクライアントシステム(TestPullClientクラス)に向けて、送達保証メッセージ"pullTest"を送信します。

 PULLモデルの受信アプリケーションを持つクライアントシステム(TestPullClientクラス)では、送達保証機能が起動した時点から、PULLモデルの送信サーバに対してメッセージのポーリングが開始され、PULLモデルの送信サーバ(TestServerクラス)からPULLモデルの受信クライアント(TestPullClientクラス)に送達保証メッセージ"pullTest" が送信されます。PULLモデルの受信クライアント(TestPullClientクラス)では、PULLモデルのメッセージ受信により、受信アプリケーションが起動します。

■サンプルプログラムReliableの準備

 以下の手順により実行準備を行ないます。

(1)以下のディレクトリに移動します。

 
 C:\Interstage\F3FMsoap\examples\Reliable
 
 /opt/FJSVsoap/examples/Reliable

(2)サンプルプログラムをコンパイルします。
  javac TestServer.java
  javac TestPushClient.java
  javac TestPullClient.java

 コンパイルに失敗する場合は、以下の可能性があります。

(3)送達保証機能のPUSHモデル受信サーバ、およびPULLモデル送信サーバの設定ファイルをコピーします。すでに高信頼性Webサービス機能用の設定ファイルを作成済みの場合は、issoapsecconf.xmlをバックアップしてください。

 
 copy issoapsecconf.xml C:\Interstage\F3FMsoap\conf\
 
 cp issoapsecconf.xml /opt/FJSVsoap/conf/

(4)IJServerワークユニット"MyIJServer"の[環境設定]-“ワークユニット設定”の“クラスパス”に(1)のディレクトリを追加後、ワークユニット"MyIJServer"を再起動します。

(5)以下のスクリプトを実行し、PUSHモデル受信サーバ、PULLモデル送信サーバの登録を行ないます。

 
 C:\Interstage\F3FMsoap\examples\Reliable\deployserver.bat
 
 /opt/FJSVsoap/examples/Reliable/deployserver.sh

以上の手順により、本サンプルの実行準備が終了します。

■サンプルプログラムReliableの実行

(1)PUSHモデル送達保証メッセージの送信

Interstage SOAPサーバの起動しているマシン上で、以下のスクリプトを実行します。

 
 C:\Interstage\F3FMsoap\examples\Reliable\startpush.bat
 
 /opt/FJSVsoap/examples/Reliable/startpush.sh

 これによりPUSHモデル送信クライアントの"pushClient1"が起動し、送信アプリケーションが実行されます。送信アプリケーションは、メッセージ種別"pushTest"のメッセージを、PUSHモデル受信サーバ "reliableServer1" に向けて送信します。

 PUSHモデル受信サーバの "reliableServer1" では、PUSHモデル送信クライアント "pushClient1" からのメッセージを受信し、"pushTest" メッセージの受信アプリケーションが実行されます。受信アプリケーションからは、送信アプリケーションが実行され、メッセージ種別 "pullTest" のメッセージを、PULLモデル受信クライアント "pullClient1" に向けて送信します。

(2) PULLモデル送達保証メッセージの受信

次に、Interstage SOAPサーバの起動しているマシン上で、以下のスクリプトを実行します。

 
 C:\Interstage\F3FMsoap\examples\Reliable\startpull.bat
 
 /opt/FJSVsoap/examples/Reliable/startpull.sh

 これにより、PULL受信クライアント"pullClient1"から、PULL送信サーバ "reliableServer1"に向けてポーリングが開始され、PULLモデル受信サーバ"reliableServer1"の送信アプリケーションが作成した送達保証メッセージが、PULL受信クライアント"pullClient1"に送信されます。PULLモデル受信クライアント上では、"pullTest"メッセージの受信アプリケーションが実行されます。

■サンプルプログラムReliableの設定変更

 本サンプルでは、実行を簡単にするため、クライアントシステム、サーバシステムが共に1つのマシン上で動作するような設定となっていますが、各クライアントシステムとサーバシステムを異なるマシンで動作させたい場合、各クライアントの設定ファイルの変更が必要です。この際、PUSHモデル送信クライアントを配置するシステム上での設定は以下のようにsoapsecrelconfコマンドを実行して変更します。

 soapsecrelconf -add to -f pushConfig.xml -messageid pushTest -serviceid ReliableSamplePushService 
   -partnerid reliableServer1 -address http://servername/soap_dev/services/ReliableSamplePushService

 また、PULLモデル受信クライアントを配置するシステム上での設定は以下のようにsoapsecrelconfコマンドを実行して変更します。

 soapsecrelconf -add from -f pullConfig.xml -messageid pullTest -serviceid ReliableSamplePullService
   -partnerid reliableServer1 -listener TestPullClient -address http://servername/soap_dev/services/ReliableSamplePullService

 どちらのクライアントでも、"servername" の部分には接続先のサーバシステム名を入れてください。

■サンプルプログラムReliableのメッセージファイルの削除

 本サンプル実行後、以下のディレクトリに送達保証のメッセージがファイルで保管されます。

 
 C:\Interstage\F3FMsoap\etc\reliableMessage\store_pushTest_with_pushClient1
 C:\Interstage\F3FMsoap\etc\reliableMessage\store_pushTest_with_reliableServer1
 C:\Interstage\F3FMsoap\etc\reliableMessage\store_pullTest_with_pullClient1
 C:\Interstage\F3FMsoap\etc\reliableMessage\store_pullTest_with_reliableServer1
 
 /opt/FJSVsoap/etc/reliableMessage/store_pushTest_with_pushClient1
 /opt/FJSVsoap/etc/reliableMessage/store_pushTest_with_reliableServer1
 /opt/FJSVsoap/etc/reliableMessage/store_pullTest_with_pullClient1
 /opt/FJSVsoap/etc/reliableMessage/store_pullTest_with_reliableServer1

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005