Sun Java System Application Server は、サーバーサイド Java アプリケーションおよび Web サービスの開発と配信用の Java 2 Platform, Enterprise Edition (J2EE プラットフォーム) 1.4 互換プラットフォームを提供します。主な機能には、スケーラブルなトランザクション管理、コンテナ管理による持続性ランタイム、パフォーマンス Web サービス、クラスタリング、高可用性、セキュリティー、統合機能などがあります。
Application Server は次の Edition が提供されています。
Platform Edition は無償で配布され、ソフトウェア開発および部門レベルの本稼動環境を構築するために使用できます。
Enterprise Edition はミッションクリティカルサービスと大規模な本稼働環境向けに設計されています。これは、ロードバランサプラグインとクラスタ管理によって、水平方向のスケーラビリティーとサービスの連続性をサポートします。さらに、Enterprise Edition では高可用性データベース (HADB) による信頼性の高いセッション状態管理もサポートしています。
ここでは、次の内容について説明します。
Application Server は、Web パブリッシングから企業規模のトランザクション処理までをサポートするプラットフォームです。一方、開発者は JavaServer Pages (JSP)、Java サーブレット、Enterprise JavaBeans (EJB) テクノロジをベースにしたアプリケーションを構築できます。
Application Server Platform Edition は、開発、本稼働配備、および再配布を自由に行えます。再配布の詳細については、http://www.sun.com/software/products/appsrvr/appsrvr_oem.xml を参照してください。
Application Server Enterprise Edition は、高度なクラスタリング技術とフェイルオーバー技術を提供します。Application Server のインフラストラクチャーは、さまざまなタイプの分散アプリケーションの配備をサポートし、サービス指向アーキテクチャー (SOA) に基づいてアプリケーションを構築するために最適な基盤です。SOA はアプリケーションサービスを最大限に再利用することを目的とした設計方法論です。これらの機能により、スケーラブルで高い可用性を備えた J2EE アプリケーションを実行できます。
スケーラビリティー - スケーラビリティーは、クラスタリングによって実現します。クラスタは、1 つの論理エンティティーとして一体となって動作するアプリケーションサーバー インスタンスの集まりです。クラスタ内の各 Application Server インスタンスは同じように設定され、各インスタンスには同じアプリケーションが配備されています。
クラスタに Application Server インスタンスを追加することによってシステムの容量が増加し、水平的なスケーリングが実現されます。サービスを中断せずに、クラスタに Application Server インスタンスを追加することができます。HTTP、RMI/IIOP、および JMS ロードバランスシステムは、クラスタ内の正常な Application Server インスタンスに要求を分散させます。
高可用性 - 可用性 はフェイルオーバー機能を指します。1 台のサーバーインスタンスが停止すると、クラスタの別のサーバーインスタンスが、障害が発生したインスタンスのセッションを引き継ぎ、クライアントへのサービスをシームレスに続行します。セッションの情報は、高可用性データベース (HADB) に格納されます。HADB は、持続的な HTTP セッションとステートフルセッション Beans をサポートします。
ここでは、図 1–1 に示す Application Server のハイレベルアーキテクチャーについて説明します。
コンテナ - コンテナは、J2EE コンポーネントのセキュリティーやトランザクション管理などのサービスを提供する実行環境です。図 1–1 は、2 つのタイプの J2EE コンテナ、Web および EJB を示しています。JSP ページやサーブレットなどの Web コンポーネントは、Web コンテナ内で実行されます。Enterprise Java Beans は EJB コンテナ内で実行されます。
クライアントアクセス - 実行時に、ブラウザクライアントはインターネット上で使われているプロトコルである HTTP で Web サーバーと通信することにより Web アプリケーションにアクセスします。HTTPS プロトコルは、セキュア通信を必要とするアプリケーションのためにあります。Enterprise Java Bean クライアントは、IIOP または IIOP/SSL (セキュア) プロトコルを介して ORB (Object Request Broker) と通信します。Application Server には、HTTP、HTTPS、IIOP、および IIOP/SSL プロトコル用の別個のリスナーがあります。各リスナーは、固有のポート番号を排他的に使用しています。
Web サービス - J2EE プラットフォームでは、Java API for XML-Based RPC (JAX-RPC) によって実装された Web サービスを提供する Web アプリケーションを配備できます。J2EE アプリケーションやコンポーネントは、ほかの Web サービスのクライアントにすることもできます。アプリケーションは Java API for XML Registries (JAXR) を介して XML レジストリにアクセスします。
アプリケーションのサービス - J2EE プラットフォームは、コンテナがアプリケーションのサービスを提供するように設計されています。図 1–1 は、次のサービスを示しています。
トランザクション管理 - トランザクションは作業の分割不能な単位です。たとえば、銀行口座間での資金の振り替えがトランザクションにあたります。トランザクション管理サービスは、トランザクションが完全に終了するか、またはロールバックされるようにします。
J2EE プラットフォームでは、アプリケーションがアプリケーションサーバーの外部にあるシステムにアクセスできます。アプリケーションは、リソースと呼ばれるオブジェクトを介してこれらのシステムにアクセスします。管理者はリソース設定を行う必要があります。J2EE プラットフォームでは、次の API およびコンポーネントを介して外部システムにアクセスできます。
JDBC - データベース管理システム (DBMS) は、データの格納、編成、および検索機能を提供します。大部分のビジネスアプリケーションは、アプリケーションが JDBC API 経由でアクセスするリレーショナルデータベースにデータを格納します。データベース内の情報は、多くの場合、持続性があるとされています。これは、ディスク上に保存され、アプリケーションを終了した後も存在するためです。Application Server バンドルには、Java DB データベース管理システムが含まれています。
メッセージング - メッセージングは、ソフトウェアコンポーネント間またはアプリケーション間の通信メソッドです。メッセージングクライアントは、ほかのどのクライアントともメッセージの送受信を行います。アプリケーションは Java Messaging Service (JMS) API を介してメッセージングプロバイダにアクセスします。Application Server には JMS プロバイダが組み込まれています。
コネクタ - J2EE コネクタアーキテクチャーでは、J2EE アプリケーションと既存のエンタープライズ情報システム (EIS) との統合が可能です。アプリケーションは、コネクタまたはリソースアダプタと呼ばれる移行可能な J2EE コンポーネントを介して EIS にアクセスします。
JavaMail - JavaMail API を介して、アプリケーションは電子メールを送受信するために SMTP サーバーに接続します。
サーバー管理 - 図 1-1 の右下に、Application Server の管理インタフェースを示しています。管理ツールはこれらのインタフェースを使用して、Application Server と通信します。
Sun Java System Application Server の管理にはさまざまなツールと API を使用できます。
管理コンソールは、ナビゲートしやすいインタフェースとオンラインヘルプを装備したブラウザベースのツールです。管理コンソール を使用するには、管理サーバー (ドメイン管理サーバーまたは DAS とも呼ばれる) が稼動している必要があります。管理コンソールを起動するには、管理サーバーのホスト名とポート番号が必要です。デフォルトの管理サーバーのデフォルトの管理サーバーポート番号は 4849 です。さらに、管理コンソールにログインするには、管理ユーザー名とパスワードが必要です。詳細については、該当する節を参照してください。
管理コンソールを起動するには、Web ブラウザで次のように入力します。
https://hostname:port |
次に例を示します。
https://kindness.sun.com:4849 |
管理コンソール を管理サーバーが稼動しているマシンで実行する場合は、ホスト名として localhost を指定できます。
Windows で、「スタート」メニューから「Application Server 管理コンソール」を起動します。
asadmin ユーティリティーは Sun Java System Application Server のコマンド行インタフェースです。管理コンソール で提供されている一連の同じ管理タスクを実行できます。asadmin ユーティリティーは、シェルでコマンドプロンプトから起動するか、ほかのスクリプトやプログラムから呼び出すことができます。asadmin ユーティリティーは install-dir/bin ディレクトリにインストールされます。Solaris でのデフォルトの Sun Java System Application Server インストールのルートディレクトリは /opt/SUNWappserver です。
asadmin ユーティリティーを起動するには、install-dir/bin ディレクトリに移動し、次のように入力します。
$ asadmin |
asadmin 内で使用可能なコマンドを一覧表示するには、次のように入力します。
asadmin> help |
シェルのコマンドプロンプトで、asadmin コマンドを次のように実行することもできます。
$ asadmin help |
コマンドの構文と例を表示するには、help のあとにコマンド名を入力します。次に例を示します。
asadmin> help create-jdbc-resource |
指定したコマンドの asadmin help 情報が、コマンドの UNIX マニュアルページに表示されます。これらのマニュアルページは、Web の 『Sun Java System Application Server Enterprise Edition 8.2 Reference Manual』で HTML でも入手できます。
Java 2 Platform Standard Edition 5.0 では、Java 監視および管理コンソール (JConsole) が導入されました。JConsole は Sun Java System Application Server の監視に使用します。JConsole の「リモート」タブまたは「詳細」タブを使用して、Application Server に接続できます。
「リモート」タブ: ユーザー名、パスワード、管理サーバーホスト、および JMS ポート番号 (デフォルトで 8686) を識別し、「接続」を選択します。
「詳細」タブ: JMXServiceURL をサービス (jmx:rmi:///jndi/rmi://host:jms-port/jmxrmi) として識別し、「接続」を選択します。JMXServerURL は server.log ファイルに書き込まれるほか、ドメイン作成コマンドのコマンドウィンドウに出力されます。
Application Server Management Extension は、すべての Application Server 設定を表示する API であり、AMX インタフェースを実装する、使いやすいクライアント側の動的なプロキシとして JMX 管理対象 Beans を監視しています。
Application Server Management Extension の使用の詳細については、『Sun Java System Application Server Enterprise Edition 8.2 Developer’s Guide』の第 16 章「Using the Java Management Extensions (JMX) API」を参照してください。