Sun JavaTM System Application Server Platform Edition 9.0 Update 1 は、Java EE アプリケーションおよび Java テクノロジベースの Web サービスの開発と配備に利用できる Java EE 5 プラットフォーム互換サーバーです。
この節では、次の点を説明します。
Sun Java System Application Server Platform Edition 9.0 Update 1 は、次に示す多くの新機能を実装しています。
Java EE 5 プラットフォームのサポート — Sun Java System Application Server Platform Edition 9.0 Update 1 では、Java EE 5 仕様を実装して、次世代のエンタープライズアプリケーションおよび Web サービスにもっとも適したアプリケーションランタイムの 1 つを実現します。Application Server 9.0 Update 1 は、次の Java EE 標準を実装しています。
Enterprise Java Beans 3.0
JAXB 2.0
Java Persistence
Java Server Faces 1.2
Java Server Pages 2.1 (JSP 2.1)
Java Server Pages Standard Tag Library (JSTL) 1.2
Streaming API for XML (StAX)
Web Services Metadata
Java API for XML based Web Services 2.0 (JAX-WS 2.0)
Common Annotations for the Java Platform 1.0 (CAJ 1.0)
Java Servlet 2.5
一連のすべての Java EE 5 プラットフォームテクノロジについて、このノートの 「Java EE 5 プラットフォームの API」で後述します。
開発者の生産性の向上 — Application Server 9.0 Update 1 は、オープンモジュール方式の拡張可能なアーキテクチャーと、軽量でメモリー占有率が低くパフォーマンスが高いランタイムにより、開発者の操作性を高めます。アプリケーション配備の迅速化により、反復的なアプリケーション開発をすばやく簡単に行えます。製品を一般的な IDE に簡単に統合できます。NetBeans と Sun Java Studio Creator が Application Server 9.0 Update 1 と統合し、優れた開発環境を実現します。
Java 2 Standard Edition 5.0 のサポート — Application Server 9.0 Update 1 は、管理および監視のための拡張機能とパフォーマンスおよびスケーラビリティーについての改善点を数多く含む Java 2 Standard Edition 5.0 をサポートしています。
高度な管理 — Application Server 9.0 Update 1 では、ブラウザベースの管理コンソールとスクリプト処理可能なコマンド行インタフェースとを使用して、セキュリティー保護されたリモート管理を実現します。新しい管理コンソール機能を次に示します。
Web サービスの検出、管理、監視、プロビジョニングなど、総合的な Web サービス管理サポート。
アプリケーションの監視、視覚化、および診断の強化。
JMX を使用したセキュリティー保護されたプログラムによるリモート管理および監視を実現するための JMX MBean API。
プログラムによって拡張可能な管理ルールおよびトリガーの組み込み。
プラットフォームのサポート — Application Server 9.0 Update 1 は、幅広いオペレーティングシステム、データベース、Web サーバー、ロケール、およびハードウェアをサポートします。すべてのリストについては、このノートで後述する 「プラットフォーム要件」を参照してください。
64 ビットサポート — Application Server 9.0 Update 1 では、64 ビット版 Solaris オペレーティングシステムのサポートが追加されました。
Java Web Services Developer Pack との統合 — Application Server 9.0 Update 1 は、Web Services Metadata 1.0 (Web サービスの注釈を指定)、JAX-WS 2.0 (Java プラットフォーム用の Web サービス API を指定)、JAXB 2.0 (Java と XML のバインディングを指定) などの最新の Web サービス標準をサポートするために、Java Web Services Developer Pack (Java WSDP) 2.0 と統合されました。さらに、Java Business Integration (JBI) 標準に基づいた Java EE サービスエンジンを組み込んでいます。
JMS 接続 — Application Server 9.0 Update 1 は、IBM MQ シリーズおよび Sun Java System Message Queue Server との接続を内蔵しています。
長期継続トランザクション — Application Server 9.0 Update 1 では、長期継続の分散トランザクションのサポートが追加されました。
JDBCTM ドライバ — Application Server 9.0 Update 1 では、どのデータベースサーバーへの接続にも JDBC ドライバを使用します。Java EE 互換のデータベースを構成するコンポーネントとして Sun がテストし基準を満たすと判断したもののリストについては、このノートで後述する 「JDBC ドライバとデータベース」を参照してください。Application Server には、配備に使用できる主要なデータベース用の DataDirectTM JDBC ドライバを含みます。
Java DB データベース — Application Server 9.0 Update 1 は、Apache Derby データベースに基づいた Java DB データベースをバンドルしており、エンドツーエンドの Java EE アプリケーションの開発と配備を可能にします。
呼び出しフロー監視 — Application Server 9.0 Update 1 は、着信要求がアプリケーションサーバー内のさまざまなコンテナおよびユーザーアプリケーションコードを通過する際に、それを監視するように設定できます。たとえば、Application Server は、Web コンテナ、Web アプリケーションコード、EJB コンテナ、および EJB アプリケーションコード内で経過する時間を分析できます。収集した情報はデータベース内に格納され、その後クエリーや分析に利用できます。
自己管理ルール — Application Server 9.0 Update 1 は、アプリケーションサーバーの管理タスクを自動化するための、強力で柔軟なインフラストラクチャーを備えています。自己管理ルールは、イベントとアクションから構成されます。イベントには、メッセージログ記録、しきい値の監視、タイマー、JMX 通知などがあります。アクションとはユーザーが定義したロジックであり、これはその後 JMX MBean でカプセル化されます。イベントがトリガーされ、このイベントが自己管理ルールで定義されたいずれかのイベントに一致した場合、関連付けられたアクションが実行されます。たとえば、管理者は、SEVERE メッセージがアプリケーションサーバーのログに記録されたときに電子メールを受信するように管理ルールを定義できます。
移行ツールとアップグレードツール — 含まれているツールを使用して、Java EE アプリケーションの標準への適合性と移植性について確認できます。また、これらのツールは、ほかの Java EE アプリケーションサーバー (JBoss、WebLogic、WebSphere) からの移行と、以前のバージョンの Sun の Application Server からのアップグレードに役立ちます。これらの移行ツールは、http://java.sun.com/j2ee/tools/migration/index.html でも個別に入手できます。
オープンソースおよび GlassFish コミュニティー — 2005 年 6 月、Sun は、Java EE 5 プラットフォームの最新機能とそれに関連したエンタープライズテクノロジを実装した、無償でオープンソースの商用レベルのアプリケーションサーバーを開発することを目標として、GlassFish コミュニティーを立ち上げました。Application Server Platform Edition 9.0 Update 1 は、Sun の技術者と GlassFish コミュニティーが開発したソースコードを基盤に作成されています。
ここでは、Sun Java System Application Server Platform Edition 9.0 Update 1 製品をインストールする前に満たしている必要のある要件を示します。
次の表に、Sun Java System Application Server Platform Edition 9.0 Update 1 製品と互換性があるオペレーティングシステムを示します。
表 2–1 サポートされるオペレーティングシステム
オペレーティングシステム |
最小メモリー |
推奨メモリー |
最小ディスク容量 |
推奨ディスク容量 |
JVM |
---|---|---|---|---|---|
Sun Solaris 9、10 (SPARC) Solaris 9、10 (x86) |
512M バイト |
512M バイト |
250M バイトの空き領域 |
500M バイトの空き領域 |
J2SE 5.0 Java SE 6 (利用可能な場合) |
64 ビット版 Sun Solaris 10 (SPARC、x86) |
512M バイト |
512M バイト |
250M バイトの空き領域 |
500M バイトの空き領域 |
J2SE 5.0 Java SE 6 (利用可能な場合) |
Redhat Enterprise Linux 3.0 U1、4.0 |
512M バイト |
1G バイト |
250M バイトの空き領域 |
500M バイトの空き領域 |
J2SE 5.0 Java SE 6 (利用可能な場合) |
Windows Server 2000 SP4+ Windows 2000 Advanced Server SP4+ Windows Server 2003 Windows XP Pro SP1+ |
1G バイト |
2G バイト |
500M バイトの空き領域 |
1G バイトの空き領域 |
J2SE 5.0 Java SE 6 (利用可能な場合) |
UNIXTM では、オペレーティングシステムのバージョンを uname コマンドで確認できます。ディスク容量は df コマンドで確認できます。
Microsoft Windows プラットフォームで Application Server を実行している場合は、FAT や FAT32 ではなく NTFS ファイルシステムを使用する必要があります。
システムの仮想化は、複数のオペレーティングシステム (OS) インスタンスを共用ハードウェア上で個別に実行できるようにするテクノロジです。機能的にいうと、仮想化された環境でホストされる OS に配備されたソフトウェアは、通常はベースとなるプラットフォームが仮想化されていることを認識しません。Sun では、精選されたシステムの仮想化と OS の組み合わせについて、その Sun Java System 製品のテストを行っています。これは、Sun Java System 製品が、適切な規模と構成の仮想化された環境で、仮想化されていないシステム上の場合と同様に引き続き機能することを実証するためのテストです。仮想化された環境における Sun Java System 製品のサポートについては、System Virtualization Support in Sun Java System Products を参照してください。
Solaris 9 または 10 (x86 または SPARC) を使用する場合には、「Sun 推奨パッチクラスタ」をインストールすることをお勧めします。このパッチクラスタは SunSolve Web サイトの「推奨 & セキュリティーパッチ」から入手できます。
表 2–2 に、Java EE の互換性要件を満たすデータベースとドライバを示します。サポートされるすべての Sun Java System Application Server Platform Edition の構成では、バンドル版 Java DB データベースとドライバなどの、この表に基づくデータベースとドライバの組み合わせを少なくとも 1 つ含める必要があります。さらに、Application Server は、対応する JDBC ドライバを使用してほかのどの DBMS に対する JDBC 接続もサポートするように設計されています。
表 2–2 Java EE 互換の JDBC ドライバ
JDBC ドライバベンダー |
JDBC ドライバのタイプ |
サポートされるデータベースサーバー |
---|---|---|
Java DB ネットワーククライアント |
Type 4 |
Apache Derby 10.1 |
DataDirect 3.5 |
Type 4 |
Oracle 9i、10g |
IBM DB2 |
Type 2 |
DB2 (8.2) |
表 2–3 に、Sun が内部的にテストしたその他のデータベースとドライバをすべて示します。
表 2–3 サポートされるその他の JDBC ドライバとデータベース
JDBC ドライバベンダー |
JDBC ドライバのタイプ |
サポートされるデータベースサーバー |
---|---|---|
DataDirect 3.5 |
Type 4 |
Sybase ASE 12.5、15 Microsoft SQL Server 2000、2005 IBM DB2 8.1、8.2 |
Microsoft MS SQL |
Type 4 |
SQLServer 2000、2005 |
MySQL Connector/J Driver 3.1 |
Type 4 |
MySQL 5 |
Oracle |
Type 4 |
Oracle 9i、10g |
Postgres |
Type 4 |
Postgres 8.1 |
Sybase |
Type 4 |
ASE 12.5、15 |
通常、Application Server Platform Edition 9.0 Update 1 は、Java EE 仕様に適合するすべての JDBC ドライバをサポートします。
この節では、Application Server 9.0 Update 1 にバンドルされている Java DB データベースの実装を使用する手順について説明します。Java DB は、Apache Derby データベース を基盤としています。
Sun Java System Application Server 9.0 Update 1 には、Java DB Network Server の開始と停止を行うための 2 つの新しい asadmin コマンドが導入されています。
Java DB Network Server のインスタンスを開始するには、asadmin start-database コマンドを使用します。
start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome path] |
ホストのデフォルト値は 0.0.0.0 です。この値によって、Java DB は IP/ホスト名のインタフェースと同様に localhost で待機できます。dbhome プロパティーの値は、Java DB データベースの格納場所です。デフォルトの path は、appserver_install_dir/javadb です。
Java DB Network Server の実行中のインスタンスを停止するには、次のように asadmin stop-database コマンドを使用します。
stop-database [--dbhost 0.0.0.0] [--dbport 1527] |
Application Server 9.0 Update 1 とともに出荷される Java DB の構成には、Java DB の使用に役立つ便利なスクリプトも含まれます。<appserver_install_dir> /javadb/frameworks/NetworkServer/bin ディレクトリには、次の使用可能なスクリプトがあります。
startNetworkServer.ksh/bat : ネットワークサーバーを開始するスクリプト
stopNetworkServer.ksh/bat : ネットワークサーバーを停止するスクリプト
ij.ksh/bat : 対話式の JDBC スクリプト記述ツール
dblook.ksh/bat : データベースの DDL の全部または一部を表示するスクリプト
sysinfo.ksh/bat : Java DB 環境に関するバージョン情報を表示するスクリプト
NetworkServerControl.ksh/bat : NetworkServerControl API でコマンドを実行するためのスクリプト
<appserver_install_dir>/javadb ディレクトリをポイントするように、DERBY_INSTALL 環境変数を設定します。
CLASSPATH 環境変数の設定を解除します。
次のプロパティーを設定することもできます。
これらのユーティリティーの詳細については、Derby のツール および Admin に関するガイドを参照してください。
この例は、コマンダの Pointbase テーブルの DDL をキャプチャーし、NetBeans 5.0 を使用して Java DB に同じテーブルを作成する方法を示しています。これと同じ事を行うには、コマンダツールと unload database コマンドを使用する方法もあります。
./startcommander.sh Do you wish to create a new Database. (Yes (Y) or No (N))? [default: N]: Enter product to connect with: (Embedded (E) or Server (S))? [default: E]: e Enter driver to use? [default: [com.pointbase.jdbc.jdbcUniversalDriver]: Enter database URL? [default: [jdbc:pointbase:embedded:sample]: Enter Username? [default: PBPUBLIC]: Enter Password? [default: PBPUBLIC]: PointBase Commander 5.2 ECF build 294 size restricted version EMBEDDED Interactive SQL command language. SunOS/5.9 (C) Copyright 2004 DataMirror Mobile Solutions, Inc. All rights reserved. Licensed to: Sun_customer_demo_use For commercial version contact PointBase at: pointbase.com PHONE: 1-877-238-8798 (US & CANADA) 1-408-961-1100 (International) WEBSITE: www.pointbase.com SQL>unload database sampledb.sql; SQL> unload database sampledb.sql; SQL> 13 Row(s) Unloaded. (PBPUBLIC.CUSTOMER_TBL) SQL> 4 Row(s) Unloaded. (PBPUBLIC.DISCOUNT_CODE_TBL) SQL> 30 Row(s) Unloaded. (PBPUBLIC.MANUFACTURE_TBL) SQL> 11 Row(s) Unloaded. (PBPUBLIC.MICRO_MARKETS_TBL) SQL> 9 Row(s) Unloaded. (PBPUBLIC.OFFICE_TBL) SQL> 4 Row(s) Unloaded. (PBPUBLIC.OFFICE_TYPE_CODE_TBL) SQL> 15 Row(s) Unloaded. (PBPUBLIC.ORDER_TBL) SQL> 6 Row(s) Unloaded. (PBPUBLIC.PRODUCT_CODE_TBL) SQL> 30 Row(s) Unloaded. (PBPUBLIC.PRODUCT_TBL) SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_DATA_TBL) SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_TBL) SQL> 52 Row(s) Unloaded. (PBPUBLIC.SALES_TAX_CODE_TBL) SQL> 12 Table(s) Unloaded. SQL> quit;
この例の unload database コマンドを実行した結果は、sampledb.sql ファイルに書き込まれます。sampledb.sql ファイルには、必要なテーブルとインデックスを作成するために必要となる DDL がすべて含まれています。また、データベースにデータを挿入しなおすための DML も含まれます。コマンダの RUN コマンドは、生成されたスクリプトを使用して別の Pointbase データベースにデータをインポートするために使用されます。生成されたファイル内の INSERT 文と関連するデータの例を次に示します。
INSERT INTO "ADVENTURE"."CATEGORY" ( "CATID", "LOCALE", "NAME", "DESCRIPTION", "IMAGEURI" ) VALUES( ?, ?, ?, ?, ? ); { 'ISLAND ','en_US','Island Adventures','Experience an island / paradise in a way fit for your needs.','Island_Adventures.gif' 'JUNGLE ','en_US','Jungle Adventures','Experience a jungle / paradise in a way fit for your needs.','Jungle_Adventures.gif' 'MOUNTAIN ','en_US','Mountain Adventures','Experience an / elevated paradise with a view.','Mountain_Adventures.gif' 'ORBITAL ','en_US','Orbital Adventures','Experience a vacuum / paradise with a beautiful view and where no one can hear you scream.', / 'Space_Adventures.gif' 'WESTERN ','en_US','Western Adventures','Enjoy the Wild West. / ','Western_Adventures.gif' 'SOUTH_POLE ','en_US','South Pole Adventures','Experience a / frozen paradise in a way fit for your needs.','SouthPole_Adventures.gif' };
コマンダの unload database コマンドによって生成されたファイルを、DDL だけで構成されるように簡単に編集できます。たとえば、insert 文を処理するプログラムを記述することは難しくありません。簡単なテストとして、Pointbase sample データベースに対して unload database コマンドを使用し、生成されたスクリプトを編集して次のように変更します。
すべての CREATE Table 文の末尾から Organization Heap という部分を削除します。
COMMIT コマンドを削除します。
ブール値 datatype を smallint に変更します。
すべての INSERT 文とそれに関連するデータを削除します。
次に、簡単な Ant スクリプトを使用し、sql ターゲットを使用して DDL を実行します。最後に、sun-appserv-samples データベースに対して同じ試行を繰り返します。このとき、生成された SQL ファイルに次の変更を追加する必要があります。
サンプルのデータベースに対して、ここで説明した変更をすべて加えます。
create user コマンドを削除します。
SET PATH コマンドを削除します。
Decimal の精度を 38 から 31 以下に変更します。
float の精度を 64 から 52 以下に変更します。
CREATE PROCEDURE コマンドの SPECIFIC キーワードは現在サポートされていません。
GRANT コマンドを削除します。
Pointbase の Java プロシージャーを Java DB で動作するように変換するには、CREATE PROCEDURE 文と同様に Java コードも変更する必要があります。Java DB の Java プロシージャーの詳細については、Derby Reference manual を参照してください。Boolean データ型は、次期リリースの Java DB でサポートされる予定です。
この節では、Sun Java System Application Server Platform Edition 9.0 Update 1 管理コンソールおよび『Quick Start Guide』でサポートされるブラウザを示します。Application Server 上のアプリケーションの実行時にサポートされるブラウザは、実行中のアプリケーションによって異なります。
表 2–4 サポートされるブラウザ
ブラウザ |
バージョン |
---|---|
Mozilla |
1.4、1.5、1.6、1.7、1.8 |
Netscape Navigator |
6.2、7.0 |
Internet Explorer |
5.5 Service Pack 2、6.0 |
Firefox |
1.5 |
以前のバージョンの Application Server から Sun Java System Application Server Platform Edition 9.0 Update 1 にアップグレードするための詳細な手順については、『Sun Java System Application Server Platform Edition 9 Upgrade and Migration Guide』を参照してください。
Sun Java System Application Server ソフトウェアをインストールする前に、次の追加の要件が満たされるようにしてください。
空き容量: 一時ディレクトリに、Sun Java System Application Server のインストール用に少なくとも 200M バイトの空き領域と、SDK のインストール用に 250M バイトの空き領域が必要です。
アンインストーラの使用: システムから Application Server を削除する場合、ソフトウェアに含まれるアンインストーラを使用することが重要です。ほかの方法を使用して削除すると、同じバージョンの再インストールや新しいバージョンのインストールを行うときに問題が発生する可能性があります。
使用可能なポート: 未使用のポートが 7 つ必要です。
インストールプログラムは、使用されているポートを自動的に検出し、その時点で未使用のポートをデフォルトの設定として示します。デフォルトでは、HTTP については 8080、HTTPS については 8181、Administration Server については 4848 が初期デフォルトポートです。
インストールプログラムは、使用されているポートを検出し、それ以外の 2 つのポートを割り当てます。1 つは Sun JavaTM System Message Queue (デフォルトで 7676)、もう 1 つは IIOP (デフォルトで、IIOP については 3700 および IIOP/SSL については 3820 と 3890) です。これらのデフォルトポート番号が使用されている場合、インストールプログラムは動的ポートの範囲から無作為にポート番号を割り当てようとします (これは利用可能な次のポート番号とはかぎらない点に注意)。
インストール済みサーバーの起動 (UNIX) : インストール済みサーバーを置き換える場合以外は、Sun Java System Application Server 9.0 Update 1 のインストール処理を開始する前に、インストール済みサーバーを起動してください。インストールプログラムが使用中のポートを検出するため、使用中のポートがほかの目的に使用されることはありません。
インストール済みサーバーの置き換え (UNIX) : 古いバージョンの Sun Java System Application Server がインストールされており、それを現在のバージョンの Application Server に置き換える場合は、新しいサーバーをインストールする前に、インストール済みサーバーを停止してください。
ファイアウォールのシャットダウン (Microsoft Windows) – Sun Java System Application Server ソフトウェアをインストールする前に、すべてのファイアウォールソフトウェアを停止する必要があります。一部のファイアウォールソフトウェアはデフォルトですべてのポートを無効にするからです。インストールプログラムは、使用可能なポートを正確に検出できる必要があります。
互換性の詳細については、『Sun Java System Application Server Platform Edition 9 Upgrade and Migration Guide』を参照してください。
Sun Java System Application Server Platform Edition 9.0 Update 1 は、Java EE 5 プラットフォームをサポートしています。Java EE 5 プラットフォームで使用できる拡張 API を、次の表に示します。
表 2–5 Java EE 5 プラットフォームの主要な API の変更点
API |
JSR |
---|---|
Java EE 5 |
|
Web サービステクノロジ |
|
エンタープライズ Web サービスの実装 | |
Java API for XML-Based Web Services (JAX-WS) 2.0 | |
Java API for XML-Based RPC (JAX-RPC) 1.1 | |
SOAP with Attachments API for Java (SAAJ) | |
Java プラットフォーム用 Web サービスメタデータ | |
コンポーネントモデルテクノロジ |
|
管理テクノロジ |
|
その他の Java EE テクノロジ |
|
Common Annotations for the Java Platform | |
Sun Java System Application Server 9.0 Update 1 は、Java EE 5 SDK の一部として使用できます。
Java EE 5 SDK には、次の 2 つのバージョンがあります。
さらに、これらの SDK 配布を JDK または NetBeans 5.5 ツールとともにダウンロードすることもできます。詳細については、http://java.sun.com/javaee/downloads/index.jsp のダウンロードページにアクセスしてください。
Sun Java System Application Server 9.0 Update 1 には、配下の JVM として J2SE 5.0 以降が必要です。Java を別のバージョンに切り替える場合は、次の一般的な手順に従います。(Windows および Unix)
必要に応じて、Java SDK (JRE ではない) をダウンロードしてインストールします。
Java SDK は、http://java.sun.com/j2se からダウンロードできます。
Application Server を完全に停止します。
次のコマンド行が使えます。
as-install/bin/asadmin stop-domain |
または、管理コンソールの GUI で次の手順に従います。
install_dir/config/asenv.conf ファイル (Windows では asenv.bat) を編集して、新しい J2SE のホームディレクトリをポイントするように AS_JAVA の値を変更します。
as-install/samples/common.properties ファイルを編集して、J2SE の新しいホームディレクトリを参照するように com.sun.aas.javaRoot... で始まる行を変更します。
Application Server を再起動します。
as-install/bin/asadmin start-domain |