2.3.3 実行環境の構成ソフトウェアの位置づけ(Application Server)

ここでは,実行環境を構築する製品であるApplication Server(Application Server StandardまたはApplication Server Enterprise)の各構成ソフトウェアの位置づけについて,実行するアプリケーションの種類ごとに説明します。

<この項の構成>
(1) J2EEアプリケーション実行時の構成ソフトウェアの位置づけ
(2) 運用管理操作実行時の構成ソフトウェアの位置づけ
(3) Webサービス実行時の構成ソフトウェアの位置づけ
(4) メッセージによる処理の非同期実行時の構成ソフトウェアの位置づけ
(5) バッチアプリケーション実行時の構成ソフトウェアの位置づけ

(1) J2EEアプリケーション実行時の構成ソフトウェアの位置づけ

アプリケーションサーバ上でJ2EEアプリケーションを実行する場合に使用されるApplication Serverの構成ソフトウェアの位置づけについて説明します。

WebクライアントまたはEJBクライアントからのリクエストを処理する場合に使用されるApplication Serverの構成ソフトウェアの位置づけを次の図に示します。

図2-10 Application Serverの構成ソフトウェアの位置づけ(WebクライアントまたはEJBクライアントからのリクエストを処理する場合)

[図データ]

参考
このほか,Application Server Enterpriseでは,Cosminexus Component Transaction MonitorのCTMのゲートウェイ機能を利用してTPBroker/OTMクライアントからのリクエストを受け付けることもできます。

構成ソフトウェアの位置づけとクライアントからのリクエストの流れについて,WebクライアントとEJBクライアントの場合に分けて説明します。

(a) Webクライアントの場合

リクエストの流れについて説明します。なお,項番は,図2-10の図中の番号に対応しています。

  1. WebクライアントのWebブラウザから送信したリクエストは,WebサーバHitachi Web Server)が受け付けます。
  2. Webサーバに登録されているリダイレクタというライブラリによって,リクエストはWebコンテナに振り分けられます。Webコンテナは,Cosminexus Component Containerの構成要素の一つです。
    Webコンテナでは,サーブレットとJSPで構成されるWebアプリケーションが動作しています。Webアプリケーションからは,業務処理プログラムであるEnterprise Beanを呼び出すことができます。
  3. Application Server Enterpriseの場合は,Webアプリケーションから業務処理プログラム(Stateless Session Bean)を呼び出すとき,Cosminexus Component Transaction MonitorCTM)を使用してスケジューリングをするかどうかで,処理の流れが異なります。CTMによってリクエストのスケジューリングをする場合,Webアプリケーションから送信されたリクエストは,CTMのスケジュールキューに格納されます。CTMでは,特定のサーバに負荷が集中しないように,キューを使用してリクエストの負荷分散や流量制御を実行します。
  4. 適切にスケジューリングされたリクエストは,業務処理プログラムを実行するEJBコンテナに送信されます。なお,EJBコンテナは,Cosminexus Component Containerの構成要素の一つです。また,CTMを使用していない場合は,Webアプリケーションから直接EJBコンテナにリクエストが送信されます。
    EJBコンテナでは,リクエストに従って業務処理プログラムが実行されます。
  5. EJBコンテナでは,処理内容に応じて,データベースへのアクセスが発生します。アプリケーションサーバでは,Cosminexus Component Containerが提供するJCA機能を使用して,データベースなどのエンタープライズ情報システム(EIS)に接続します。

処理が完了したリクエストの処理結果は,EJBコンテナから,CTM,Webコンテナ,Webサーバを経て,Webクライアントに返却されます。

(b) EJBクライアントの場合

EJBクライアントから送信したリクエストは,直接,CTM(Application Server Enterpriseの場合)またはEJBコンテナが受け付けます。そのあとの処理の流れは,Webクライアントからの処理の流れと同じです。

(2) 運用管理操作実行時の構成ソフトウェアの位置づけ

運用管理者から送信されたApplication Serverに対する運用操作に関連するリクエストは,運用管理機能Cosminexus Manager機能)が受け付けて,処理を実行します。Application Serverの運用管理機能は,Cosminexus Component Containerの機能として提供されています。なお,運用管理者からのリクエストは,CUI,Eclipseプラグイン(Cosminexus Server Plug-in)またはWebブラウザから送信されます。

