Sun JavaTM System Application Server Platform Edition 8.2 は、J2EE アプリケーションおよび Java テクノロジベースの Web サービスの開発と配備に利用できる J2EE 1.4 プラットフォーム互換サーバーです。
この章には、次の内容が含まれます。
Sun Java System Application Server Platform Edition 8.2 は、次に示す多くの新機能を実装しています。
J2EE 1.4 互換性。
(改良点) NetBeans 5 の利用と、配備速度、実行時占有領域、および起動時間の向上 によって、開発者に卓越した環境を提供。NetBeans 5.0 には、デフォルトの J2EE ランタイムとして Application Server 8.2 が含まれます。
(新規) マルチコア/マルチスレッドのアーキテクチャーをサポートする優れたスループット性能とスケーラビリティー。
(新規) Fast Infoset のサポートにより、Web サービスのパフォーマンスが何倍も向上。
(新規) Application Server 8.2 では、新たに Red Hat 4 および My SQL5 をサポート。サポートされるオペレーティングシステムとデータベースドライバの一覧については、「ハードウェアとソフトウェアの要件」を参照してください。
(新規) 配備可能な Derby データベースを Application Server 8.2 にバンドル。これにより、エンドツーエンドの J2EE アプリケーションの開発と配備が可能です。
(新規) 組み込み JMS リソースアダプタによるバックエンドシステムとの容易な接続。Application Server 8.2 は、IBM MQ シリーズと Sun の MQ Server との接続をサポートします。
(更新) J2EE 1.4 ブループリントの拡張。Application Server 8.2 で AJAX などの Web 2.0 テクノロジを使用する例を紹介しています。
JavaServer Faces のサポート: 開発者は、再利用可能な UI コンポーネントをページ内でアセンブルし、それらコンポーネントをデータソースに接続し、クライアント側で生成されるイベントをサーバー側のイベントハンドラに結びつけることで、Web アプリケーションをすばやく構築できます。
改良された管理コンソール: Application Server 8.2 の管理コンソールには、JNDI ネームスペースブラウザ、JDBC 接続検証、開発記述子ビューア、エラーログビューア、拡張監視などの機能による新しい表示と操作性が追加されています。
Web サービスセキュリティー: コンテナメッセージセキュリティー機構により、OASIS WS-Security 標準の X509 およびユーザー名/パスワードのプロファイルを使用した SOAP Web サービスの呼び出しに関するメッセージレベルでの認証 (XML デジタル署名と暗号化など) を実現しています。
JavaServer Pages Standard Tag Library 1.1 のサポート: 多くの JSP アプリケーションに共通するコア機能をカプセル化したライブラリ。
(更新) J2SE 5.0_06 をバンドル。
Sun Java System Application Server Platform Edition の開発、配備、および再頒布は自由に行うことができます。再頒布を検討している場合は、再頒布ライセンスについて Sun OEM sales にお問い合わせください。サポートを受けるには、追加料金が必要となります。Java 2 Platform, Enterprise Edition のライセンスについてお問い合わせいただく場合は、このフォーム にご記入ください。
この節では、Sun Java System Application Server Platform Edition 8.2 製品をインストールする前に満たしている必要のある要件を示します。
次の表に、Sun Java System Application Server Platform Edition 8.2 製品でサポートされているオペレーティングシステムを示します。
表 2–1 サポートされるオペレーティングシステム
オペレーティングシステム |
最小メモリー |
推奨メモリー |
最小ディスク容量 |
推奨ディスク容量 |
JVM |
---|---|---|---|---|---|
Sun Solaris 9、10 (SPARC) Solaris 9、10(x86) |
512M バイト |
512M バイト |
250M バイトの空き領域 |
500M バイトの空き領域 |
J2SE 1.4.2_10、J2SE 5_06 |
Sun Java Desktop System |
512M バイト |
1G バイト |
250M バイトの空き領域 |
500M バイトの空き領域 |
J2SE 1.4.2_10、J2SE 5_06 |
Redhat Enterprise Linux 3.0 U1、4.0 |
512M バイト |
1G バイト |
250M バイトの空き領域 |
500M バイトの空き領域 |
J2SE 1.4.2_10、J2SE 5_06 |
Windows Server 2000 SP4+ Windows 2000 Advanced Server SP4+ Windows Server 2003 Windows XP Pro SP1+ |
1G バイト |
2G バイト |
500M バイトの空き領域 |
1G バイトの空き領域 |
J2SE 1.4.2_10、J2SE 5_06 |
UNIXTM では、オペレーティングシステムのバージョンを uname コマンドで確認できます。ディスク容量は df コマンドで確認できます。
Microsoft Windows プラットフォームで Application Server を実行している場合は、FAT や FAT32 ではなく NTFS ファイルシステムを使用する必要があります。
現時点で Sun Java System Application Server Platform Edition 8.2 に必要なパッチについては、http://sunsolve.sun.com にアクセスして「Patches」または「Patch Portal」を選択してください。Sun Java System Application Server Platform Edition 8.2 のリンクをたどります。オペレーティングシステムのパッチ要件が変わって Java Enterprise System コンポーネントに対するパッチが利用可能になると、最初は推奨パッチクラスタとして SunSolve からアップデートが入手可能になります。
Solaris 8、9、または 10 (x86 または SPARC) を使用する場合には、「Sun 推奨パッチクラスタ」をインストールすることをお勧めします。このパッチクラスタは SunSolve Web サイトの「推奨 & セキュリティーパッチ」から入手できます。
インストーラをはじめとして、この製品のネイティブコンポーネントを実行するには、標準の RedHat Enterprise Linux 3.0 ディストリビューションには含まれていないパッケージ compat-libstdc++-7.3-2.96.118.i386.rpm をインストールする必要があります。このパッケージは、http://rpm.pbone.net/index.php3/stat/4/idpl/843376/com/compat-libstdc++-7.3-2.96.118.i386.rpm.html からダウンロードできます。
Sun Java System Application Server Platform Edition は、対応する JDBC ドライバを備えた任意の DBMS への接続をサポートするように設計されています。Sun によるテストが行われ、J2EE と互換性のあるデータベース設定の構築に使用できると確認されたコンポーネントを、次の表に示します。
表 2–2 J2EE 準拠の JDBC ドライバ
JDBC ベンダー |
JDBC ドライバのタイプ |
サポートされるデータベースサーバー |
---|---|---|
i-net Software |
Type 4 |
Oracle (R) 8.1.7、9i、9.2.0.3+、10.1.x、10.2. x Sybase ASE 12.5 Microsoft SQL Server 2000 4.0 Service Pack 1 |
IBM |
Type 2 |
IBM DB2 8.1 Service Pack 3+ |
Derby |
Type 4 |
Apache Derby 10.1.2.1 |
PointBase |
Type 4 |
PointBase Network Server 5.2 |
MySQL |
Type 4 |
5.x |
DataDirect |
Type 4 |
Oracle (R) 8.1.7、9i、9.2.0.3+、10.1.x、10.2. x Sybase ASE 12.5.2 Microsoft SQL Server IBM DB2 8.1 Service Pack 3+ |
Oracle |
Type 4、Type 2 |
Oracle (R) 9.2.0.3+、10.1.x、10.2.x |
この節では、Application Server 8.2 にバンドルされている Derby データベースの実装を使用する手順について説明します。
Sun Java System Application Server 8.2 には、Derby Network Server の開始と停止を行うための 2 つの新しい asadmin コマンドが導入されています。
start-database コマンドを使用すると、Derby Network Server のインスタンスを起動できます。
start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome path/derby] |
ホストのデフォルト値は 0.0.0.0 です。この値によって、Derby は IP/ホスト名のインタフェースと同様に localhost で待機できます。dbhome プロパティーの値は、Derby データベースの格納場所を示しています。デフォルトの path は <appserver_install_dir>/derby です。
asadmin stop-database コマンドを使用すると、実行中の Derby ネットワークサーバーのインスタンスをシャットダウンできます。
stop-database [--dbhost 0.0.0.0] [--dbport 1527] |
Application Server 8.2 とともに出荷される Derby の構成には、Derby の使用に役立つ便利なスクリプトも含まれます。<appserver_install_dir> /derby/frameworks/NetworkServer/bin ディレクトリには、次の使用可能なスクリプトがあります。
startNetworkServer.ksh/bat : ネットワークサーバーを開始するスクリプト
stopNetworkServer.ksh/bat : ネットワークサーバーを停止するスクリプト
ij.ksh/bat : 対話式の JDBC スクリプト記述ツール
dblook.ksh/bat : データベースの DDL の全部または一部を表示するスクリプト
sysinfo.ksh/bat : Derby 環境に関するバージョン情報を表示するスクリプト
NetworkServerControl.ksh/bat : NetworkServerControl API でコマンドを実行するためのスクリプト
<appserver_install_dir>/derby ディレクトリをポイントするように、DERBY_INSTALL 環境変数を設定します。
CLASSPATH 環境変数の設定を解除します。
次のプロパティーを設定することもできます。
これらのユーティリティーの詳細については、Derby のツール および Admin に関するガイドを参照してください。
この例は、Pointbase のテーブルの DDL をキャプチャーし、Netbeans 5.0 を使用して Derby に同じテーブルを作成する方法を示しています。これと同じ事を行うには、コマンダツールと 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 プロシージャーを Derby で動作するように変換するには、CREATE PROCEDURE 文と同様に Java コードも変更する必要があります。Derby の Java プロシージャーの詳細については、Derby Reference manual を参照してください。Boolean データ型は、次期リリースの Derby でサポートされる予定です。
この節では、Sun Java System Application Server Platform Edition 8.2 管理コンソールおよび『Quick Start Guide』でサポートされるブラウザを示します。Application Server 上のアプリケーションの実行時にサポートされるブラウザは、実行中のアプリケーションによって異なります。
表 2–3 サポートされるブラウザ
ブラウザ |
バージョン |
---|---|
Mozilla |
1.4、1.5、1.6、1.7.x |
Netscape Navigator |
6.2、7.0 |
Internet Explorer |
5.5 Service Pack 2、6.0 |
Firefox |
1.x |
以前のバージョンの Application Server から Sun Java System Application Server Platform Edition 8.2 にアップグレードするための詳細な手順については、『Sun Java System Application Server Platform Edition 8.2 Installation 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 8.2 のインストール処理を開始する前に、インストール済みサーバーを起動してください。インストーラが使用中のポートを検出するため、使用中のポートがほかの目的に使用されることはありません。
インストール済みサーバーの置き換え (UNIX) : 古いバージョンの Sun Java System Application Server がインストールされており、それを現在のバージョンの Application Server に置き換える場合は、新しいサーバーをインストールする前に、インストール済みサーバーを停止してください。
ファイアウォールのシャットダウン (Microsoft Windows): Sun Java System Application Server ソフトウェアをインストールする前に、すべてのファイアウォールソフトウェアを停止する必要があります。一部のファイアウォールソフトウェアはデフォルトですべてのポートを無効にするからです。インストーラは、使用可能なポートを正確に検出できる必要があります。
互換性の詳細については、『Sun Java System Application Server Platform Edition 8.2 Upgrade and Migration Guide』を参照してください。
where 句に OR 演算子および単一値の cmr ナビゲーションが含まれる場合、EJBQL クエリーに一致する結果の一部が含まれない可能性がある。
新規 Web サービスウィザードのパネル表示が崩れている。
- asadmin create-domain --help コマンドによって誤った使用方法が表示される。不正なオプション (--admin.jmxport ) が記述されている。
java-method によるターゲットメッセージの指定が、client-side message-security-binding 要素で無効となる。
AMX API を使用してサーバーから J2EE アプリケーションの参照を削除すると、アプリケーションは削除されるが、その後もアプリケーションにアクセスできる。
AS 8.2 PE/EE: 可能であれば PlatformMBeanServer を使用する。
DOCS:java.sql.statement.getConnection() が、接続のプールに関して javadoc の仕様を満たしていない。
ポート 8080 を停止および削除したあとも、ドメインから解放されない。
JMS 接続ファクトリを初めて作成したときに、トランザクションサポート値を保存できない。
Application Server 8.1 UR2 PE で、asant を Windows 2000 で実行できない。コマンドが長すぎるというエラーが返される。
リッチクライアント RMI-IIOP フェイルオーバーのテストに失敗する。
Grizzly ARA のサポートを 8.2 でバンドル。
Application Server 8.1 仮想サーバーのアクセスログの場所が更新されない。
JMS の汎用 RA を AS 8.2 に統合する必要がある。
XA トランザクションログのディスク I/O 頻度が高すぎる。
制御する TTY からの関連付けを解除して、Application Server 8.x のネイティブ起動プログラムを Bourne シェルで使いやすくする。
S1AS 7.0/SJAS7.1 : EJBC/RMIC が生成する STUB/Skel のパッケージ名が完全修飾名ではない。
サーバーは二重の Content-Length ヘッダーを持つ要求を拒否する必要がある。
asadmin create-domain --help によって CVS のマージ文字が生成され、文字化けする。
次のユーザーが同じ接続を使用すると、setAutoCommit の false 設定が伝播される。
配備の取り消し: MBean 登録解除のエラー。
サーブレットコンテナ UTF-8 URI マッピングの問題。
インストールパスの領域で Deploytool が動作しない。
ファイルベースのルート以外のインストールで配備コマンドが失敗する。
Windows の配備でハングする。
配備済みのアプリケーションをアップグレードすると、アクセスできなくなる。
配備のパフォーマンスを向上させる必要がある。
ejbc 実行中のエラー -- EJB コンパイラからの致命的なエラーで再配備に失敗することがある。
配備取り消しによって解放されないファイルがある。
WAR ファイルの再配備 (Creator のリモート配備) が失敗する。
配備および配備取り消しのシナリオで AS8102 メモリーリークが発生する (6324399 EJBClassLoader からの SubCR)。
Sun Java System Application Server 8.2 は、J2EE 1.4 および Java EE 5 プラットフォームをサポートしています。J2EE 1.4 プラットフォームで使用できる拡張 API を、次の表に示します。
表 2–4 J2EE 1.4 プラットフォームの主要な API の変更点
API |
説明 |
---|---|
コンポーネント |
|
Application および Application Client |
XML スキーマによる標準配備記述子の実装 |
Enterprise JavaBeans (EJB) 2.1 |
タイマーサービスと EJB Web サービスエンドポイント |
Java Servlet 2.4 |
Web サービスエンドポイントのフィルタ |
JavaServer Pages (JSP) 2.0 アーキテクチャー |
式言語とタグライブラリ |
J2EE Connector Architecture 1.5 |
着信リソースアダプタと Java Message Service (JMS) プラグイン可能性 |
Web サービス |
|
Java Web Services Developer Pack 1.5 |
XML アプリケーション、Web サービス、および Web アプリケーションを構築、テスト、および配備するための統合ツールキット |
Java API for XML-based Remote Procedure Calls (JAX-RPC) 1.1 |
WSDL と Java テクノロジのマッピングと、Web サービスクライアントおよびエンドポイントの開発のサポート |
WS-I Basic Profile 1.0 |
WSDL と SOAP による相互運用の有効化要素 |
SOAP with attachment API for Java (SAAJ) 1.2 |
SOAP ベースのメッセージングのための API で、ファイルの添付された SOAP メッセージの作成を促進します |
Java APIs for XML Registries (JAXR) 1.0 |
Universal Description Discovery and Integration (UDDI および ebXML) などの XML レジストリにアクセスするための統一された標準 API |
その他 |
|
J2EE Deployment 1.1 |
J2EE のコンポーネントおよびアプリケーションの配備を可能にする標準 API |
J2EE Management 1.0 |
J2EE プラットフォームを管理するための情報モデルの定義 |
Java Management Extensions (JMX) 1.2 |
標準的な管理 API |
Java Authorization Contract for Containers (JACC) 1.0 |
J2EE Application Server と 認証ポリシープロバイダとの間でのセキュリティー規約の定義 |
Java API for XML Processing (JAXP) 1.2 |
XML ドキュメントを解析および変換するための API であり、XML スキーマの処理もサポートします |
JMS 1.1 |
J2EE アプリケーションコンポーネントがメッセージを作成、送信、受信、および読み取りできるためのメッセージング標準であり、キューとトピックのための統一された API もサポートします |
JavaMail 1.3 |
メールシステムをモデル化する抽象クラスの集合であり、API の小規模なアップデートも含まれます |
Sun Java System Application Server 8.2 は、基礎となる JVM として J2SE 1.4.2 と J2SE 5.0 の両方をサポートします。J2SE を別のバージョンに切り替える場合は、次の一般的な手順に従います。(Windows および Unix)
必要に応じて、J2SE SDK (JRE ではない) をダウンロードしてインストールします。
J2SE 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 |
バンドル版バージョン (JDK 1.4.2_06) よりも前の JDK バージョンからアップグレードする場合、この手順では J2SE 5.0 以降にアップグレードできません。具体的には、この手順に加えて、既存のドメインをすべて削除し、再度作成する必要があります。