Application Server 9.1 は、次に示す多くの新機能を実装しています。
Java EE 5 プラットフォームのサポート — Sun Java System Application Server では、Java EE 5 仕様を実装して、次世代のエンタープライズアプリケーションおよび Web サービスにもっとも適したアプリケーションランタイムの 1 つを実現します。Application Server は、次の 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 プラットフォームテクノロジについて、このノートで後述します。
Web サービス相互運用性テクノロジ (WSIT) サポート – Sun は Microsoft と密接に連携して、メッセージ最適化、高信頼性メッセージング、およびセキュリティーなどの Web サービスエンタープライズテクノロジの相互運用性を実現しています。WSIT の初期リリースはこの協力の成果です。WSIT は、エンタープライズ機能をサポートする多くのオープンな Web サービス仕様を実装したものです。メッセージ最適化、信頼できるメッセージング、およびセキュリティーに加えて、WSIT にはブートストラップと設定のテクノロジも含まれています。現在 Java プラットフォームに組み込まれているコア XML サポートを基本にして、WSIT は既存の機能を使用または拡張し、相互運用可能な Web サービスのための新しいサポートを追加します。それらには、次のサポートが含まれます。
ブートストラップおよび設定
メッセージ最適化テクノロジ
高信頼性メッセージングテクノロジ
セキュリティーテクノロジ
Application Server での WSIT 統合の詳細については、この章の 「WSIT 統合の詳細について」で後述します。
JBI サポート – JBI はビジネス統合 Service Provider Interfaces (SPI) によって Java EE を拡張します。これらの SPI を使用することにより、開発者は WSCI、BPEL4WS、および W3C Choreography Working Group などの仕様に合わせ Java ビジネス統合環境を作成または実装できます。JBI 実装は直接 Application Server インストーラにより通常は as-install/jbi ディレクトリにインストールされます。Application Server JVM で JBI フレームワークを開始する lifecycle モジュールを含む、JBI 用のすべての共通 JAR ファイルとシステムコンポーネントがこのディレクトリに含まれています。
インメモリーレプリケーションサポート – ほかのサーバー上でインメモリーレプリケーションを実行することにより、HADB などの別個のデータベースを入手しなくてもセッション状態データの軽量ストレージを用意できます。このタイプのレプリケーションは、ほかのサーバー上のメモリーを使用して HTTP セッションとステートフルセッション Bean データの高可用性ストレージを実現します。クラスタ化されたサーバーインスタンスはセッション状態をリングトポロジで複製します。各バックアップインスタンスは複製されたデータをメモリーに格納します。セッション状態データをほかのサーバー上のメモリーに複製することによって、セッションを分散することが可能になります。インメモリーレプリケーションを使用するには、グループ管理サービス (GMS) を有効にする必要があります。デフォルトで有効です。
使用状況プロファイル – どの管理ドメインもそのドメインの能力を示す使用状況プロファイルと関連付けられています。Application Server には次のプロファイルが用意されています。
開発者 – ドメインを開発環境で実行している場合や、アプリケーションに負荷分散、高可用性、セッションレプリケーションなどのクラスタ化機能が必要でない場合に、このプロファイルを使用します。このプロファイルの実際の名前は「developer」で、大小文字を区別することに注意してください。
クラスタ – アプリケーションサーバーインスタンスのクラスタを作成して、配備された Java EE アプリケーションにスケーラビリティーと高可用性を付与する場合は、このプロファイルを使用します。アプリケーションの状態はインメモリーのままとなります。このプロファイルの実際の名前は「cluster」で、大小文字を区別することに注意してください。
エンタープライズ – HADB と NSS が必要な場合に、このプロファイルを使用します。このプロファイルは、HADB と NSS が別々にインストールされていたり、Application Server が Java Enterprise System (Java ES) の一部としてインストールされていたりする場合には使用できません。
負荷分散の拡張機能 – 負荷分散プラグインにいくつかの拡張機能が追加されました。簡潔にまとめると、次の機能が含まれます。
重み付けラウンドロビン – オプション属性 weight がインスタンス Loadbalancer.xml ファイルに追加されています。このオプションを使用することにより、ロードバランサプラグインは重みに応じて要求を経路指定できるようになります。たとえば、500 の要求のうち、100 が instance1 へ、400 が instance2 へと毎回振り分けられるようになります。デフォルトの重みは 100 です。重みは管理コンソールまたはコマンド行から各インスタンスに対して割り当てられ、サーバー domain.xml にはインスタンスごとの重みを示す属性があります。
ユーザー定義によるロードバランサの方法指定 – ユーザーが負荷分散のカスタムロジックを定義できます。たとえば、ユーザー ID に基づくリダイレクトや MIME ベースの負荷分散があります。この機能は、ロードバランサがロードするユーザー定義の共用ライブラリによって実装されます。このカスタム共用ライブラリは、as-install/lib/install/templates/ にある loadbalancer.h に定義されているとおりにインタフェースを実装します。
管理拡張機能 – 以前のバージョンの Application Server では、loadbalancer.xml ファイルを特定のサーバーの config ディレクトリに手動でコピーすることが必要でした。Application Server 9.1 Update 1 には、このようなコピーを Web サーバーと Application Server の間で実行するプッシュ自動化が組み込まれています。ロードバランサ自体はサーバーの domain.xml ファイルで設定されます。
オープンソースおよび GlassFish コミュニティー — 2005 年 6 月、Sun は、Java EE 5 プラットフォームの最新機能とそれに関連したエンタープライズテクノロジを実装した、無償でオープンソースの商用レベルのアプリケーションサーバーを開発することを目標として、GlassFish コミュニティーを立ち上げました。Application Server は、Sun の技術者と GlassFish コミュニティーが開発したソースコードを基盤に作成されています。
Update Center サポート – Application Server Update Center により、Application Server の更新が自動化され、追加コンポーネントが簡単に利用できるようになりました。詳細は、「Application Server Update Center の使用」を参照してください。