ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     アプリケーションの開発   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

WebLogic Server J2EE アプリケーションについて

 

以下の節では WebLogic Server J2EE アプリケーションとアプリケーション コンポーネントについて概説します。

 


WebLogic Server J2EE アプリケーションおよびコンポーネント

BEA WebLogic Server アプリケーションは、WebLogic Server で動作する 1 つまたは複数の J2EE コンポーネントで構成されるアプリケーションです。J2EE コンポーネントには、次のものが含まれます。

Web デザイナ、アプリケーション開発者、およびアプリケーション アセンブル担当者は、JavaServer Pages、サーブレット、およびエンタープライズ JavaBean、リソース アダプタ などの J2EE 技術を使用してアプリケーションとそのコンポーネントを作成します。

コンポーネントは、Java ARchive (JAR) ファイルにパッケージ化します。JAR ファイルは、Java jar ユーティリティで作成されるアーカイブです。JAR ファイルでは、ディレクトリ内のすべてのコンポーネント ファイルがディレクトリ構造を維持しながら 1 つのファイルにまとめられます。JAR ファイルには、WebLogic Server にコンポーネントのデプロイ方法を指示する XML 記述子も格納されます。

Web アプリケーションは、拡張子が .war の JAR ファイルにパッケージ化されます。エンタープライズ Bean、WebLogic コンポーネント、およびクライアント アプリケーションは、拡張子が .jar の JAR ファイルにパッケージ化されます。リソース アダプタは、拡張子が .rar の JAR ファイルにパッケージ化されます。

アセンブル済みの Web アプリケーション、EJB コンポーネント、リソース アダプタで構成されるエンタープライズ アプリケーションは、拡張子が .ear の JAR ファイルにまとめられます。.ear ファイルには、アプリケーションのすべての .jar.war、および .rar コンポーネント アーカイブ ファイルおよびコンポーネントを記述する XML 記述子が格納されます。

コンポーネント、アプリケーション、またはリソース アダプタをデプロイするには、Administration Console または weblogic.deploy コマンドライン ユーティリティを使用して、JAR ファイルを対象の WebLogic Server にアップロードします。

Web ブラウザではないクライアント アプリケーションは、Remote Method Invocation(RMI)を使用して WebLogic Server に接続する Java クラスです。Java クライアントでは、エンタープライズ JavaBean、JDBC 接続、JMS メッセージなどのサービスに RMI を使用してアクセスできます。

J2EE プラットフォーム

WebLogic Server には、Java 2 Platform、Enterprise Edition(J2EE)技術が組み込まれています。J2EE は、Java プログラミング言語に基づいた多層エンタープライズ アプリケーションを開発するための標準プラットフォームです。J2EE を構成する技術は、BEA Systems をはじめとするソフトウェア ベンダと Sun Microsystems によって共同開発されました。

J2EE アプリケーションは、標準化され、モジュール化されたコンポーネントに基づいています。WebLogic Server では、これらのコンポーネント用にあらゆるサービスが用意され、細かなアプリケーションの動作を、プログラミングを必要とせずに自動的に処理します。

WebLogic Server 6.1 と J2EE 1.2 および J2EE 1.3

BEA WebLogic Server 6.1 は、高度な J2EE 1.3 の機能を実装する最初の e-コマース トランザクション プラットフォームです。J2EE のルールに準拠するために、BEA Systems では 2 つの別個のダウンロードを用意しています。1 つは J2EE 1.3 の機能が有効になっているもの、1 つは J2EE 1.2 の機能に制限されているものです。いずれのダウンロードもコンテナは同じですが、利用可能な API だけ異なります。

注意: J2EE コンポーネントのコンパイルの CLASSPATH 設定は、J2EE 1.2 完全準拠のコンポーネントを作成するか、J2EE 1.3 の機能を採用したコンポーネントを作成するかどうかによって異なります。詳細については、 コンパイル用のクラスパスの設定を参照してください。

J2EE 1.2 の機能に加えて J2EE 1.3 の機能を備える WebLogic Server 6.1

このダウンロードでは、WebLogic Server はデフォルトで J2EE 1.3 の機能を使用して動作します。それらの機能には、EJB 2.0、JSP 1.2、サーブレット 2.3、および J2EE コネクタ アーキテクチャ 1.0 が含まれます。J2EE 1.3 の機能を有効にして WebLogic Server 6.1 を実行しても、J2EE 1.2 アプリケーションはそのままフルサポートされます。J2EE 1.3 機能の実装では、適切な API 仕様の最終ではないバージョンが使用されます。したがって、J2EE 1.3 の新機能を使用する BEA WebLogic Server 6.1 用に開発されたアプリケーション コードは、BEA WebLogic Server の今後のリリースでサポートされる J2EE 1.3 プラットフォームとは互換性を持たない場合があります。

