4.5 メッセージを利用した非同期通信アプリケーションの実行環境を構築・運用する

アプリケーション間での非同期通信には,メッセージを使用します。非同期通信で使用するメッセージとは,Java EEの仕様として規定されたJMSインタフェースによって実装されたデータです。送信元のアプリケーションからのリクエストがメッセージの形式で送信されると,メッセージは一度キューまたはトピックに登録されます。

キューを使用する場合,受信側のアプリケーションは,メッセージを受信して,キューからメッセージを取り出します。これによって,送信側,受信側のアプリケーションが同時に動作していない場合も,メッセージのやり取りが可能になります。

トピックを使用する場合,あらかじめ購読を申し込んでいた受信側のアプリケーションに対して,メッセージが送信されます。購読は,複数のアプリケーションから申し込めます。また,永続化サブスクライバーを使用することで,トピックへのメッセージ登録時に受信側のアプリケーションが動作していなくても,メッセージを配信できます。

アプリケーションサーバでは,メッセージを利用した非同期通信を実現するための機能として,次の2種類の機能を使用できます。

それぞれの機能の特徴を次の表に示します。用途に応じた機能を使用してください。

表4-2 メッセージを利用した非同期通信を実現するための機能の特徴

機能の種類概要使用できる送信先の種類メッセージの保存先
Cosminexus JMSプロバイダJMS1.1インタフェースに準拠したアプリケーションの実行環境を構築できます。キューまたは
トピック
ファイル
Cosminexus RMJMS1.0のPointToPointインタフェースに従ったアプリケーションの実行環境を構築できます。さらに,DB Connector for Cosminexus RMとのコネクション共有など,Cosminexusのアプリケーションサーバ独自の機能が利用できます。キューデータベース
参考
この節の説明は,アプリケーションサーバの機能を使用した場合の非同期通信の説明です。
このほか,Connector 1.5仕様に準拠した任意のリソースアダプタを使用して,外部のリソースからのメッセージ送信を受け付け,アプリケーションサーバ上の処理を非同期で実行することもできます。
概要を次の図に示します。

図4-15 Connector 1.5仕様に準拠したリソースアダプタを使用する場合の非同期通信

[図データ]
Connector 1.5仕様に準拠したリソースアダプタを使用したメッセージの非同期通信については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.16.3 メッセージインフロー」を参照してください。
<この節の構成>
4.5.1 Cosminexus JMSプロバイダを利用した実行環境
4.5.2 Cosminexus RMを利用した実行環境