Hitachi

Cosminexus V11 アプリケーションサーバ システム設計ガイド


2.5.2 使用するプロセスの検討と必要なソフトウェアの準備

アプリケーションサーバのシステムでは,使用するプロセスの種類とその配置によってシステム構成が決まります。

アプリケーションサーバのシステムはWebフロントシステムとバックシステムで構成されます。Webフロントシステムは,クライアントとしてWebブラウザを使用するシステムです。バックシステムは,クライアントとしてEJBクライアントを使用するシステムです。システムの分類については,「3.1.1 システムの目的と構成」で詳しく説明します。

ここでは,まず,システムの分類に応じて必要なプロセスとソフトウェアについて説明します。次に,使用する機能に応じて必要なプロセス,モジュールおよびソフトウェアについて説明します。なお,これらのプロセス,モジュール,ソフトウェアをどのようにシステムに配置するかについては,「3. システム構成の検討(J2EEアプリケーション実行基盤)」で説明します。

〈この項の構成〉

(1) システムの分類に応じて必要なプロセス

システムの分類に応じて必要なプロセスを次に示します。これらは,使用する機能に関係なく共通して必要なプロセスです。アプリケーションサーバによって提供されます。

Webフロントシステムの場合に必要なプロセス

Webフロントシステムの場合に必要なプロセスは次のとおりです。

  • Webサーバ

  • J2EEサーバ

  • PRFデーモン

なお,アプリケーションサーバに含まれるWebサーバは,HTTP Serverです。クライアントには,Webブラウザを使用します。

注※

Webサーバを経由しないでJ2EEサーバのNIO HTTPサーバに直接アクセスする場合は,Webサーバのプロセスは不要です。

ポイント

Webサーバ選択の指針

Webクライアントシステムでは,Webクライアントからのリクエストを,次のどちらかのWebサーバを利用して処理できます。

  • リバースプロキシ機能を有効にしたWebサーバ

    プロキシモジュールを組み込んだWebサーバと連携してリクエストを処理します。Webサーバが受信したリクエストは,プロキシモジュールを経由して,J2EEサーバのNIO HTTPサーバに送信されます。

  • NIO HTTPサーバ

    Webコンテナ機能の一部として提供される,J2EEサーバのプロセス内で機能するHTTPサーバでリクエストを処理します。WebクライアントからのリクエストをJ2EEサーバで直接受信できます。

なお,アプリケーションサーバでは,リバースプロキシ機能を有効にしたWebサーバを利用することを推奨しています。また,デフォルトの設定で使用する場合は,リバースプロキシ機能を有効にしたWebサーバが利用されます。特に性能を重視したシステムを構築したい場合に,NIO HTTPサーバへの直接アクセスを検討してください。

それぞれのWebサーバの特徴を次の表に示します。Webサーバを選択する場合の指針にしてください。

表2‒5 Webサーバ選択の指針

比較項目

リバースプロキシ機能を有効にしたWebサーバ

NIO HTTPサーバ

Webサーバとして利用できる機能

HTTP Server(Apacheの機能をベースにしたWebサーバ)またはMicrosoft IISが提供する多様な機能を利用できます。

サーブレット,JSPまたはHTMLから構成されるWebアプリケーションへのアクセスを目的にした最小限の機能だけが提供されています。※1

構築,運用の容易性

構築時には,Webサーバの環境設定が必要です。運用時には,Webサーバの起動,停止が必要です。ただし,Smart Composer機能のコマンドで構築・運用できるため,煩雑な操作は不要です。

構築時のWebサーバの環境設定,および運用時のWebサーバの起動,停止の操作が不要です。

HTML,JPEGなどの静的コンテンツに対するアクセス性能

静的コンテンツをWebサーバ上に配置することによって,最適な性能を確保できます。

なお,Webコンテナ上に配置する場合は,リバースプロキシ経由のアクセスになるため,アクセス処理に時間が掛かります。

リバースプロキシを経由しないでアクセスできるため,最適な性能を確保できます。

サーブレット,JSPなどの動的コンテンツに対するアクセス性能

リバースプロキシを経由するためのアクセス処理に時間が掛かります。

リバースプロキシを経由しないでアクセスできるため,最適な性能を確保できます。

注意事項

インターネットに接続する場合には,セキュリティ上の観点から,DMZを確保する構成にして,リバースプロキシをフロントに配置することを推奨します。

また,リバースプロキシを配置しない場合は,リバースプロキシを組み込んだWebサーバをDMZに配置することで,同様の効果を得ることもできます。※2

インターネットに接続する場合には,セキュリティ上の観点からDMZを確保する構成にして,必ずリバースプロキシをフロントに配置してください。※2