J2EE 1.2 認定の WebLogic Server 6.1

このダウンロードでは、WebLogic Server はデフォルトで J2EE 1.3 機能が無効な状態で動作し、J2EE 1.2 の仕様と規定に完全に準拠します。

Web アプリケーション コンポーネント

Web アーカイブには、Web アプリケーションを構成するファイルが格納されます。.war ファイルは、1 つまたは複数の WebLogic Server にユニットとしてデプロイされます。

WebLogic Server の Web アーカイブには、常に以下のファイルが含まれています。

Web アーカイブには、HTML ページまたは XML ページ、およびそれらに付属する画像やマルチメディア ファイルなどのサポート ファイルが含まれている場合もあります。

サーブレット

サーブレットは、WebLogic Server で実行される Java クラスであり、クライアントから要求を受け取り、その要求を処理して、必要に応じてクライアントに応答を返します。GenericServlet は、プロトコルに依存せず、他の Java クラスからアクセスされるサービスを実装するために J2EE アプリケーションで使用できます。HttpServlet は、HTTP プロトコルのサポートで GenericServlet を拡張します。HttpServlet は主に、Web ブラウザの要求に応えて動的な Web ページを生成するために使用します。

JavaServer Pages

JSP ページは、Java コードを Web ページに埋め込むことができる拡張 HTML で記述された Web ページです。JSP ページでは、HTML に似たタグを使用して、taglibs と呼ばれるカスタム Java クラスを呼び出すことができます。WebLogic JSP コンパイラの weblogic.jspc では、JSP ページがサーブレットに変換されます。WebLogic Server では、サーブレット クラス ファイルが存在しないか、または JSP ソース ファイルよりもタイムスタンプが古い場合に JSP ページが自動的にコンパイルされます。

サーバでのコンパイルを避けるために、あらかじめ JSP ページをコンパイルし、サーブレット クラスを Web アーカイブにパッケージ化することもできます。サーブレットと JSP ページは、Web アプリケーションと一緒にデプロイしなければならないヘルパー クラスに依存する場合があります。

Web アプリケーションのディレクトリ構造

Web アプリケーション コンポーネントは、jar コマンドを使って作成される .war ファイルをステージングするために各ディレクトリにアセンブルします。HTML ページ、JSP ページといったこれらのコンポーネントから参照される Java クラス以外のファイルは、ステージング ディレクトリの最上位から順にアクセスされます。

XML 記述子およびコンパイル済みの Java クラスと JSP taglibs は、ステージング ディレクトリの最上位に位置する WEB-INF サブディレクトリに格納します。Java クラスとしては、サーブレット、ヘルパー クラス、およびコンパイル済みの JSP ページ(必要な場合)などがあります。

ステージングが終了したら、jar コマンドを使用してディレクトリ全体を .war ファイルにまとめます。.war ファイルは、それだけでデプロイすることも、他の Web アプリケーション、EJB コンポーネント、WebLogic コンポーネントといった他のアプリケーション コンポーネントと一緒にエンタープライズ アーカイブ(.ear ファイル)にパッケージ化することもできます。

Web アプリケーション コンポーネントの詳細について

Web アプリケーション コンポーネントの作成の詳細については、以下のマニュアルを参照してください。

エンタープライズ JavaBean コンポーネント

エンタープライズ JavaBean(EJB)は、ビジネス タスクまたはエンティティを実装するサーバサイド Java コンポーネントで、EJB 仕様に基づいて記述されています。エンタープライズ Bean には、セッション Bean、エンティティ Bean、およびメッセージ駆動型 Bean の 3 種類があります。

EJB の概要

セッション Bean は、単一のセッション時に単一のクライアントに代わって特定のビジネス タスクを実行します。セッション Bean は、ステートフルにもステートレスにもなりますが、永続的ではありません。クライアントでセッション Bean の利用が終わると、その Bean は消えてなくなります。

