![]() |
Sun ONE Application Server 7 パフォーマンスチューニングガイド |
Sun ONE Application Server についてSun ONE Application Server は、信頼性が高くスケーラブルな Web サービス配備プラットフォームを提供します。アプリケーションプログラマーは、本稼働レベルの配備を Sun ONE Application Server が提供するサービスに任せ、優れたソフトウェアコンポーネントを使ってビジネスロジックの実装に専念することができます。
次の項目について説明します。
サーバーコンポーネント
Sun ONE Application Server には、相互の対話が必要なさまざまなコンポーネントが用意されています。これらのコンポーネントは、本稼働環境と開発環境の両方で最適なパフォーマンスにチューニングできます。
この節では、次の項目について説明します。
アプリケーションサーバーのプロセス
Sun ONE Application Server は、appservd という 1 つのプロセス内で実行されます。
Sun ONE Application Server のプロセスを呼び出すときは、startserv スクリプトを実行します。このスクリプトは、server.xml に記録されている設定情報を読み込み、サーバーインスタンスを起動して、次の処理を行います。
- 内蔵 ORB の起動
- 内蔵 HTTP サーバーの起動
- 配備されているアプリケーションとコンポーネントの各対応コンテナへのロード
- ロギングサービスの開始
データベース
Sun ONE Application Server は、Oracle、Sybase、Informix、DB2 などのデータベースをサポートしています。また、Sun ONE Application Server では、データベース用のサードパーティ製 JDBC ドライバも設定できます。データソースと接続プールの設定については、『Sun ONE Application Server 管理者ガイド』を参照してください。
サーバーのアーキテクチャ
![]()
図:    Sun ONE Application Server コンポーネントのアーキテクチャ
Sun ONE Application Server は、高度な Web 要求の処理、セキュリティ、管理の基盤を提供します。上の図は、アプリケーションサーバーの主要コンポーネントを示しています。
アプリケーションサーバーインスタンスは、配備するアプリケーションサーバーの基本となります。各アプリケーションサーバーインスタンスには、J2EE 1.3 の Web コンテナと EJB コンテナが含まれています。定評のある高性能 HTTP サーバーは Web コンテナの前段に配備され、EJB コンテナは内蔵の ORB に支えられています。バックエンドシステムにアクセスできるので、アプリケーションは J2EE コネクタアーキテクチャとサードパティのリソースアダプタ、JMS と内蔵の JMS プロバイダーまたはサードパーティプロバイダ、および一般的なサードパーティ JDBC ドライバの自由な組み合わせを利用できます。分散トランザクションの範囲内であれば、バックエンドシステムへのアクセスは、すべてが Java で記述された内蔵のトランザクションマネージャを使って管理できます。
管理サーバーには、コア管理アプリケーションと SNMP エージェントが格納されています。リモート管理は、すべて管理サーバー経由で行われます。コマンド行ベースと Web ブラウザベースの管理クライアントは、どちらも HTTP または HTTPS を介して管理サーバーに直接アクセスします。HTTPS を使った場合はセキュアなアクセスが可能です。
1 つ以上のファイアウォール層によって保護された非武装地帯 (DMZ) には、1 つまたは複数の Web サーバーが置かれています。Web サーバープロキシプラグインを使って、この背後にアプリケーションサーバーを配備できます。プラグインは、フロントエンドの Web サーバーが、インターネットから受信した HTTP または HTTPS トラフィックを、バックエンドのアプリケーションサーバー層に置かれている 1 つまたは複数のアプリケーションサーバーに配信しするときに使われます。
さまざまなクライアントアプリケーションが、アプリケーションサーバーに配備されたビジネスサービスにアクセスできます。Web サービスとブラウザベースのクライアントは、HTTP または HTTPS のいずれかを使って Java Web サービスと J2EE Web アプリケーションにアクセスできます。Java アプリケーションクライアントは、スタンドアロンモードで配備するか、または標準のアプリケーションクライアントコンテナ内に配備できます。このクライアントは、Java RMI-IIOP テクノロジ (Java Remote Method Invocation over Internet Inter-ORB Protocol Technology) を使って、アプリケーションサーバーに配備された EJB にアクセスできます。C++ 言語クライアントは、Java IDL/IIOP を使って EJB にアクセスできます。
Sun ONE Application Server の基本コンポーネントは、ウォッチドッグプロセスによって管理される appservd プロセスです。アプリケーションコードは、appservd プロセスが作成するマルチスレッドプロセスで実行されます。Java 仮想マシン (JVM) も appservd 内で起動されます。
システムは、管理サーバーを使って管理されます。また、別のシステムにインストールされている Web サーバーをプロキシとして使い、要求をアプリケーションサーバーインスタンスに転送するように設定する機能も用意されています。
サーバーツール
Sun ONE Application Server には、管理ツールと、アプリケーションをアプリケーションサーバーに配備するためのツールが用意されています。管理インタフェースは、Web ベースのツールです。また、コマンド行インタフェース (CLI) を使って、コマンド行からサーバーを管理することもできます。Web ベースと CLI ベースのどちらのツールでも、すべての管理機能を利用できます。
Sun ONE Application Server と共に Sun ONE Studio 4 を設定した場合は、アプリケーションのアセンブリ機能と配備機能を利用できます。
サーバー管理インタフェース
![]()
図:    Sun ONE Application Server の管理インタフェース
上の図に示す Sun ONE Application Server の管理インタフェースは、管理サーバーインスタンスに配備された Web アプリケーションとして実行され、ブラウザを使ってどこからでもアクセスできます。ユーザーは、これを使ってアプリケーションサーバーインスタンスを設定します。
次の図に示すように、コマンド行インタフェース (CLI) から管理サーバーにアクセスすることもできます。CLI では、Web ベースインタフェースの代わりにコマンド行を使ってアプリケーションサーバーインスタンスを設定できます。
![]()
図:    Sun ONE Application Server のコマンド行インタフェース
パフォーマンスの向上のために、Sun ONE Application Server の管理インタフェースを使ってサーバープロセスとアプリケーション配備記述子をチューニングする方法について説明します。管理インタフェースの詳細については、『Sun ONE Application Server 7 管理者ガイド』を参照してください。
Sun ONE Studio 4
Sun ONE Studio 4 統合開発環境 (IDE) は、Sun ONE Application Server に配備する J2EE (Java 2 Enterprise Edition) の開発、アセンブル、配備に使用します。Sun ONE Studio では、J2EE アプリケーションコンポーネントは、配備時の受取側となるコンテナに基づいてモジュール化されます。これらの J2EE コンポーネントは、EJB JAR モジュール (拡張子は .JAR) または Web アプリケーションモジュール (拡張子は .WAR) としてアーカイブできます。各モジュールには、J2EE 記述子と、XML ファイルとして保存された Sun ONE Application Server 固有の配備記述子が含まれます。詳細につていは、『Sun ONE Studio 4 開発者ガイド』を参照してください。
Sun ONE Studio と Sun ONE Application Server を併用することで、IDE とアプリケーションサーバーをシームレスに統合する数多くの機能を利用できるようになります。