JMS

【*】JMS
Java Message Service
メッセージを送ったり受け取ったりするためのAPI
J2EEの1機能

【*】メッセージの送受信方法
2種類
①Point-to-Point(PTP)
②Publish-Subscribe(Pub/Sub)

【*】PTP
送り側はキューに対してメッセージを送信し
受け取り側はそのキューからメッセージを取り出す
取り出されたメッセージはその時点でキューからなくなるので
送り側が送ったメッセージは ただ1つの受け取り側に届く

【*】Pub/Sub
送り側はトピックに対してメッセージを送信
そのメッセージは そのトピックをサブスクライブ(購読)している全てのアプリが受信できる
サブスクライブしている全てのアプリの受信が終わった時点でそのトピックからメッセージが削除される


【*】メッセージ・タイプ
構造化/半構造化メッセージ・タイプ
 ―MapMessage
 ―ObjectMessage
 ―StreamMessage
非構造化/フリーフォーム メッセージ・タイプ
 ―TextMessage
 ―BytesMessage

【*】JMSアプリケーション#コード層
. JMSアプリケーション
  プロバイダに依存しない
  JNDIでJMSを介してプロバイダにアクセスする
. JMSインプリメンテーション
  プロバイダ固有のJMSオブジェクト
. メッセージングプロバイダ
  メッセージングシステム(WebSphere MQ等)

【*】ざっくり
JMSインプリメンテーション層とプロバイダ層の詳細は隠されているため
Java開発者は プロバイダに依存しないJMSアプリを作成可能。
ただし
アプリとプロバイダとを連動できるように構成すること。
つまり
Java開発者は JMSインプリメンテーション層の理解が必須。

【+】WebSphere MQ
メッセージングプロバイダ。
1つ以上のキューマネージャとして稼動。
それぞれのキューマネージャは一連のプロセスで ↓処理を担当。
+キューセットの定義
+キュー内に含まれるメッセージの構成
+メモリ/ディスクでのメッセージの保管
+メッセージングクライアントと他キューマネージャ間のメッセージ転送

※WebSphere MQでは
 パブリッシュ/サブスクライブ・ブローカは
 キューマネージャの起動時に自動的に起動しない。

【*】キューマネージャへの接続方法
+クライアントモード
 エージェントはバインディングモードでキューマネージャと対話しアプリに代わってAPIを呼び出す。
+バインディングモード
 WebSphere MQ固有の接続モード。
 JMSアプリをキューマネージャと同じホストマシンで実行し
 両者をIPC(Inter-Process Communication)プロトコルで通信させる。

【+】クライアントモード
*3ステップ
 ① API呼び出しがクライアントアプリからエージェントに送信される。
 ② エージェントがキューマネージャでその呼び出しを実行する。
 ③ 呼び出し結果あエージェントからクライアントアプリに送信される。
 ※送受信中にネットワークが切断された場合
  クライアントアプリはどのステップで切断されたんか判断付かない。
 ※処理済セッションを使用して、明示的commit()/rollback()メソッドを呼び出すこと推奨
 ※WebSphere MQ/クライアントモードはXAトランザクションNG。
  ライセンス的問題?
 うんぬんぬんぬんん

【+】JMSインプリメンテーション
@WebSphere
 -JMS管理対象オブジェクト
 -管理対象オブジェクトのレジストリ

【+】JMSアプリケーション
JMSアプリケーションスタックの最上位にあるんがJMSアプリ自体。
このアプリはJNDIで必要な各JMS管理対象オブジェクトを参照し
WebSphere MQメッセージング・プロバイダに接続する。
アプリが知らなならんのはリソースのJNDI名だけ。
JNDI名は ケースセンシティブで完全一致してること。

ref:
http://www.hellohiro.com/jmsptp.htm
http://www.ibm.com/developerworks/jp/java/library/j-heterogeneous/
http://www.ibm.com/developerworks/jp/java/websphere/techjournal/0610_woolf/0610_woolf.html

tag : JMS

2009-02-23 22:54 : __j2ee__jms : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

search

ad



counter


tag cloud

category cloud