アプリケーション間での非同期通信には,メッセージを使用します。非同期通信で使用するメッセージとは,J2EEの仕様として規定されたJMSインタフェースによって実装されたデータです。送信元のアプリケーションからのリクエストがメッセージの形式で送信されると,メッセージは一度キューに登録されます。そのあとで,受信側のアプリケーションによってキューからメッセージが取り出され,処理が実行されます。これによって,送信側と受信側のアプリケーションを同時に動作させる必要のない非同期通信を実現できます。
また,Cosminexusでは,キューをデータベース上に構築します。データベースのデータとして登録することによって,メッセージを送信したときに受信側が受信できなかった場合に,正しく受信されるまでキューにメッセージを保持できます。これによって,確実なメッセージ配信を実現できます。なお,アプリケーションサーバでは,Cosminexusが提供するCosminexus RMおよびDB Connector for Cosminexus RMという二つのリソースアダプタを利用して,データベース上のキューの実現,およびアプリケーションからデータベース上のキューへのアクセスなどを実現します。
メッセージを利用した非同期通信アプリケーションの実行環境の例を次の図に示します。
図4-14 メッセージを利用した非同期通信アプリケーションの実行環境の例
送信側のアプリケーションサーバ上で動作するメッセージを送信するアプリケーションから,Cosminexus RMおよびDB Connector for Cosminexus RMを経由してメッセージが送信され,キューに登録されます。メッセージがキューに登録されると,受信側のアプリケーションサーバ上のCosminexus RMおよびDB Connector for Cosminexus RMによってメッセージが取り出され,メッセージを受信するアプリケーションに渡されます。受信側のアプリケーションサーバでは,メッセージの到着を契機として,アプリケーションが実行されます。なお,同じマシン内のアプリケーション間で非同期通信を実現したい場合は,送信側のアプリケーションサーバと受信側のアプリケーションサーバを同じマシンにすることもできます。
また,キューに登録されたメッセージを異なるシステムのキューに転送する場合は,WS-Reliabilityに基づいた転送が実行されます。WS-Reliabilityは,SOAPプロトコルをベースに,標準化団体OASISで標準化された,インターネット向けのオープンな非同期通信プロトコルです。異なるシステム間のキューでメッセージが転送される場合,メッセージはSOAPメッセージの形式で転送されます。
メッセージの転送の概要を,次の図に示します。
図4-15 メッセージの転送の概要
表4-3 メッセージを利用した非同期通信アプリケーションの送信側と受信側に使用できる製品
構築する実行環境 | 使用できる製品 |
---|---|
送信側 | Application Server Standard Application Server Enterprise Service Platform Developer Professional※ Service Architect※ |
受信側 | Application Server Standard Application Server Enterprise Service Platform Developer Professional※ Service Architect※ (WS-Reliabilityに対応した異なるシステム) |
注※ 開発環境でのテスト用実行環境として使用できます。
メッセージを利用した非同期通信アプリケーションの実行環境については,マニュアル「Cosminexus Reliable Messaging」を参照してください。
図4-16 Connector 1.5仕様に準拠したリソースアダプタを使用する場合の非同期通信