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

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

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

WebLogic Server アプリケーションと基本概念

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

 


J2EE プラットフォームおよび WebLogic Server

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 によって共同開発されました。

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

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

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

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

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

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

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

 


WebLogic Server 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 が自動的にコンパイルされます。「Ant タスクを使用してのコンパイル スクリプトの作成」を参照してください。

サーバでのコンパイルを避けるために、あらかじめ JSP をコンパイルし、サーブレット クラスを 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 コンパイラが動作している必要があります。「Java コードのコンパイル」を参照してください。

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 J2EE コネクタ アーキテクチャ』を参照してください。

 


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

エンタープライズ アプリケーションは、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 サービスは、次のモジュールで構成されています。

 


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

WebLogic Server アプリケーション モジュールにアクセスする、Java クライアントは、標準の I/O を使用する単純なコマンドライン ユーティリティから、Java Swing/AWT クラスを使用して構築された、高度な対話型の GUI アプリケーションまでさまざまです。Java クライアントは、HTTP リクエストまたは RMI リクエストを使用して、WebLogic Server モジュールに間接的にアクセスします。モジュールは、クライアント内ではなく、WebLogic Server 内で実行されます。

WebLogic Server の旧リリースでは、Java クライアントはクライアント マシン上に完全な WebLogic Server JAR を必要としました。WebLogic Server 8.1 は、シン クライアントと呼ばれる真の J2EE アプリケーション クライアントをサポートしています。小規模な標準 JAR と JMS JAR (それぞれ wlclient.jar および wljmsclient.jar) が、WebLogic Server のインストール ディレクトリの /server/lib サブディレクトリに用意されています。各 JAR ファイルは約 400KB です。

J2EE アプリケーション クライアントはクライアント マシン上で実行され、マークアップ言語で得られるよりも豊富なユーザ インタフェースを提供できます。アプリケーション クライアントはビジネス層で実行されているエンタープライズ JavaBean に直接アクセスし、適宜 HTTP を介して Web 層で実行されているサーブレットと通信できます。J2EE アプリケーション クライアントは Java アプリケーションですが、J2EE モジュールであるため、スタンドアロンの Java アプリケーション クライアントとは異なります。したがって、他の J2EE 準拠のサーバへ移植できるという利点があり、J2EE サービスにアクセスできます。シン クライアントの詳細については、『WebLogic RMI over IIOP プログラマーズ ガイド』の「J2EE アプリケーション クライアント (シン クライアント) の開発」を参照してください。

WebLogic Server でサポートしている全クライアント タイプの詳細については、『WebLogic RMI over IIOP プログラマーズ ガイド』の「RMI-IIOP プログラミング モデルの概要」を参照してください。

 


XML デプロイメント記述子

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

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

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

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

スコープ

デプロイメント記述子

Web アプリケーション

J2EE

web.xml

WebLogic Server Web アプリケーションの開発』の「web.xml デプロイメント記述子の要素」を参照。

WebLogic

weblogic.xml

WebLogic Server Web アプリケーションの開発』の「weblogic.xml デプロイメント記述子の要素」を参照。

エンタープライズ Bean

J2EE

ejb-jar.xml

Sun Microsystems EJB 2.0 DTD を参照。

WebLogic

weblogic-ejb-jar.xml

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

weblogic-cmp-rdbms-jar.xml

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

リソース アダプタ

J2EE

ra.xml

Sun Microsystems Connector 1.0 DTD を参照。

WebLogic

weblogic-ra.xml

WebLogic J2EE コネクタ アーキテクチャ』の「weblogic-ra.xml デプロイメント記述子の要素」を参照。

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

J2EE

application.xml

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

WebLogic

weblogic-application.xml

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

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

J2EE

application-client.xml

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

WebLogic

client-application.runtime.xml

WebLogic クライアント アプリケーションの実行時デプロイメント記述子」を参照。

モジュールまたはアプリケーションをパッケージ化する場合は、デプロイメント記述子を格納するディレクトリ (WEB-INF または META-INF) を作成し、次にそのディレクトリ内に XML デプロイメント記述子を作成します。そのために、さまざまなツールを使用することができます。「デプロイメント記述子の編集」を参照してください。

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

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

WebLogic Builder

WebLogic Builder は、WebLogic Server アプリケーションのデプロイメント記述子を生成および編集するための WebLogic Server ツールです。このツールでは、単一のサーバに WebLogic Server アプリケーションをデプロイすることもできます。『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 によって作成されます)。

デプロイメント記述子の編集

BEA では、WebLogic Server アプリケーションおよびモジュールのデプロイメント記述子の編集用にさまざまなツールを提供しています。これらのツールを使用して、デプロイメント記述子の既存の要素を更新したり、新しい要素を追加したり、既存の要素を削除したりできます。以下のようなツールがあります。

 


開発用ソフトウェア

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

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

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

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

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

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 アプリケーション サーバをサポートする製品の開発者ツール情報が記載されています。

このツールをダウンロードするには、「BEA WebLogic Server Downloads」を参照してください。

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

 

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