BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

WebLogic Server アプリケーションの開発

 Previous Next Contents Index PDF で侮ヲ  

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

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

 


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

BEA WebLogic Server J2EE アプリケーションは、WebLogic Server 上で動作する以下のコンポーネントのいずれかを含みます。

コンポーネントは、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.Deployer コマンドライン ユーティリティを使用して、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) バージョン 1.3 の技術 (http://java.sun.com/j2ee/sdk_1.3/index.html) を実装しています。J2EE は、Java プログラミング言語に基づいた多層エンタープライズ アプリケーションを開発するための標準プラットフォームです。J2EE を構成する技術は、BEA Systems をはじめとするソフトウェア ベンダと Sun Microsystems によって共同開発されました。

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

注意: J2EE には下位互換性があるため、WebLogic Server 7.0 上で引き続き J2EE 1.2 を実行できます。

 


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

Web アーカイブ (WAR) ファイルには、.war 拡張子が付いており、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

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

サーバでのコンパイルを避けるために、あらかじめ JSP をコンパイルし、サーブレット クラスを WAR ファイルにパッケージ化することもできます。サーブレットおよび JSP では、アプリケーションと共にデプロイするヘルパー クラスがさらに必要な場合があります。

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

Web アプリケーション コンポーネントを、ディレクトリ内でアセンブルし、それらを jar コマンドを使用して WAR ファイルにパッケージ化します。

これらのコンポーネントが参照する HTML ページ、JSP、および Java クラス以外のファイルは、ステージング ディレクトリの最上位から順にアクセスされます。

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

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

Web アプリケーション ディレクトリ構造の詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』の「Web アプリケーションのディレクトリ構造」を参照してください。

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 ファイル (拡張子 .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 をデプロイするには、その EJB のセキュリティ、トランザクション、およびライフ サイクルの各ポリシーを実行するクラスを生成する WebLogic EJB コンパイラ、weblogic.ejbc が動作している必要があります。

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

WebLogic Server 環境にデプロイされたリソース アダプタを使用すると、J2EE アプリケーションでリモート EIS システムにアクセスできるようになります。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 拡張子の付いた EAR ファイルにパッケージ化されています。

META-INF/application.xml デプロイメント記述子には、各 Web コンポーネントおよび EJB コンポーネントのエントリのほか、セキュリティ ロールやアプリケーション リソース (データベースなど) を記述する追加エントリがあります。

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

 


WebLogic Web サービス

Web サービスは、分散型 Web ベース アプリケーションのコンポーネントとして共有して使用されます。これらのサービスは一般的に、CRM (カスタマ リレーションシップ マネージメント) システム、注文処理システムなどの既存のバックエンド アプリケーションとインタフェースします。Web サービスは別々のコンピュータ上に常駐でき、多様なテクノロジを使用して実装することができますが、XML や HTTP などの標準の Web プロトコルを使用してパッケージ化され転送されます。そのため、Web 上のどのようなユーザでも簡単にアクセスできます。

Web サービスは、次のコンポーネントで構成されています。

WebLogic Web サービスの設計、開発、および起動の詳細については、の『WebLogic Web サービス プログラマーズ ガイド』を参照してください。

 


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

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

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

WebLogic Server Java クライアントを実行するには、クライアント コンピュータで、weblogic.jar ファイル、WebLogic Server 上のすべての RMI クラスとエンタープライズ Bean のリモート インタフェース、およびクライアント アプリケーション クラスが必要となります。

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

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

 


命名規約

WebLogic Server では、WAR、EAR、JAR、および RAR アーカイブ ファイルおよび展開ディレクトリについて、以下のプログラム上の命名規約に従う必要があります。

 

Back to Top Previous Next