エンティティ Bean は、データ ストア(通常はリレーショナル データベース システム)のビジネス オブジェクトを表します。永続性(データのロードと保存)は、Bean で管理される場合とコンテナで管理される場合があります。データ オブジェクトをメモリ内で表現するだけではなく、エンティティ Bean にはそれらが表すビジネス オブジェクトの動作をモデル化するメソッドがあります。エンティティ Bean は、複数のクライアントで同時にアクセスでき、当然のごとく永続的です。

メッセージ駆動型 Bean は、EJB コンテナで動作し、JMS キューからの非同期メッセージを処理するエンタープライズ Bean です。JMS キューでメッセージが受信されると、メッセージ駆動型 Bean ではメッセージを処理するためにそれ自身のインスタンスがプールから割り当てられます。メッセージ駆動型 Bean は、クライアントとは関連付けられません。メッセージ駆動型 Bean では、到着したメッセージが処理されるだけです。JMS ServerSessionPool も同様の機能を備えていますが、EJB コンテナで動作するメリットを利用できません。

エンタープライズ Bean は、それらのコンパイル済みクラスと XML デプロイメント記述子が格納される JAR ファイルにまとめられます。

EJB のインタフェース

エンティティ Bean とセッション Bean には、Bean の開発者から提供されるリモート インタフェース、ホーム インタフェース、および実装クラスがあります。メッセージ駆動型 Bean は、EJB コンテナの外からはアクセスできないので、ホーム インタフェースまたはリモート インタフェースを必要としません。

リモート インタフェースでは、エンティティ Bean またはセッション Bean でクライアントが呼び出すことができるメソッドが定義されます。実装クラスは、リモート インタフェースのサーバサイドの実装です。ホーム インタフェースは、エンタープライズ Bean を作成、破棄、および検索するためのメソッドを備えています。クライアントでは、Bean のホーム インタフェースを通じてエンタープライズ Bean のインスタンスにアクセスします。

EJB のホーム インタフェースとリモート インタフェースおよび実装クラスは、EJB 仕様が実装されているどの EJB コンテナにも移植できます。EJB 開発者は、コンパイル済みの EJB インタフェースとクラスおよびデプロイメント記述子だけが格納されている JAR ファイルを提供できます。

EJB と WebLogic Server

J2EE では、EJB 仕様をサポートする EJB サーバの間でコンポーネントを確実に移植できるように、開発とデプロイメントのロールが明確に区別されます。WebLogic Server でエンタープライズ Bean をデプロイするときには、エンタープライズ Bean をリモートで実行できるようにするスタブ クラスとスケルトン クラスを生成するために WebLogic EJB コンパイラ weblogic.ejbc が動作している必要があります。

WebLogic のスタブとスケルトンでは、エンタープライズ Bean のロードバランシングとフェイルオーバを実現する WebLogic クラスタもサポートできます。weblogic.ejbc を実行してスタブ クラスとスケルトン クラスを生成し、それらを EJB JAR ファイルに追加するか、または WebLogic Server でデプロイメント時にコンパイラを実行して生成することもできます。

J2EE 指定のデプロイメント記述子 ejb-jar.xml では、EJB JAR ファイルにパッケージ化されたエンタープライズ Bean が記述されます。この記述子では、Bean のタイプと名前、そしてホーム インタフェースとリモート インタフェースおよび実装クラスの名前が定義されます。また、ejb-jar.xml デプロイメント記述子では、Bean のセキュリティ ロールおよび Bean のメソッドのトランザクション動作も定義されます。

追加のデプロイメント記述子では、WebLogic 固有のデプロイメント情報が提供されます。コンテナ管理のエンティティ Bean の weblogic-cmp-rdbms-jar.xml デプロイメント記述子では、Bean がデータベースのテーブルにマップされます。weblogic-ejb-jar.xml デプロイメント記述子では、クラスタ化やキャッシュのコンフィグレーションといった WebLogic Server 環境に固有の追加情報が提供されます。

エンタープライズ JavaBean の作成とデプロイメントについては、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』を参照してください。

WebLogic Server コンポーネント

WebLogic Server コンポーネントとしては、スタートアップ クラスとシャットダウン クラスがあります。これらのクラスは、それぞれデプロイメントまたは停止の時点で実行される Java クラスです。

スタートアップ クラスには、WebLogic Server ネーミング ツリーに自動的に登録される RMI クラス、または WebLogic Server で実行できる他の Java クラスを使用できます。スタートアップ クラスを使用すると、WebLogic Server で新しいサービスを実装できます。たとえば、レガシー アプリケーションやリアルタイム フィーダーにアクセスできるようにするスタートアップ クラスを作成することもできます。

