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

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

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

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

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

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

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

[図データ]

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

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

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

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

  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では,Cosminexus Component Containerが提供するJCA機能を使用して,データベースなどのエンタープライズ情報システム(EIS)に接続します。データベースとの連携には,必要に応じてCosminexus DABroker Libraryを使用します。

処理が完了したリクエストの処理結果は,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プラグインまたはWebブラウザから送信されます。

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

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

リクエストを実行するアプリケーションがSOAPアプリケーションの場合,WebクライアントなどからWebサーバが受け付けたリクエストは,SOAPのクライアントに当たるマシン内のライブラリ(SOAPクライアントライブラリ)を経由して,SOAP通信によってサーバマシンに送信されます。サーバマシンでは,SOAPエンジンによってリクエストが処理されます。

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

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

[図データ]

SOAPアプリケーションを実行する場合,クライアントとサーバ間のSOAP通信は,SOAP通信基盤を介して実行されます。Cosminexusでは,Cosminexus Component ContainerがSOAP通信基盤として機能します。なお,SOAPクライアントライブラリおよびSOAPエンジンとしての機能も,Cosminexus Component Containerが提供します。

また,SOAP通信では,XML形式のデータをやり取りします。このデータが盗聴や改ざんされることを防ぐために,Webサービスセキュリティの技術を利用できます。Webサービスセキュリティを利用するための機能は,Cosminexus Web Services - Securityが提供しています。

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

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

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

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

[図データ]

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

参考
Cosminexus Reliable Messagingを使用するほか,Connector 1.5仕様に準拠した任意のリソースアダプタを使用してメッセージによる処理の非同期実行を実現できます。任意のリソースアダプタを使用する場合の構成ソフトウェアおよびリソースアダプタの位置づけについては,使用するリソースアダプタの仕様をご確認ください。

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

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

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

[図データ]

バッチアプリケーションはCosminexus Component Containerの機能を使用して実行されます。バッチアプリケーションからデータベースアクセスを実行する場合は,必要に応じてJDBCドライバとしてCosminexus DABroker Libraryを使用します。また,ほかのアプリケーションサーバ上で動作しているEnterprise Beanを呼び出す場合は,Cosminexus TPBrokerの機能を使用してリモート呼び出しを実現します。