Interstage Java EEはJava SE環境をベースとして、企業規模の多階層サービスの実装に必要とされるさまざまな機能を提供します。また、アプリケーションの移植性を最大限に向上させるために、オープンソースソフトウェアであるGlassFish v3.1をベースとしています。
Java EE 6の詳細情報については、以下の規約を参照してください。
JSR 316: Java(TM) Platform, Enterprise Edition 6 (Java EE 6) Specification
Java EE 6のAPI仕様については、Java EE 6のAPI仕様「http://download.oracle.com/javaee/6/api/」を参照してください。
Java EEの構成
以下にJava EEの構成について説明します。
Java EEコンポーネント
Interstage Java EEは、Java EEアプリケーションクライアント、Servlet/JSP、Enterprise JavaBeanという3つのアプリケーションコンポーネントの実行環境を提供します。これらを、Java EEコンポーネントと呼びます。Java EEコンポーネントは、配備という操作を行うことで実行環境にセットアップされます。
Java EEアプリケーションクライアントは、アプリケーションクライアントコンテナ上で実行するJavaアプリケーションです。クライアントからサーバ環境のアプリケーションにアクセスします。
Servlet/JSPは、WebブラウザからHTTPプロトコル、または、よりセキュアなHTTPSプロトコルでWebサーバに送信されたリクエストで動作します。また、Webサービスとして公開することもできます。Servlet、JSPまたはJSFを使用して作成されたページ、Webフィルタ、Webイベントリスナーを総称してWebコンポーネントと呼びます。
Enterprise JavaBeans(EJB)は、サーバで動作するアプリケーションです。Servletからアクセスする、または、IIOPプロトコルによりORB(Object Request Broker)を介してクライアントから直接アクセスすることもできます。クライアントからの要求を受けたEnterprise JavaBeansにデータベースアクセス処理などの実際のビジネスロジックを実装します。Webサービスとして公開することや、非同期メッセージを受信するMessage-driven Beanも使用できます。
リモート呼び出しが可能なRemoteインタフェースと、同一Java VM内でのみ呼び出し可能なLocalインタフェースが使用できます。Remoteインタフェースを使用した場合においても同一Java VM内で呼び出した場合にはORBが自動的にIIOP通信を介さずにアプリケーションを呼び出し、不要なネットワーク通信が抑止されるため、性能が最適化されます。
また、クライアントアプリケーションとして以下のアプリケーションコンポーネントの実行も可能です。
Java SEスタンドアロンアプリケーションは、スタンドアロンクライアント(javaコマンドで起動されたJava SE実行環境)上で実行するJavaアプリケーションです。クライアントからサーバ環境のアプリケーションにアクセスします。ただし、Java EEアプリケーションクライアントと異なりJava EE規約の依存性の注入(Dependency Injection)やdeployment descriptorファイル(application-client.xml)の利用ができません。このため、汎用的なアプリケーションではないため、Java EEアプリケーションクライアントの利用が推奨されます。
注意
アプレットからJava EEが提供するAPI(JNDI APIやEnterprise JavaBeansの呼び出し)は実行できません。
コンテナ
コンテナは、Java EEコンポーネントのセキュリティやトランザクションを管理するサービスを提供する実行環境です。ServletやJSPなどのWebコンポーネントは、Webコンテナで実行されます。Enterprise Java Beansは、EJBコンテナ内で実行されます。Java EEアプリケーションクライアントは、アプリケーションクライアントコンテナで実行されます。
サービス
Java EEコンポーネントは、コンテナが提供する各種サービスを使用できます。Java EEコンポーネントは、deployment descriptorというJava EEコンポーネントごとの定義ファイルに定義を行うか、または、Dependency Injectionを使用することで、コンテナが提供するネーミングサービス、セキュリティサービス、トランザクションサービスなどの各種サービスを使用できます。
API
Java EE 6実行環境は、コンテナが提供する各種サービスの動作を制御するAPIや外部の各種システムにアクセスできるAPIを提供します。Java EEコンポーネントは、リソースと呼ばれるオブジェクトを介して外部システムにアクセスします。ツールを使用してリソースを定義することで、アプリケーションコンポーネントからAPIを使用してリソースにアクセスできます。APIには、データベースにアクセスするJDBC、EISにアクセスするconnector、非同期メッセージの送受信を行うJMS、メールサーバにメールの送受信を行うJava Mailなどが用意されています。
ツール
Interstage Java EEは、アプリケーションコンポーネントの配備、サービス設定、リソース定義などの設定を行うために各種コマンドを提供しています。
各種コマンド
asadminコマンドなど提供する各種コマンドを使用することで、Java EE 6実行環境の各種設定を行うことができます。