アプリケーション間での非同期通信には,メッセージを使用します。非同期通信で使用するメッセージとは,Java EEの仕様として規定されたJMSインタフェースによって実装されたデータです。送信元のアプリケーションからのリクエストがメッセージの形式で送信されると,メッセージは一度キューまたはトピックに登録されます。
キューを使用する場合,受信側のアプリケーションは,メッセージを受信して,キューからメッセージを取り出します。これによって,送信側,受信側のアプリケーションが同時に動作していない場合も,メッセージのやり取りが可能になります。
トピックを使用する場合,あらかじめ購読を申し込んでいた受信側のアプリケーションに対して,メッセージが送信されます。購読は,複数のアプリケーションから申し込めます。また,永続化サブスクライバーを使用することで,トピックへのメッセージ登録時に受信側のアプリケーションが動作していなくても,メッセージを配信できます。
アプリケーションサーバでは,メッセージを利用した非同期通信を実現するための機能として,次の2種類の機能を使用できます。
それぞれの機能の特徴を次の表に示します。用途に応じた機能を使用してください。
表4-2 メッセージを利用した非同期通信を実現するための機能の特徴
機能の種類 | 概要 | 使用できる送信先の種類 | メッセージの保存先 |
---|---|---|---|
Cosminexus JMSプロバイダ | JMS1.1インタフェースに準拠したアプリケーションの実行環境を構築できます。 | キューまたは トピック | ファイル |
Cosminexus RM | JMS1.0のPointToPointインタフェースに従ったアプリケーションの実行環境を構築できます。さらに,DB Connector for Cosminexus RMとのコネクション共有など,Cosminexusのアプリケーションサーバ独自の機能が利用できます。 | キュー | データベース |
図4-15 Connector 1.5仕様に準拠したリソースアダプタを使用する場合の非同期通信