■ Perlインタプリタインタプリタインタプリタインタプリタ: PerlインタプリタはPerlアプリケーションをサポートし、これを Webサーバーのプロセス内で実行します。アプリケーションを実行する際に新しいプロ セスが起動されないため、パフォーマンスが大幅に改善されます。インタプリタは、
Webサーバーのプロセス内で実行されているため、ログ・ファイルのようなWebサー バーのサービスにアクセスできます。
J2EE アプリケーションとは アプリケーションとは アプリケーションとは アプリケーションとは
J2EEアプリケーションは、J2EE APIを使用してJavaで記述されたアプリケーションです。
このアプリケーションを配置、管理および実行するには、J2EEに対応したサーバーを使用し ます。J2EEアプリケーション自体は、Webプレゼンテーション・モジュール、ビジネス・
ロジック・モジュール、データ・アクセス・モジュールなどの一連のコンポーネントで構成 されています。これらの各コンポーネントが、関連するすべてのクラスとXMLデプロイメ ント・ディスクリプタとともにアセンブルされることによって、1つのアプリケーションが 構築されます。
J2EE 分散型複数層アプリケーション・モデル 分散型複数層アプリケーション・モデル 分散型複数層アプリケーション・モデル 分散型複数層アプリケーション・モデル
Oracle Application Serverで提供されるJ2EEプラットフォームは、複数層の分散アプリケー
ション・モデルを使用しています。複数層の分散アプリケーション・モデルでは、アプリ ケーション・ロジックを機能に従ってコンポーネントに分け、全体としてJ2EEアプリケー ションを構成する各種のアプリケーション・コンポーネントを、複数層J2EE環境の中のど の層に属しているかによって、異なるマシンにインストールできます。図2-4に、クライアクライアクライアクライア ント
ントント
ント、Web、ビジネス・ロジック、エンタープライズ・データの各層に分割された複数層の J2EEアプリケーションを2つ示します。
図図図
図2-4 J2EE分散型複数層アプリケーション・アーキテクチャ分散型複数層アプリケーション・アーキテクチャ分散型複数層アプリケーション・アーキテクチャ分散型複数層アプリケーション・アーキテクチャ
J2EEアプリケーションは、図で示したように4つの層に分散させることもできますが、次の ようなマシン配置に対して分散させる3層アプリケーションが一般的です。
■ クライアント・マシン
■ JSPやサーブレットサーブレットサーブレットサーブレットのようなプレゼンテーション・サービス、およびEJBのようなビジ ネス・ロジック・コンポーネントをホスティングするJ2EEサーバーサーバー・マシンサーバーサーバー
■ バックエンドにあるデータベース・サーバーサーバーサーバーまたはレガシー・マシンサーバー
このような方式による3層アプリケーションは、標準的な2層からなるクライアント・サー バー・モデルのクライアントとバックエンド・ストレージの間に、アプリケーション・サー バーを置くことによって拡張したものです。
J2EE クライアントの種類 クライアントの種類 クライアントの種類 クライアントの種類
J2EEアプリケーションでは、次のクライアントをサポートしています。
■ アプリケーション・クライアントアプリケーション・クライアントアプリケーション・クライアントアプリケーション・クライアント: ビジネス・ロジック層で実行されるEnterprise Bean に直接アクセスするクライアント・マシンで実行されているアプリケーションです。ア プリケーション・クライアントは、J2EEアプリケーションからの要求があった場合、
Web層で実行されているサーブレットとの通信を確立するために、HTTP接続を開くこ ともできます。
■ 動的動的動的動的HTMLおよびおよびおよびおよびXMLページページページページ: J2EEアプリケーションのコンテキストでは、動的 HTMLおよびXMLページは、サーブレットで生成されるか、Web層で実行される
JavaServer Pagesテクノロジで作成されます。このようなページは、従来の静的な
HTMLページを拡張して作成できるため、アプリケーション開発者はカスタマイズおよ びパーソナライズしたページをクライアントに提供することが可能になります。
J2EE アプリケーション・コンポーネントの種類 アプリケーション・コンポーネントの種類 アプリケーション・コンポーネントの種類 アプリケーション・コンポーネントの種類
J2EEアプリケーションでは、次のコンポーネントを使用できます。
■ サーブレットサーブレットサーブレットサーブレット: サーブレットは、Webサーバーの背後で実行されるJavaクラスで、Web サーバーの機能を拡張して動的ページの作成やアプリケーション・ロジックのサービス を提供します。サーブレットは、標準的なHTTPリクエスト/レスポンス・モデルで動 作します。
■ JavaServer Pages: JavaServer Pages(JSP)は、HTML、XML、WML(Wireless
Markup Language)などのテキストベースのフォーマットで表される静的なテンプレー
ト・データと、動的なコンテンツを構成するJSP要素という2種類の情報からなるテキ スト・ファイルです。
■ Enterprise Beans: Enterprise Beansは、アプリケーションのビジネス・ロジックをカプ セル化したサーバー・サイド・コンポーネントです。
J2EE コンテナの種類 コンテナの種類 コンテナの種類 コンテナの種類
コンテナコンテナコンテナ
コンテナは、J2EEアプリケーション・コンポーネントにランタイム・サポートを提供するも のです。またコンテナは、基盤となるJ2EE APIとアプリケーション・コンポーネント間の 統合ビューも提供します。J2EEアプリケーション・コンポーネント同士が直接対話すること はありません。これらのアプリケーション・コンポーネントは、コンテナのプロトコルとメ ソッドを使用して、他のアプリケーション・コンポーネントやプラットフォーム・サービス と対話します。コンテナがアプリケーション・コンポーネントとJ2EEサービスとの間に介 在することにより、宣言型トランザクション管理、セキュリティ・チェック、リソース・
プーリング、状態管理など、コンポーネントのデプロイメント・ディスクリプタで定義され たサービスが、コンテナによって透過的に提供されます。
WebまたはEnterprise Beanコンポーネントを実行可能な状態にするには、これらをJ2EEア プリケーションにアセンブルして、J2EEコンテナへデプロイする必要があります。このアセ ンブル処理には、各コンポーネント用にコンテナの設定を指定することが含まれます。この 設定によって、J2EEサーバーによって提供される基盤となるサポートがカスタマイズされま す。この設定は作成するアプリケーションの要件によって、標準的なJ2EEの設定の場合も、
コンテナに固有の設定の場合もあります。指定可能なコンテナの設定には、セキュリティ・
サービス、トランザクショントランザクショントランザクショントランザクション・モデル、ネーミングおよびディレクトリのルックアップ、リ モート接続モデルなどがあります。
J2EEコンテナには、主に次の2種類があります。
■ Enterprise JavaBeansコンテナコンテナコンテナコンテナ: Enterprise JavaBeansコンテナ(EJBコンテナコンテナ)は、コンテナコンテナ J2EEアプリケーション用のすべてのEnterprise Beansの実行を管理します。Enterprise
Beansとそのコンテナは、J2EEサーバー上で実行されます。
■ Webコンテナコンテナコンテナコンテナ: JSPページやサーブレットなどのWebコンポーネントは、サーブレッサーブレッサーブレッサーブレッ ト・コンテナ
ト・コンテナト・コンテナ
ト・コンテナで管理および実行されます。Webコンテナは、リクエストのディスパッ チ、セキュリティ、並行処理、ライフ・サイクル管理などのサービスを提供します。特 にJSPやサーブレットのようなWebコンポーネントコンポーネントコンポーネントコンポーネントに対しては、Webコンテナは、
ネーミング、トランザクション、JDBCなどのJ2EE APIへのアクセスも提供します。
J2EE アプリケーション・パッケージングの概要 アプリケーション・パッケージングの概要 アプリケーション・パッケージングの概要 アプリケーション・パッケージングの概要
J2EEコンポーネントは個別にパッケージされ、J2EEアプリケーションにバンドルされます。
各コンポーネントと、これに関連するGIFやHTMLファイル、またはサーバー・サイドの ユーティリティ・クラスは、すべてデプロイメント・ディスクリプタ(DD)とともにパッ ケージされ、J2EEアプリケーションのモジュールモジュールモジュールモジュールとしてアセンブルされます。通常、J2EE アプリケーションは1つ以上のEnterprise Beans、およびWebまたはアプリケーション・ク ライアント・モジュールから構成されます。
Oracle Application Server Containers for J2EE のアーキテクチャ のアーキテクチャ のアーキテクチャ のアーキテクチャ
図2-5は、Oracle Application Server内のOC4Jのアーキテクチャを示しています。
図 図図
図2-5 Oracle Application Server Containers for J2EEのアーキテクチャのアーキテクチャのアーキテクチャのアーキテクチャ
図2-5に示すように、OC4JはJava 2 Platform Standard Edition(J2SE)インフラストラク チャによってサポートされています。この図は、OC4J WebコンテナとOC4J EJBコンテナコンテナコンテナコンテナ の両方が、J2SE仮想マシン仮想マシン仮想マシン仮想マシンを使用することを表しています。J2EEアプリケーションはアプ リケーション・コンポーネントの再利用のために、次のようにモジュール化されています。
■ JavaServer Pages(JSP)、動的HTMLなどから構成できるユーザー・インタフェース
■ 通常、Enterprise JavaBeans(EJB)またはJavaクラスに含まれているビジネス・ロジッ
ク
J2EEコンテナでは、APIへのアクセスの提供やライフサイクル管理などのアプリケーション 向けサービスも実行します。