シャットダウン クラスは、WebLogic Server が停止するときに実行され、通常はスタートアップ クラスで取得されたリソースを解放するために使用します。

スタートアップ クラスとシャットダウン クラスは、WebLogic Server で Administration Console からコンフィグレーションできます。これらの Java クラスは、サーバの CLASSPATH で設定されていなければなりません。

コネクタ コンポーネント

WebLogic J2EE コネクタ アーキテクチャで中心となるコンポーネントは、「コネクタ」として機能するリソース アダプタです。コネクタ アーキテクチャを使用すると、エンタープライズ情報システム(EIS : Enterprise Information System)のベンダおよびサードパーティ アプリケーションの開発者は、Sun Microsystems の J2EE 1.3 仕様をサポートしているアプリケーション サーバでデプロイできるリソース アダプタを開発できます。リソース アダプタには、Java、および必要に応じて EIS との対話に必要なネイティブ コンポーネントが含まれます。

リソース アダプタが WebLogic Server 環境でデプロイされた場合、リモート EIS システムへのアクセス権がある堅牢な J2EE アプリケーションの開発が可能になります。WebLogic Server アプリケーションの開発者は、HTTP サーブレット、JavaServer Pages(JSP)、エンタープライズ JavaBean(EJB)、およびその他の API を使用して、EIS のデータとビジネス ロジックを使う統合アプリケーションを開発できます。

基本のリソース アーカイブ(.rar)またはデプロイメント ディレクトリは、そのままでは WebLogic Server にデプロイできません。最初に weblogic-ra.xml ファイルで、WebLogic Server 固有のデプロイメント プロパティを作成およびコンフィグレーションし、その XML ファイルをデプロイメントに追加する必要があります。

リソース アダプタの作成とデプロイメントについては、『WebLogic J2EE コネクタ アーキテクチャ』を参照してください。

 


エンタープライズ アプリケーション

エンタープライズ J2EE アプリケーションには、Web コンポーネントと EJB コンポーネント、デプロイメント記述子、およびアーカイブ ファイルが含まれます。エンタープライズ アーカイブ(.ear)ファイルには、Web アーカイブと EJB アーカイブが格納されます。META-INF\application.xml デプロイメント記述子には、各 Web コンポーネントおよび EJB コンポーネントのエントリのほか、セキュリティ ロールやアプリケーション リソース(データベースなど)を記述する追加エントリがあります。

ドメイン内の 1 つまたは複数の WebLogic Server.ear ファイルをデプロイするには、WebLogic 管理サーバの Administration Console または weblogic.deploy コマンドライン ユーティリティを使用します。

 


クライアント アプリケーション

WebLogic Server コンポーネントにアクセスする、Java で記述されたクライアントサイド アプリケーションは、標準の I/O を使用する単純なコマンドライン ユーティリティから、Java Swing/AWT クラスを使用して構築された、高度な対話型の GUI アプリケーションまでさまざまです。

クライアント アプリケーションは、HTTP リクエストまたは RMI リクエストを使って、WebLogic Server コンポーネントを直接使用します。コンポーネントは、クライアント内ではなく、WebLogic Server 内で実行されます。

WebLogic Server Java クライアントを実行するには、クライアント コンピュータで、weblogic.jar ファイル、weblogic_sp.jar ファイル(WebLogic Server のサービス パック バージョンを使用している場合)、WebLogic Server 上のすべての RMI クラスとエンタープライズ Bean のリモート インタフェース、およびクライアント アプリケーション クラスが必要となります。

クライアントサイド アプリケーションは、クライアント コンピュータにデプロイできるようにパッケージ化します。保守とデプロイメントを簡略化するために、クライアントサイド アプリケーションは、weblogic.jar ファイルおよび weblogic_sp.jar ファイルと一緒にクライアントのクラスパスに追加できる JAR ファイルにパッケージ化したほうがよいでしょう。

WebLogic Server は、(単純な Java プログラムとは対照的に) 標準の XML デプロイメント記述子 (client-application.xml) および WebLogic 固有のデプロイメント記述子と一緒に JAR ファイルにパッケージ化される J2EE クライアント アプリケーションもサポートしています。この仕様に基づいてクライアント アプリケーションをパッケージ化するには、クライアント コンピュータで weblogic.ClientDeployer コマンドライン ユーティリティを実行します。J2EE クライアント アプリケーションの詳細については、 クライアント アプリケーションのパッケージ化を参照してください。

 

back to top previous page next page