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

アプリケーション間での非同期通信には,メッセージを使用します。非同期通信で使用するメッセージとは,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」を参照してください。

参考
この節の説明は,Cosminexusの構成ソフトウェアであるCosminexus Reliable Messagingを使用した場合の非同期通信の説明です。
このほか,Connector 1.5仕様に準拠した任意のリソースアダプタを使用して,外部のリソースからのメッセージ送信を受け付け,アプリケーションサーバ上の処理を非同期で実行することもできます。
概要を次の図に示します。

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

[図データ]
Connector 1.5仕様に準拠したリソースアダプタを使用したメッセージの非同期通信については,マニュアル「Cosminexus 機能解説」を参照してください。