ここではJava EEアプリケーションの標準的なシステム形態について説明します。Java EE機能を使用してシステムを構築する場合は、次のようなシステム形態を意識して設計します。
Java EEのシステム形態
Java EEでは、以下のようなシステム形態を推奨しています。
クライアント層
システムに接続するユーザインタフェースを提供します。Webブラウザを基本としていますが、Javaアプリケーションもクライアントとして想定されています。
プレゼンテーション層
プレゼンテーションのロジックをカプセル化したもので、システムを利用するクライアントからのリクエストを受け付け、ビジネスロジック層のサービスへの橋渡しなどを行ってレスポンスをクライアントに返送するサービスを提供します。この層では主として、ServletやJSPなどのコンポーネントが使用されます。
ビジネスロジック層
プレゼンテーション層などからの要求に応じて業務処理やデータ提供などのビジネスサービスを供給します。一般的にこの層で業務に関する処理が行われますが、既存システムなどの資産がある場合はEIS層のリソースを利用する場合もあります。この層では主として、Enterprise JavaBeans やWebサービスを使用してビジネスロジックが実装されます。
EIS層にあるサービス(処理やデータ)を利用する場合には、EIS層にある外部リソースや他システムなどと連携するための通信機能を提供するためにインテグレーション層を想定する場合があります。この層では、JDBCやconnectorなどのコンポーネントが使用されます。
EIS(Enterprise Information System)層
データベース、メインフレーム上で動作するレガシーシステムやパッケージソフトなどのリソースを提供します。
システムを構築する場合、システム設計者はInterstageが提供するJava EEのコンポーネントを組み合わせて自由にシステムを構築する事ができます。以下は代表的な4層モデルです。
上記のモデルを使用する場合のチューニングポイントとしては、以下があります。
IJServerクラスタ(サーバーインスタンス)のチューニング
アプリケーションを運用するプレゼンテーション層とビジネスロジック層はIJServerクラスタ(サーバーインスタンス)で運用します。このため、アプリケーションの規模やアプリケーションが受け付けるリクエスト量などによりチューニングを行います。
WebコンテナやEJBコンテナのチューニング
JSP/ServletやEnterprise JavaBeansといったアプリケーションに対する要求は、WebコンテナやEJBコンテナが受け付けて、必要な前処理・後処理を行ってアプリケーションを呼び出します。コンテナに対して要求の同時処理数などをチューニングすることで流用制限を行ったり、プールやキャッシュの定義値を変更することで利用する資源量を調整することができます。
EIS層に対する接続のチューニング
データベースなど各種リソースにアクセスする場合には、リソースに対する接続をチューニングする接続プールを使用できます。リソースに対する要求の同時処理数などをチューニングすることでリソースに対する流用制限を行ったり、使用されていない接続プールに保持された接続をタイムアウトにより破棄するなどにより使用する資源量を削減することができます。
また、データベースへの接続には、各ベンダが提供するJDBCドライバを使用して接続します。このため、JDBCドライバ側のチューニングポイントも合わせて確認する必要があります。
上記のようにシステムを構築する場合、システム設計者は使用するモデルで使用する各コンポーネントのチューニング項目を確認し、システム規模に合わせてチューニングを行ってください。
また、Java EE機能の各種運用操作を行うInterstage Java EE DASサービスや、IJServerクラスタ(サーバーインスタンス)の起動状態を監視するInterstage Java EE Node Agentサービスについてもシステム規模に合わせてチューニングする項目があります。