(凡例)○:優れている。 △:優れていない。

注※1 NIO HTTPサーバで使用できる機能の詳細については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「7.2.2 NIO HTTPサーバで使用できる機能」を参照してください。

注※2 DMZへのWebサーバの配置については,マニュアル「アプリケーションサーバ 機能解説 セキュリティ管理機能編」の「3.3 DMZへのリバースプロキシの配置を検討する」を参照してください。

バックシステムの場合に必要なプロセス

バックシステムの場合に必要なプロセスは次のとおりです。

  • J2EEサーバ

  • PRFデーモン

バックシステムのクライアントには,EJBクライアントを使用します。EJBクライアントとは,Enterprise Beanを呼び出す,Servlet,JSP,ほかのEnterprise Bean,EJBクライアントアプリケーション,またはほかの業務システムのことです。

EJBクライアントとしてEJBクライアントアプリケーションを使用するとき,Windowsの場合はクライアントマシンをClientを使用して構築することもできます。アプリケーションサーバまたはClientのどちらのソフトウェアを使用した場合も,必要に応じてPRFデーモンを起動できます。

参考

CTMを使用したシステムの場合,クライアントとしてTPBrokerやTPBroker Object Transaction Monitorのクライアントなど,EJBクライアント以外のクライアントも使用できます。

(2) 使用する機能に応じて必要なプロセスおよびモジュール

使用する機能に応じて必要なプロセスおよびモジュールについて説明します。アプリケーションサーバによって提供されるものと,アプリケーションサーバ以外のソフトウェアによって提供されるものがあります。

使用する機能ごとに必要なプロセスのうち,アプリケーションサーバによって提供されるものを次の表に示します。これらのプロセスは,アプリケーションサーバをインストールしたマシンで起動できます。

表2‒6 機能ごとに必要なプロセスまたはモジュール(アプリケーションサーバによって提供されるもの)

機能

必要なプロセス

サーバ間連携でCTMを利用する/CTMを利用して負荷を分散する

CTMデーモン

CTMレギュレータ

CTMドメインマネジャ

グローバルCORBAネーミングサービス

スマートエージェント

Management Serverを利用して運用管理する

Management Server

運用管理エージェント

CORBAネーミングサービスをアウトプロセスで起動する

CORBAネーミングサービス

使用する機能ごとに必要なプロセスおよびモジュールのうち,アプリケーションサーバ以外の製品が提供するプロセスおよびモジュールを,表2-7および表2-8に示します。

表2‒7 機能ごとに必要なモジュール(アプリケーションサーバ以外によって提供されるもの)と提供するソフトウェア

機能

モジュール

提供するソフトウェア

備考

データベース(HiRDB)と接続する

HiRDB Type4 JDBC Driver

  • HiRDB Server Version 10

  • HiRDB/Run Time Version 10

  • HiRDB/Developer's Kit Version 10

  • HiRDB Developer's Suite Version 10

  • HiRDB Server Version 9

  • HiRDB Server with Additional Function Version 9

  • HiRDB/Run Time Version 9

  • HiRDB/Developer's Kit Version 9

  • HiRDB Developer's Suite Version 9

JDBCドライバとしてHiRDB Type4 JDBC Driverを使用する場合に必要になります。

データベース(Oracle)と接続する

Oracle JDBC Thin Driver

  • Oracle JDBC Thin Driver

JDBCドライバとしてOracle JDBC Thin Driverを使用する場合に必要になります。

データベース(SQL Server)と接続する

SQL Server JDBC Driver

  • SQL Server JDBC Driver

JDBCドライバとしてSQL Server JDBC Driverを使用する場合に必要になります。

データベース(XDM/RD E2)と接続する

HiRDB Type4 JDBC Driver

  • HiRDB Server Version 10

  • HiRDB/Run Time Version 10

  • HiRDB/Developer's Kit Version 10

  • HiRDB Developer's Suite Version 10

JDBCドライバとしてHiRDB Type4 JDBC Driverを使用する場合に必要になります。

Message Queueサーバと接続する

TP1/Message Queue - Access

  • TP1/Message Queue - Access

OpenTP1のSPPと接続する

TP1 Connector

  • TP1 Connector

TP1/Client/J

  • TP1/Client/J

(凡例) −:該当しません。

注 モジュールは,J2EEサーバのプロセスに含まれて動作します。

表2‒8 機能ごとに必要なプロセス(アプリケーションサーバ以外によって提供されるもの)と提供するソフトウェア

機能

必要なプロセス

提供するソフトウェア

クラスタソフトウェアを使用して障害時に系を切り替える

Windows Server Failover Cluster

Windows Server Failover Cluster

HAモニタ

HAモニタ