ナビゲーションをスキップ

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

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

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

以下の節では WebLogic Server® アプリケーションと基本概念について概説します。

 


マニュアルの内容と対象読者

このマニュアルは、Sun Microsystems の Java 2 Platform、Enterprise Edition (J2EE) を使用して WebLogic Server e-コマース アプリケーションをビルドするアプリケーション開発者を対象としています。Web 技術、オブジェクト指向プログラミング技術、および Java プログラミング言語について読者が精通していることを前提としています。

WebLogic Server アプリケーションは、Java プログラマ、Web デザイナ、アプリケーション アセンブラによって作成されます。プログラマとデザイナは、アプリケーションのビジネス ロジックとプレゼンテーション ロジックを実装するモジュールを作成します。アプリケーション アセンブラは、WebLogic Server にデプロイ準備完了のアプリケーションにモジュールをアセンブルします。

 


WebLogic Server と J2EE プラットフォーム

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

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

J2EE では、モジュールの動作とパッケージ化が汎用的で移植性の高い方法で定義されています。このため、実行時コンフィグレーションはモジュールを実際にアプリケーション サーバにデプロイするときに行います。

J2EE には、Web アプリケーション、EJB モジュール、Web サービス、エンタープライズ アプリケーション、クライアント アプリケーション、およびコネクタ用のデプロイメント仕様が含まれています。J2EE では、どのようにアプリケーションを対象サーバにデプロイするかは指定されておらず、標準のコンポーネントまたはアプリケーションをパッケージ化する方法だけが指定されています。

モジュールのタイプごとに、この仕様には必要なファイルとそれらのディレクトリ構造上の格納場所が定義されています。

注意 : J2EE には下位互換性があるため、WebLogic Server 8.1 以降で引き続き J2EE 1.4 アプリケーションを実行できます。

Java はプラットフォームに依存しないので、任意のプラットフォームでコードの編集とコンパイルを行い、別のプラットフォームで稼働する開発用 WebLogic Server でアプリケーションをテストできます。たとえば、WebLogic Server アプリケーションを Windows または Linux が動作している PC で開発する場合、そのアプリケーションが最終的にどこにデプロイされるかを考慮する必要はありません。