また,「(1) J2EEアプリケーション実行時の構成ソフトウェアの位置づけ」で説明したリクエスト処理の過程では,主要なポイントでトレース情報が出力されています。このトレース情報は,Cosminexus Performance Tracerによって収集され,ファイルに出力されています。運用管理者は,このトレース情報を収集,監視して,アプリケーションサーバ全体の処理性能とボトルネックの確認などができます。

(3) Webサービス実行時の構成ソフトウェアの位置づけ

Webサービスの場合,WebクライアントからWebサーバが受け付けたリクエストは,SOAP通信によってWebサービスのサーバマシンに送信されます。

Webサービスを実行する場合に使用されるApplication Serverの構成ソフトウェアの位置づけについて,次の図に示します。

図2-11 Application Serverの構成ソフトウェアの位置づけ(SOAPアプリケーションを実行する場合)

[図データ]

Webサービスを実行する場合,クライアントとサーバ間のSOAP通信は,JAX-WSエンジンを介して実行されます。アプリケーションサーバでは,Cosminexus Component ContainerがJAX-WSエンジンとして機能します。

また,Cosminexus Component Containerでは,アプリケーションサーバが05-00以前から提供していたSOAPアプリケーション開発支援機能を使用して,Webサービスを実行することもできます。この機能を使用して実行するWebサービスをSOAPアプリケーションといいます。SOAPアプリケーションを使用したSOAP通信でやり取りするXMLデータは,Webサービスセキュリティの技術を利用して盗聴または改ざんされることを防ぐことができます。Webサービスセキュリティを利用するための機能は,Cosminexus Web Services - Securityが提供しています。

(4) メッセージによる処理の非同期実行時の構成ソフトウェアの位置づけ

メッセージによる処理の非同期実行は,使用する構成ソフトウェアによって,処理の流れが異なります。

参考
ここでは,アプリケーションサーバで提供する機能を使用する方法について説明します。このほか,Connector 1.5仕様に準拠した任意のリソースアダプタを使用してメッセージによる処理の非同期実行を実現できます。任意のリソースアダプタを使用する場合の構成ソフトウェアおよびリソースアダプタの位置づけについては,使用するリソースアダプタの仕様をご確認ください。
(a) Cosminexus Component ContainerのCosminexus JMSプロバイダの機能を使用する方法

アプリケーションサーバ間でメッセージの非同期通信を実行する場合,送信側のアプリケーションサーバから送信したメッセージは,キューまたはトピックに蓄積されます。受信側のアプリケーションサーバがキューまたはトピックからメッセージを受け取ったときに,メッセージの処理が実行されます。

(b) Cosminexus Reliable Messagingを使用する方法

アプリケーションサーバ間でメッセージの非同期通信を実行する場合,送信側のアプリケーションサーバが受け付けたメッセージは,キューに蓄積されます。受信側のアプリケーションサーバがキューからメッセージを取り出したときに,メッセージの処理が実行されます。

メッセージによる非同期実行をする場合に使用されるApplication Serverの構成ソフトウェアの位置づけを次の図に示します。

図2-12 Application Serverの構成ソフトウェアの位置づけ(Cosminexus Reliable Messagingを使用してメッセージによる処理の非同期実行をする場合)

[図データ]

アプリケーションの処理を非同期実行する場合,リクエストはメッセージとしてデータベース上のキューに格納されます。送信側でのメッセージのキューへの登録,および受信側でのキューからのメッセージの取り出しは,Cosminexus Reliable Messagingの機能で実行できます。キューを作成したデータベースへのアクセスには,Cosminexus Component Containerの機能を使用します。

(5) バッチアプリケーション実行時の構成ソフトウェアの位置づけ

アプリケーションサーバ上でバッチアプリケーションを実行する場合に,使用されるApplication Serverの構成ソフトウェアの位置づけを次の図に示します。

図2-13 Application Serverの構成ソフトウェアの位置づけ(バッチサーバでバッチ処理を実行する場合)

[図データ]

バッチアプリケーションはCosminexus Component Containerの機能を使用して実行されます。また,ほかのアプリケーションサーバ上で動作しているEnterprise Beanを呼び出す場合は,Cosminexus TPBrokerの機能を使用してリモート呼び出しを実現します。

Application Server Enterpriseの場合は,バッチアプリケーションの実行をCosminexus Component Transaction Monitor(CTM)で制御できます。