Sun Java System Application Server は Java EE アプリケーションおよび Java Web サービスの開発と配備用の Java EE 互換サーバーを提供します。主な機能には、スケーラブルなトランザクション管理、コンテナ管理による持続性ランタイム、パフォーマンス Web サービス、クラスタリング、高可用性、セキュリティー、統合機能などがあります。ここでは、次の内容について説明します。
すべての管理ドメインは、そのドメインの機能を特定する使用法プロファイルに関連付けられます。Application Server には次のプロファイルが用意されています。
開発者: このプロファイルは、ドメインが開発環境で実行されており、開発中のアプリケーションに NSS キーストア機能やクラスタ化機能 (負荷分散やセッション持続など) が必要でない場合に使用します。
クラスタ: このプロファイルは、クラスタを作成する必要があるが、高可用性データベース (HADB) や NSS キーストアは必要としない場合に使用します。
エンタープライズ: このプロファイルは、HADB や NSS を必要とする場合に使用します。このプロファイルは、HADB および NSS を個別にインストールする場合、または Java Enterprise System (JES) の一部として Application Server をインストールする場合にのみ使用できます。Application Server 9.1 でエンタープライズプロファイルを使用する方法については、「エンタープライズプロファイルの使用」を参照してください。
Application Server 8.x Enterprise Edition からのアップグレードは、エンタープライズプロファイルでのみサポートされます。Application Server 8.x Platform Edition からアップグレードする場合は、開発者プロファイルを使用します。アップグレード処理の詳細については、『Sun Java System Application Server 9.1 Update 1 Upgrade and Migration Guide』の第 2 章「Upgrading an Application Server Installation」を参照してください。
ドメインは、事前に設定されたランタイムをユーザーアプリケーションに提供します。使用法プロファイルにより、インストールされた Application Server 自体の実行バイナリと、実行環境の設定を区別しやすくなります。つまり、プロファイルにより、Application Server の 1 つの実行バイナリを使用して、特定のニーズに合った異なるドメインを作成できます。たとえば、場合によっては最新の Java EE 仕様を理解するために Application Server を使用する開発者もいます。そのような開発者には、厳格なセキュリティー設定は必要ありません。一方、本稼動環境でアプリケーションを配備するユーザーには、当然ながらセキュリティー保護された環境が必要です。
表 1–1 に、各プロファイルで使用できる機能の一覧を示します。
表 1–1 各プロファイルで使用できる機能
機能 |
開発者プロファイル |
クラスタプロファイル |
エンタープライズプロファイル |
---|---|---|---|
セキュリティーストア |
JKS |
JKS |
NSS |
クラスタ化/スタンドアロンインスタンス |
使用不可 |
利用可能 |
利用可能 |
セキュリティーマネージャー |
無効 |
有効 |
有効 |
HADB |
使用不可 |
使用不可 |
利用可能 |
負荷分散 |
使用不可 |
利用可能 |
利用可能 |
ノードエージェント |
使用不可 |
利用可能 |
利用可能 |
エンタープライズプロファイルを使用するには、次のタスクを実行します。
NSS および HADB を個別にダウンロードしてインストールします。
asenv.conf ファイルを次のように変更します。
AS_HADB のポイント先を、HADB のインストールフォルダにします。
AS_NSS のポイント先を、NSS 共有オブジェクトが使用可能なフォルダにします。
AS_NSS_BIN のポイント先を、certutil などの NSS バイナリが格納されたフォルダにします。
start-domain コマンドを使用すると、Application Server 8.x または 9.0 のドメインを Application Server 9.1 にアップグレードできます。ドメインをアップグレードするには、次のいずれかの方法を使用します。
Application Server バイナリのインプレースアップグレードを実行する。
以前のバージョンの Application Server をポイントするドメインで start-domain を実行すると、asadmin によって asupgrade コマンドが呼び出され、自動的にドメインのインプレースアップグレードが実行されます。
Application Server バイナリのサイドバイサイドアップグレードを実行する。
以前のインストールのドメインで start-domain を実行します。asupgrade コマンドによって、ドメインは最新の Application Server インストールのドメインルートにアップグレードされます。このシナリオでは、アップグレードのターゲットディレクトリは、asenv.conf 内の AS_DEF_DOMAINS_PATH に定義されます。
Application Server は、Web パブリッシングからエンタープライズ規模のトランザクション処理までをサポートするプラットフォームです。Application Server を使用して、開発者は JavaServer Pages (JSPTM)、Java サーブレット、Enterprise JavaBeansTM (EJBTM) テクノロジをベースにしたアプリケーションを構築できます。
Application Server 9.1 のクラスタプロファイルとエンタープライズプロファイルは、高度なクラスタリング技術とフェイルオーバー技術を提供します。これらの機能により、スケーラブルで高い可用性を備えた Java EE アプリケーションを実行できます。
クラスタリング - クラスタは、1 つの論理エンティティーとして一体となって動作するアプリケーションサーバーインスタンスの集まりです。クラスタ内の各 Application Server インスタンスは同じように設定され、各インスタンスには同じアプリケーションが配備されています。
クラスタに Application Server インスタンスを追加することで水平方向への拡張が実現され、それによってシステムの処理能力が向上します。サービスを中断せずに、クラスタに Application Server インスタンスを追加することができます。HTTP、RMI/IIOP、および JMS のロードバランスにより、クラスタ内の正常な Application Server インスタンスに要求を分散させます。
高可用性 - 可用性を有効にすると、クラスタ内の Application Server インスタンスをフェイルオーバーによって保護できます。1 つのアプリケーションサーバーインスタンスが停止すると、利用できなくなったサーバーに割り当てられていたセッションは別の Application Server インスタンスに引き継がれます。セッションの情報は、高可用性データベース (HADB) に格納されます。HADB は、持続的な HTTP セッションとステートフルセッション Beans をサポートします。
ここでは、図 1–1 に示す Application Server のハイレベルアーキテクチャーについて説明します。
コンテナ - コンテナは、Java EE コンポーネントのセキュリティーやトランザクション管理などのサービスを提供する実行環境です。図 1–1 は、Web コンテナおよび EJB コンテナという、2 つのタイプの Java EE コンテナを示しています。JSP ページやサーブレットなどの Web コンポーネントは、Web コンテナ内で実行されます。EJB テクノロジのコンポーネントである Enterprise JavaBeans は、EJB コンテナ内で実行されます。
クライアントアクセス - 実行時に、ブラウザクライアントはインターネット上で使われているプロトコルである HTTP で Web サーバーと通信することにより Web アプリケーションにアクセスします。HTTPS プロトコルは、セキュア通信を必要とするアプリケーションのためにあります。Enterprise Bean クライアントは、IIOP または IIOP/SSL (セキュア) プロトコルを介して ORB (Object Request Broker) と通信します。Application Server には、HTTP、HTTPS、IIOP、および IIOP/SSL プロトコル用の別個のリスナーがあります。各リスナーは、固有のポート番号を排他的に使用しています。
Web サービス - Java EE プラットフォームでは、Java API for XML-Based RPC (JAX-RPC) によって実装された Web サービスを提供する Web アプリケーションを配備できます。Java EE アプリケーションやコンポーネントは、ほかの Web サービスのクライアントにすることもできます。アプリケーションは Java API for XML Registries (JAXR) を介して XML レジストリにアクセスします。
アプリケーションのサービス - Java EE プラットフォームは、コンテナがアプリケーションのサービスを提供するように設計されています。図 1–1 は、次のサービスを示しています。
トランザクション管理 - トランザクションは作業の分割不能な単位です。たとえば、銀行口座間での資金の振り替えがトランザクションにあたります。トランザクション管理サービスは、トランザクションが完全に終了するか、またはロールバックされるようにします。
Java EE プラットフォームでは、アプリケーションがアプリケーションサーバーの外部にあるシステムにアクセスできます。アプリケーションは、リソースと呼ばれるオブジェクトを介してこれらのシステムにアクセスします。管理者はリソース設定を行う必要があります。Java EE プラットフォームでは、次の API およびコンポーネントを介して外部システムにアクセスできます。
JDBC - データベース管理システム (DBMS) は、データの格納、編成、および検索機能を提供します。大部分のビジネスアプリケーションは、アプリケーションが JDBC API 経由でアクセスするリレーショナルデータベースにデータを格納します。データベース内の情報は、多くの場合、持続性があるとされています。これは、ディスク上に保存され、アプリケーションを終了したあとも存在するためです。Application Server バンドルには、Java DB データベースが含まれています。
メッセージング - メッセージングは、ソフトウェアコンポーネント間またはアプリケーション間の通信手段です。メッセージングクライアントは、ほかのどのクライアントともメッセージの送受信を行います。アプリケーションは Java Messaging Service (JMS) API を介してメッセージングプロバイダにアクセスします。Application Server には JMS プロバイダが組み込まれています。
コネクタ - Java EE コネクタアーキテクチャーでは、Java EE アプリケーションと既存のエンタープライズ情報システム (EIS) との統合が可能です。アプリケーションは、コネクタまたはリソースアダプタと呼ばれる移行可能な Java EE コンポーネントを介して EIS にアクセスします。
JavaMail - JavaMail API を介して、アプリケーションは電子メールを送受信するために SMTP サーバーに接続します。
サーバー管理 - 図 1-1 の右下に、Application Server の管理者によって実行されるタスクの一部が示されています。たとえば、管理者は、アプリケーションを配備 (インストール) し、サーバーのパフォーマンスを監視します。これらのタスクは Application Server が提供する管理ツールを使用して実行します。
Application Server では、次の管理ツールおよび API を使用できます。
管理コンソールは、ナビゲートしやすいインタフェースとオンラインヘルプを装備したブラウザベースのツールです。管理コンソール を使用するには、管理サーバー (ドメイン管理サーバーまたは DAS とも呼ばれる) が稼動している必要があります。管理コンソールを起動するには、管理サーバーのホスト名とポート番号がわかっていなければなりません。ポート番号については、Application Server のインストール時に選択したポート番号か、デフォルトポートの 4848 が使用されます。また、ユーザー名とマスターパスワードについても、インストール時に指定したものが必要です。
管理コンソールを起動するには、Web ブラウザで次のように入力します。
http://hostname:port |
次に例を示します。
http://kindness.sun.com:4848 |
管理コンソールを Application Server がインストールされたマシンで実行する場合は、ホスト名として localhost を指定します。
Windows 環境で管理コンソールを起動するには、「スタート」メニューから「管理コンソール」を起動します。
インストールプログラムにより、domain1 という名前のデフォルト管理ドメインがデフォルトポート番号 4848 で生成されます。また、ドメイン管理サーバー (DAS) とは分離したインスタンスも作成されます。インストール後は、管理ドメインを作成して追加できます。各ドメインには、一意のポート番号を持ったドメイン管理サーバーがそれぞれ必要です。管理コンソールの URL を指定する場合は、ドメインの管理ポート番号も指定する必要があります。
DAS とは異なるサーバー上で稼動するリモートサーバーインスタンスを管理する場合は、ノードエージェントを作成し、リモートサーバーインスタンスを容易に管理できるようにします。サーバーインスタンスの作成、起動、停止、および削除は、ノードエージェントの役割です。ノードエージェントを設定するには、コマンド行インタフェース (CLI) のコマンドを使用します。
asadmin ユーティリティーは Sun Java System Application Server のコマンド行インタフェースです。asadmin ユーティリティーと、このユーティリティーに関連するコマンドを使用して、管理コンソールで提供されている一連の同じ管理タスクを実行します。Solaris でのデフォルトのインストールルートディレクトリは /opt/SUNWappserver です。
asadmin ユーティリティーを起動するには、as-install/bin ディレクトリに移動し、次のように入力します。
$ ./asadmin |
asadmin 内で使用可能なコマンドをリスト表示するには、次のように入力します。
asadmin> help |
シェルのコマンドプロンプトで、asadmin コマンドを次のように実行することもできます。
$ asadmin help |
コマンドの構文と例を表示するには、help のあとにコマンド名を入力します。次に例を示します。
asadmin> help create-jdbc-resource |
指定したコマンドの asadmin help 情報が、UNIX のマニュアルページの形式で表示されます。これらのマニュアルページは、HTML 形式または PDF 形式の『Sun Java System Application Server 9.1 Reference Manual 』でも参照できます。
Java 2 Platform Standard Edition 5.0 では、Java 監視および管理コンソール (JConsole) が導入されました。JConsole は Sun Java System Application Server の監視に使用します。JConsole の「リモート」タブまたは「詳細」タブを使用して、Application Server に接続できます。
「リモート」タブ: ユーザー名、パスワード、管理サーバーホスト、および JMS ポート番号 (デフォルトで 8686) を指定し、「接続」を選択します。
「詳細」タブ: JMXServiceURL のサービス URL (jmx:rmi:///jndi/rmi://host:jms-port/jmxrmi) を指定し、「接続」を選択します。JMXServerURL は server.log ファイルに書き込まれるほか、ドメイン作成コマンドのコマンドウィンドウに出力されます。
Application Server Management Extension (AMX) は、すべての Application Server 設定を表示する API です。また、AMX は AMX インタフェースを実装する使いやすいクライアント側の動的なプロキシとして JMX 管理対象 Beans を監視しています。
Application Server Management Extension の使用の詳細については、『Sun Java System Application Server 9.1 Developer’s Guide』の第 20 章「Using the Application Server Management Extensions」を参照してください。