Enterprise Server は、Java 2 Enterprise Edition (Java EE) 1.4 テクノロジを実装します。Java EE プラットフォームは、アプリケーションコンポーネント、API、およびアプリケーションサーバーの実行時コンテナとサービスについて記述した標準仕様のセットです。
Java EE アプリケーションは、JavaServer Pages (JSP)、Java サーブレット、Enterprise JavaBeans (EJB) モジュールなどのコンポーネントで構成されます。ソフトウェア開発者はこれらのコンポーネントを利用して、大規模分散アプリケーションを構築できます。開発者は Java EE アプリケーションを、zip ファイルに似た Java アーカイブ (JAR) ファイルにパッケージ化して本番サイトに配布できます。管理者は、Java EE JAR ファイルを 1 つ以上のサーバーインスタンス (またはインスタンスのクラスタ) に配備することにより、Java EE アプリケーションを Application Server 上にインストールします。
次の図は、以降の節で説明する Java EE プラットフォームのコンポーネントを示したものです。
申し訳ございません: 現在、図が用意できておりません。
各サーバーインスタンスには、2 つのコンテナ (Web コンテナと EJB コンテナ) が含まれます。コンテナは、Java EE コンポーネントのセキュリティーやトランザクション管理などのサービスを提供する実行時環境です。JavaServer Pages (JSP) やサーブレットなどの Web コンポーネントは、Web コンテナ内で実行されます。Enterprise JavaBeans は EJB コンテナ内で実行されます。
Java EE プラットフォームは、次のようなサービスをアプリケーションに対して提供します。
ネーミング -ネームサービスとディレクトリサービスは、オブジェクトを名前にバインドします。Java EE アプリケーションは、オブジェクトの Java Naming and Directory Interface (JNDI) 名を検索することによってオブジェクトを検出できます。
セキュリティー - Java Authorization Contract for Containers (JACC) は、Java EE コンテナに関して定義された一連のセキュリティー規約です。クライアントの ID に基づいて、コンテナはコンテナのリソースおよびサービスに対するアクセスを制限できます。
トランザクション管理 -トランザクションは作業の分割不能な単位です。たとえば、銀行口座間での資金の振り替えがトランザクションにあたります。トランザクション管理サービスは、トランザクションが完了するか、またはロールバックされるかの二者択一性を保証します。
メッセージサービス - 別々のシステム上でホストされたアプリケーションどうしが、Java™ Message Service (JMS) を利用してメッセージを交換することによって互いに通信できます。JMS は Java EE プラットフォームの根幹的な部分であり、異機種システム混在のエンタープライズアプリケーションを統合する作業を簡略化します。
クライアントは HTTP、RMI/IIOP、JMS 経由でのアクセスに加えて、リモート Web サービスとして Java EE アプリケーションにアクセスできます。Web サービスは、Java API for XML-based RPC (JAX-RPC) を使用して実装されます。Java EE アプリケーションは Web サービスに対するクライアントとして動作することもでき、これはネットワークアプリケーションで典型的な構成です。
Web Services Description Language (WSDL) は、Web サービスのインタフェースを記述する XML 形式です。Web サービスのコンシューマは、WSDL ドキュメントを動的に解析して、Web サービスが提供する操作とその実行方法を特定できます。Application Server では、ほかのアプリケーションが Java API for XML Registries (JAXR) を経由してアクセス可能なレジストリを使用して、Web サービスインタフェースの記述を分散させています。
クライアントは複数の方法で Java EE アプリケーションにアクセスできます。ブラウザクライアントは、ハイパーテキストトランスファープロトコル (HTTP) を使用して Web アプリケーションにアクセスします。セキュリティー保護された通信のために、ブラウザでは、Secure Sockets Layer (SSL) を使用する HTTPS プロトコルを利用します。
アプリケーションクライアントコンテナ内で動作するリッチクライアントアプリケーションは、オブジェクトリクエストブローカ (ORB)、リモートメソッド呼び出し (RMI) および IIOP (internet inter-ORB protocol)、または IIOP/SSL (セキュリティー保護された IIOP) を使用して Enterprise JavaBeans (EJB) を直接検索し、アクセスできます。そのようなアプリケーションは、HTTP/HTTPS、JMS、および JAX-RPC を使用してアプリケーションや Web サービスにアクセスできます。それらのアプリケーションでは JMS を使用して、アプリケーションおよびメッセージ駆動型 Beans との間でメッセージを送受信します。
Java EE Web サービスにアクセスできるのは、WS-I Basic Profile (Web サービス相互運用性基本プロファイル) に準拠したクライアントです。WS-I は Java EE 標準の根幹的な部分であり、Web サービスの相互運用性について定義しています。WS-I に準拠することにより、サポートされているすべての言語で記述されたクライアントが、Application Server に配備された Web サービスにアクセスできます。
最適なアクセス機構は、個別のアプリケーションおよび予想されるトラフィック量によって異なります。Application Server は、HTTP、HTTPS、JMS、IIOP、および IIOP/SSL のそれぞれに対応した設定が可能なリスナーをサポートします。各プロトコルに対して複数のリスナーを設定し、スケーラビリティーと信頼性を高めることができます。
Java EE アプリケーションは、ほかのサーバー上に配備された EJB モジュールなどの Java EE コンポーネントのクライアントとしても動作でき、これらのアクセス機構のうち任意のものを使用できます。
Java EE プラットフォームでは、外部のシステムのことをリソースと呼びます。たとえば、データベース管理システムは JDBC リソースです。各リソースは、その Java Naming and Directory Interface (JNDI) 名によって一意に識別されます。アプリケーションは、次の API とコンポーネントを通して外部システムにアクセスします。
Java Database Connectivity (JDBC) - データベース管理システム (DBMS) は、データを格納、組織化、および取得するための機能を提供します。大部分のビジネスアプリケーションは、アプリケーションが JDBC 経由でアクセスするリレーショナルデータベースにデータを格納します。Application Server に含まれる PointBase DBMS は、サンプルアプリケーションでの使用、アプリケーション開発、プロトタイプ作成などの用途に適していますが、配備用途には適していません。Application Server では、各種の主要リレーショナルデータベースに接続するための、動作確認済み JDBC ドライバを提供しています。これらのドライバは配備に適しています。
Java Message Service (JMS) - メッセージングは、ソフトウェアコンポーネントまたはアプリケーション間で通信を行うための手段です。メッセージングクライアントは、Java Messaging Service (JMS) API を実装するメッセージングプロバイダを介して、任意のほかのクライアントとの間でメッセージを送受信します。Application Server には、高性能な JMS ブローカーである Sun Java System Message Queue が含まれています。Application Server Platform Edition には、Message Queue の無償版である Platform Edition が含まれます。Sun GlassFishEnterprise Server には、クラスタ化とフェイルオーバーをサポートする Message Queue Enterprise Edition が含まれています。
Java EE コネクタ - Java EE コネクタアーキテクチャーは、Java EE アプリケーションと既存の企業情報システム (EIS) との統合を可能にします。アプリケーションは、コネクタまたはリソースアダプタと呼ばれる、移植性のある Java EE コンポーネントを介して、JDBC ドライバを使用した RDBMS へのアクセスと同様の方法で EIS にアクセスします。リソースアダプタは、スタンドアロンのリソースアダプタアーカイブ (RAR) モジュールとして配布されるか、または Java EE アプリケーションアーカイブに組み込まれます。RAR 形式のリソースアダプタは、ほかの Java EE コンポーネントと同様に配備されます。Application Server には、一般的な EIS との統合が可能な評価用のリソースアダプタが含まれています。
JavaMail - アプリケーションは JavaMail API を介して Simple Mail Transport Protocol (SMTP) サーバーにアクセスし、電子メールを送受信できます。