詳細については、J2EE 1.4 仕様 (http://java.sun.com/j2ee/download.html#platformspec) を参照してください。

 


J2EE アプリケーションとモジュールの概要

BEA WebLogic ServerTM J2EE アプリケーションは、WebLogic Server 上で動作する以下のモジュールまたはアプリケーションのいずれかを含みます。

 


Web アプリケーション モジュール

WebLogic Server の Web アプリケーションには、以下のファイルが含まれています。

サーブレット

サーブレットは WebLogic Server で実行される Java クラスであり、クライアントからリクエストを受け取り、そのリクエストを処理して、必要に応じてクライアントに応答を返します。HttpServlet は主に、Web ブラウザのリクエストに応えて動的な Web ページを生成するために使用します。

JavaServer Pages

JavaServer Pages (JSP) は、Java コードを Web ページに埋め込むことができる拡張 HTML で記述された Web ページです。JSP では、HTML に似たタグを使用して、タグ ライブラリと呼ばれるカスタム Java クラスを呼び出すことができます。appc コンパイラは、JSP をコンパイルし、サーブレットに変換します。WebLogic Server では、サーブレット クラス ファイルが存在しないか、または JSP ソース ファイルよりもタイムスタンプが古い場合に JSP が自動的にコンパイルされます。「wlappc を使用したモジュールおよびアプリケーションのビルド」を参照してください。

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

Web アプリケーション モジュールの詳細

以下を参照してください。

 


エンタープライズ JavaBean モジュール

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

EJB の概要

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

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

コンテナは、メッセージ駆動型 Bean のインスタンスを作成するか、またはインスタンスをプールから割り当てて、メッセージを処理します。JMS 送り先でメッセージが受信されると、メッセージ駆動型 Bean ではメッセージを処理するためにそれ自身のインスタンスがプールから割り当てられます。メッセージ駆動型 Bean は、クライアントとは関連付けられません。メッセージ駆動型 Bean では、到着したメッセージが処理されるだけです。

EJB と WebLogic Server

J2EE では、EJB 仕様をサポートする EJB サーバの間でモジュールを確実に移植できるように、開発とデプロイメントのロールが明確に区別されます。WebLogic Server に EJB をデプロイするには、その EJB のセキュリティ、トランザクション、およびライフ サイクルの各ポリシーを実行するクラスを生成する WebLogic Server appc コンパイラが動作している必要があります。「wlappc を使用したモジュールおよびアプリケーションのビルド」を参照してください。

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

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

エンタープライズ JavaBean の詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』を参照してください。

 


コネクタ モジュール

コネクタ (リソース アダプタとも呼ぶ) には Java、および必要に応じて、エンタープライズ情報システム (EIS) と対話するために必要なネイティブ モジュールが含まれています。WebLogic Server 環境にデプロイされたリソース アダプタを使用すると、J2EE アプリケーションでリモート EIS にアクセスできるようになります。WebLogic Server アプリケーションの開発者は、HTTP サーブレット、JavaServer Pages (JSP)、エンタープライズ JavaBean (EJB)、およびその他の API を使用して、EIS のデータとビジネス ロジックを使う統合アプリケーションを開発できます。

WebLogic Server にリソース アダプタをデプロイするには、まず WebLogic Server 固有のデプロイメント記述子である weblogic-ra.xml ファイルを作成してコンフィグレーションし、これをデプロイメント ディレクトリに追加する必要があります。WebLogic Server へのリソース アダプタのデプロイは、スタンドアロン モジュールとしてでも、エンタープライズ アプリケーションの一部としてでも行えます。「エンタープライズ アプリケーション」を参照してください。

コネクタの詳細については、『WebLogic リソース アダプタ プログラマーズ ガイド』を参照してください。

 


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

エンタープライズ アプリケーションは、1 つまたは複数の Web アプリケーション モジュール、EJB モジュール、およびリソース アダプタで構成されています。クライアント アプリケーションが含まれていることもあります。エンタープライズ アプリケーションは、エンタープライズ アプリケーションの標準 J2EE デプロイメント記述子である application.xml ファイルによって定義されます。WebLogic Server 固有の拡張機能が含まれているアプリケーションの場合は、さらに weblogic-application.xml でも定義されます。クライアント モジュールを含むエンタープライズ アプリケーションには、application-client.xml デプロイメント記述子と WebLogic 実行時クライアント アプリケーション デプロイメント記述子も備わっています。「エンタープライズ アプリケーションのデプロイメント記述子の要素」を参照してください。

プロダクション目的の場合と開発目的の場合の双方において、スタンドアロンの Web アプリケーション、EJB、およびリソース アダプタであっても、エンタープライズ アプリケーションの一部としてパッケージ化およびデプロイすることをお勧めします。それにより、アプリケーション開発を大幅に容易化する BEA の新しい分割開発ディレクトリ構造を利用できるようになります。「分割開発ディレクトリ環境の作成」を参照してください。

エンタープライズ アプリケーションは、Web アプリケーション モジュール、EJB モジュール、およびリソース アダプタで構成されています。これは次のようにパッケージ化できます。

META-INF/application.xml デプロイメント記述子には、各 Web アプリケーション、EJB、およびコネクタ モジュールの要素のほか、セキュリティ ロールやアプリケーション リソース (データベースなど) を記述するための追加の要素があります。「エンタープライズ アプリケーションのデプロイメント記述子の要素」を参照してください。

 


WebLogic Web サービス

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

Web サービスは、次のモジュールで構成されています。

 


XML デプロイメント記述子

モジュールとアプリケーションには、ディレクトリまたは JAR ファイルの内容を記述したデプロイメント記述子という XML ドキュメントが組み込まれています。デプロイメント記述子は、XML タグでフォーマットされたテキスト ドキュメントです。J2EE 仕様では、J2EE モジュールおよびアプリケーション用の標準的で移植性の高いデプロイメント記述子が定義されています。BEA では、モジュールまたはアプリケーションを WebLogic Server 環境にデプロイするときに使用する WebLogic 固有のデプロイメント記述子をさらに定義しています。

表 1-1 に、モジュールとアプリケーションのタイプと、それらの J2EE 標準および WebLogic 固有のデプロイメント記述子を示します。

表 1-1 J2EE と WebLogic のデプロイメント記述子

モジュールまたは
アプリケーション

スコープ

デプロイメント記述子

Web アプリケーション

J2EE

web.xml

Sun Microsystems Servlet 2.4 Schema を参照。

WebLogic

weblogic.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd

詳細については、『WebLogic Server Web アプリケーション、サーブレット、JSP の開発』の「weblogic.xml デプロイメント記述子の要素」を参照。

エンタープライズ Bean

J2EE

ejb-jar.xml

Sun Microsystems EJB 2.1 Schema を参照。

WebLogic

weblogic-ejb-jar.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd

詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「weblogic-ejb-jar.xml デプロイメント記述子のリファレンス」を参照。

weblogic-cmp-rdbms-jar.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-rdbms20-persistence.xsd

『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「weblogic-cmp-jar.xml デプロイメント記述子のリファレンス」を参照。

Web サービス

J2EE

webservices.xml

Sun Microsystems Web Services 1.1 Schema を参照。

WebLogic

weblogic-webservices.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-wsee.xsd

WebLogic Web サービス プログラマーズ ガイド』の「WebLogic Web サービス デプロイメント記述子要素のリファレンス」を参照

リソース アダプタ

J2EE

ra.xml

Sun Microsystems Connector 1.5 Schema を参照。

WebLogic

weblogic-ra.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-ra.xsd

WebLogic リソース アダプタ プログラマーズ ガイド』の「weblogic-ra.xml スキーマ」を参照。

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

J2EE

application.xml

Sun Microsystems Application 1.4 Schema を参照。

WebLogic

weblogic-application.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-application.xsd

weblogic-application.xml デプロイメント記述子の要素」を参照。

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

J2EE

application-client.xml

Sun Microsystems Application Client 1.4 Schema を参照。

WebLogic

weblogic-appclient.xml

スキーマ : http://www.bea.com/ns/weblogic/90/weblogic-appclient.xsd

スタンドアロン クライアント プログラマーズ ガイド』を参照。

注意 : 上記の表にリストされている WebLogic デプロイメント記述子の XML スキーマには、WebLogic 固有のすべてのデプロイメント記述子で共有される要素を記述する weblogic-j2ee.xsd スキーマの要素も含まれています。

モジュールまたはアプリケーションをパッケージ化する場合は、デプロイメント記述子を格納するディレクトリ (WEB-INF または META-INF) を作成し、次にそのディレクトリ内に XML デプロイメント記述子を作成します。

デプロイメント記述子の自動生成

WebLogic Server では、デプロイメント記述子を自動生成するためのさまざまなツールを用意しています。これらについては、これ以降の節で説明します。

EJBGen

EJBGen は、Javadoc マークアップを使用して EJB デプロイメント記述子ファイルを生成するエンタープライズ JavaBeans 2.0 のコード ジェネレータ (コマンドライン ツール) です。Bean クラス ファイルに Javadoc タグでアノテーションを付け、EJBGen を使用してリモート クラスとホーム クラス、および EJB アプリケーション用のデプロイメント記述子ファイルを生成し、EJB .java および記述子ファイルの編集および管理が必要なファイルを 1 つに減らせます。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「EJBGen リファレンス」を参照してください。

Java ベースのコマンドライン ユーティリティ

WebLogic Server には、Web アプリケーションやエンタープライズ JavaBean (バージョン 2.0) の標準 J2EE デプロイメント記述子と WebLogic 固有のデプロイメント記述子の双方を自動的に生成する Java ベースのコマンドライン ユーティリティがあります。

これらのコマンドライン ユーティリティは、ステージング ディレクトリにアセンブルしたクラスを検証し、サーブレット クラス、EJB クラスなどを基に適切なデプロイメント記述子を構築します。以下のようなユーティリティがあります。

たとえば、DDInit では、WEB-INF ディレクトリ、JSP ファイル、および Web アプリケーションを構成するその他のオブジェクトを含む c:\stage というディレクトリを作成したものの、web.xml および weblogic.xml デプロイメント記述子を作成していない場合があります。それらを自動的に生成するには、次のコマンドを実行します。

java weblogic.marathon.ddInit.WebInit c:\stage

ユーティリティによって web.xml および weblogic.xml デプロイメント記述子が生成され、WEB-INF ディレクトリに配置されます (WEB-INF ディレクトリがない場合は DDInit によって作成されます)。

以前のリリースの J2EE および WebLogic Server のデプロイメント記述子のアップグレード

WebLogic Server の新しいリリースにアプリケーションを移行する場合は、現行の J2EE 仕様と WebLogic Server のリリースの機能をアプリケーションで利用できるように、必ずデプロイメント記述子をアップグレードしておくことをお勧めします。

J2EE アプリケーションとモジュールのデプロイメント記述子をアップグレードするには、まず weblogic.DDConverter ツールを使用して、アップグレードした記述子を一時ディレクトリに生成します。アップグレードしたデプロイメント記述子を調べて、その記述子が正しいことを確認したら、新しいデプロイメント記述子ファイルを持つ J2EE モジュール アーカイブまたは展開されたディレクトリを再パッケージ化します。

次のコマンドで weblogic.DDConverter を呼び出します。

java weblogic.DDConverter [options] archive_file_or_directory

archive_file_or_directory は、エンタープライズ アプリケーション、Web アプリケーション、EJB、リソース アダプタのアーカイブ ファイル (EAR、WAR、JAR、RAR) または展開されたディレクトリです。

次の表では、weblogic.DDConverter コマンド オプションを説明します。

表 1-2 weblogic.DDConverter コマンド オプション

オプション

解説

-d <dir>

記述子が作成されるディレクトリを指定する。

-help

標準の使い方メッセージを出力する。

-quiet

エラー メッセージを除く出力メッセージをオフにする。

-verbose

デバッグで使用する追加出力をオンにする。

次の例では、weblogic.DDConverter コマンドを使用して、my.ear エンタープライズ アプリケーションのアップグレードされたデプロイメント記述子をカレント ディレクトリのサブディレクトリ tempdir に生成する方法を示します。

java weblogic.DDConverter -d tempdir my.ear

 


開発ソフトウェア

この節では、WebLogic Server アプリケーションを開発するための必須ツールや省略可能なツールについて説明します。

Apache Ant

WebLogic Server によるアプリケーションのビルド方法としては、Apache Ant が最適です。Ant は、Java ベースの構築ツールです。Ant の利点の 1 つは、これがシェルベースのコマンドではなく、Java クラスで拡張されていることです。WebLogic Server 分割開発ディレクトリ環境を使用してアプリケーションをコンパイル、ビルド、デプロイ、パッケージ化するためのさまざまな Ant 拡張クラスを利用できます。

もう 1 つの利点は、Ant がクロスプラットフォーム ツールであるということです。開発者は、eXtensible Markup Language (XML) で、Ant によるスクリプトを作成します。XML タグは構築対象、対象間の依存性、および対象を構築するための実行タスクを定義します。Ant ライブラリは WebLogic Server に付属していて、製品パッケージから Java アプリケーションを簡単に構築できるようになっています。

Ant を使用するには、まず WL_SERVER\samples\domains\wl_server ディレクトリ (WL_SERVER は WebLogic Server インストール ディレクトリ) にあるsetExamplesEnv.cmd (Windows) または setExamplesEnv.sh (UNIX) コマンドを実行して、環境を設定する必要があります。

デフォルトでは、環境スクリプトは 128 MB のヒープ サイズを Ant に割り当てます。ローカル環境変数 ANT_OPTS-X オプションを設定すると、この値を独自のプロジェクトに合わせて増減できます。次に、例を示します。

prompt> setenv ANT_OPTS=-Xmx128m

ヒープ サイズを永続的に設定する場合は、環境を設定するスクリプトの MEM_ARGS 変数を追加または更新し、WebLogic Server を起動するなどの操作を行います。次の、WebLogic Server インスタンスを起動する Windows コマンド スクリプトの抜粋を参照してください。

set MEM_ARGS=-Xms32m -Xmx200m

MEM_ARGS 変数の使用例については、WL_HOME/server/bin のスクリプトとコマンドを参照してください。

Ant の機能の包括的な説明については、http://jakarta.apache.org/ant/manual/index.html を参照してください。

クロスプラットフォーム スクリプトをコンパイルする Ant の使い方、または Ant によって処理可能な XML スクリプトを作成するクロスプラットフォーム スクリプトの使い方については、WL_HOME/samples/server/examples/src/examples/ejb20/basic/beanManaged/build.xml などの任意の WebLogic Server サンプルを参照してください。

また、Ant を使ってサンプルを構築する方法を説明した WebLogic Server ドキュメント (WL_HOME/samples/server/examples/src/examples/examples.html) も参照してください。

ソース コード エディタまたは IDE

Java ソース ファイル、コンフィグレーション ファイル、HTML または XML ページ、および JavaServer Pages の編集には、テキスト エディタが必要です。Windows と UNIX の行末の違いを適切に処理するエディタが望ましいですが、それ以外に特別な要件は何もありません。HTML/XML ページおよび JavaServer Pages は、通常のテキスト エディタか、または DreamWeaver などの Web ページ エディタで編集できます。XML ページの場合は、BEA XML エディタまたは XMLSpy (WebLogic Server パッケージの一部としてバンドルされている) も使用できます。BEA dev2dev Online を参照してください。

データベース システムと JDBC ドライバ

データベース システムは、ほぼすべての WebLogic Server アプリケーションで必要となります。標準 JDBC ドライバを介してアクセスできる任意の DBMS を使用できますが、WebLogic Java Message Service (JMS) などのサービスでは、Oracle、Sybase、Informix、Microsoft SQL Server、IBM DB2、または PointBase をサポートする JDBC ドライバが必要です。サポート対象のデータベース システムと JDBC ドライバについては、『WebLogic Platform サポート対象のコンフィグレーション』を参照してください。

Web ブラウザ

ほとんどの J2EE アプリケーションは、Web ブラウザ クライアントによって実行されるように設計されています。WebLogic Server は HTTP 1.1 仕様をサポートしており、Netscape Communicator および Microsoft Internet Explorer ブラウザの現行バージョンでテストされています。

作成するアプリケーションの条件を書き出す場合、どの Web ブラウザ バージョンをサポートするかに留意してください。テスト プランは、サポートするバージョンごとに作成します。バージョン番号とブラウザ コンフィグレーションは明確に指定します。作成するアプリケーションはセキュア ソケット レイヤ (SSL) プロトコルをサポートしますか。ブラウザの代替セキュリティ設定をテストして、サポートしているセキュリティをユーザに知らせることができるようにします。

アプリケーションがアプレットを使用する場合、さまざまなブラウザに埋め込まれている JVM の違いのために、サポートするブラウザのコンフィグレーションをテストすることが特に重要です。解決策の 1 つは、Sun から Java Plug-in をインストールするようユーザに指示して、すべてのユーザが同じ Java ランタイム バージョンを持つようにすることです。

サードパーティ ソフトウェア

サードパーティのソフトウェア製品を使用して、WebLogic Server 開発環境を強化することができます。「BEA WebLogic Developer Tools Resources」を参照してください。このページには、BEA アプリケーション サーバをサポートする製品の開発者ツール情報が記載されています。

これらのツールをダウンロードするには、「ユーティリティ & ツール」を参照してください。

注意 : ソフトウェア ベンダに問い合わせて、使用しているプラットフォームと WebLogic Server のバージョンにソフトウェアが対応しているかどうかを確認してください。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次