[Seasar-user:19173] Re: S2JMSを使用した処理方式について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 1月 22日 (金) 22:00:44 JST


小林 (koichik) です.

Date:    Fri, 22 Jan 2010 16:36:11 +0900 (JST)
From:    MASAYUKI ISHIKAWA <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19172] S2JMSを使用した処理方式について

> 1.
>  インバウンド・アプリを使うと、キュー受信をトリガーとし、
>  アプリを実行させることが出来るという理解でよいでしょうか?

はい.

> 2.
>  S2JMSのサイトでは、
>  「インバウンド通信は通常スタンドアロン・アプリケーションで利用します。
>   Webコンテナ上でインバウンド通信を使用することは推奨しません。」
>  とありますが、これはキュー受信をトリガーとして起動するアプリケーションは
>  WAS上のアプリとは別の独立したアプリにした方がよいという意味でしょうか?

「Web コンテナ」は Tomcat を想定していますが,
WAS の Web コンテナ上で使うことも推奨しません.
WAS とは独立したスタンドアロンのプロセスとして
起動することを推奨します.

もし WAS を使うなら S2JMS を使うのではなく,
EJB の Message-Driven Bean を使う方がいいのでは?
元々 S2JMS (のインバウンド通信) は,AP サーバの
ない環境で MDB 相当を提供するのものなので.

> 3.
>  要件として、送信機能も必要なのですが、
>  送信機能は、インバウンドアプリで受信後、後続処理で送信をするのではなく、
>  受信処理とは非同期に送信処理を行う要件になっています。

それは不思議な要件ですね.
「非同期に送信処理」ではなく,「非同期
メッセージの送信処理」ならわかるのですが.

本当に「非同期に送信処理」するのだとしたら,
受信処理と送信処理の間を何らかの非同期な方法で
つなぐ必要がありますが,それに適しているのは
非同期メッセージすなわち JMS です.
つまり,

→[受信,送信] → [受信,送信]→

という形になります.
最後に送信されるのが,仕様で求められている
メッセージです.

この場合,二つの [受信,送信] という処理は

>   この場合、インバウンド・アプリケーションは
>   同時にアウトバウンド・アプリケーションとなります。」

です.
正直意味がないので,シンプルに最初に受信した
処理の流れで送信してしまうべきだと思いますが.

> 4.
>  実業務はシステム更改という背景があるため、
>  可能であればSeasar2とS2JMSの組み合わせを、
>  2.4.9+1.0.1で出来ればと考えています。可能でしょうか?

S2JMS-1.0.0 の開発に使用していた Seasar2 が
2.4.15〜17 で,それより古いバージョンとの
組み合わせは長いこと試していません.
S2JMS の開発当初は 2.4.7 を使っていたので,
動作する可能性はあると思いますが,実際に
動くかどうかは試して頂くしかないかと.

その前に,S2JMS を使うのか WAS の MDB を
使うのか検討した方がいいと思いますが.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内