WebLogic Server Web アプリケーションの開発
![]() |
![]() |
![]() |
![]() |
以下の節では、WebLogic Server Web アプリケーションについて概説します。
Web アプリケーションの開発およびデプロイメントに際しては、このマニュアルと一緒に『WebLogic Server アプリケーションの開発』および『WebLogic Server アプリケーションのデプロイメント』を使用します。Web アプリケーションやその他の J2EE アプリケーションの作成、パッケージ化、および WebLogic Server へのデプロイメントについては、詳細な手順が説明されているこれら 2 冊のマニュアルを主に参照してください。それら 2 冊のマニュアルを補足する Web アプリケーション特有の手順やリファレンスについては、このマニュアル (『WebLogic Server Web アプリケーションの開発』) を参照してください。
Web アプリケーションには、サーブレット、JavaServer Pages (JSP)、JSP タグ ライブラリなどのアプリケーションのリソースと、HTML ページや画像ファイルなどの静的リソースが組み込まれています。また、Web アプリケーションは、エンタープライズ JavaBean (EJB) などの外部リソースへのリンクも定義できます。WebLogic Server にデプロイされる Web アプリケーションは、標準の J2EE デプロイメント記述子ファイルと WebLogic 固有のデプロイメント記述子ファイルを使用してそれらのリソースと操作属性を定義します。
JSP と HTTP サーブレットは、WebLogic Server で使用可能なすべてのサービスと API にアクセスできます。これらのサービスには、EJB、Java Database Connectivity (JDBC) を介したデータベース接続、Java Messaging Service (JMS)、XML などがあります。
Web アーカイブ (WAR ファイル) には、Web アプリケーションを構成するファイル (WAR ファイル) が格納されます。WAR ファイルは、1 つまたは複数の WebLogic Server インスタンスにユニットとしてデプロイされます。
WebLogic Server の Web アーカイブには、常に次のファイルが含まれます。
Web アーカイブには、HTML ページまたは XML ページ、およびそれらに付属する画像やマルチメディア ファイルなどのサポート ファイルが含まれている場合もあります。
WAR ファイルは、単独でデプロイすることも、他のアプリケーション コンポーネントと一緒にエンタープライズ アプリケーション アーカイブ (EAR ファイル) にパッケージ化することもできます。単独でデプロイする場合、アーカイブは .war 拡張子で終わる必要があります。EAR ファイルに含めてデプロイする場合、アーカイブは .ear 拡張子で終わる必要があります。
スタンドアロン Web アプリケーションは、エンタープライズ アプリケーションの一部としてパッケージ化およびデプロイすることをお勧めします。これは、アプリケーションの移行、追加、および変更を容易に行うことができるベスト プラクティスです。また、アプリケーションをエンタープライズ アプリケーションの一部としてパッケージ化することにより、分割開発ディレクトリ構造を活用できます。この構造には、従来の単一ディレクトリ構造に比べて多くの利点があります。 『WebLogic Server アプリケーションの開発』の「WebLogic Server アプリケーションの作成」を参照してください。
注意 : ディレクトリを展開形式 (非アーカイブ形式) でデプロイする場合は、ディレクトリに .ear、.jar などの名前を付けないでください。アーカイブ形式の詳細については、「Web アプリケーションのディレクトリ構造」を参照してください。
サーブレットは WebLogic Server で実行される Java クラスであり、クライアントからリクエストを受け取り、そのリクエストを処理して、必要に応じてクライアントに応答を返します。 GenericServlet は、プロトコルに依存せず、他の Java クラスからアクセスされるサービスを実装するために J2EE アプリケーションで使用できます。HttpServlet は、HTTP プロトコルのサポートで GenericServlet を拡張します。HttpServlet は主に、Web ブラウザのリクエストに応えて動的な Web ページを生成するために使用します。
Java Server Pages (JSP) は、Java コードを Web ページに埋め込むことができる拡張 HTML で記述された Web ページです。JSP では、HTML に似たタグを使用して、taglib と呼ばれるカスタム Java クラスを呼び出すことができます。WebLogic の appc コンパイラ (weblogic.appc) では、JSP の生成と記述子の検証が行われます。
サーバでのコンパイルを避けるために、あらかじめ JSP をコンパイルし、サーブレット クラスを Web アーカイブにパッケージ化することもできます。サーブレットおよび JSP では、アプリケーションと共にデプロイするヘルパー クラスがさらに必要な場合があります。
Web アプリケーションは、J2EE 仕様で定義されている標準ディレクトリ構造を採用しています。Web アプリケーションは、このディレクトリ構造を使用するファイルの集合としてデプロイする (展開ディレクトリ形式) か、WAR ファイルと呼ばれるアーカイブ ファイルとしてデプロイできます。WAR ファイルは、エンタープライズ アプリケーションの一部としてパッケージ化およびデプロイすることをお勧めします。これは、アプリケーションの移行、追加、および変更を容易に行うことができるベスト プラクティスです。また、Web アプリケーションをエンタープライズ アプリケーションの一部としてパッケージ化することにより、分割開発ディレクトリ構造を活用できます。この構造には、従来の単一ディレクトリ構造に比べて多くの利点があります。『WebLogic Server アプリケーションの開発』の「WebLogic Server アプリケーションの作成」を参照してください。
Web アプリケーション コンポーネントは、jar コマンドを使って作成される WAR ファイルをステージングするために各ディレクトリにアセンブルされます。HTML ページ、JSP ページといったこれらのコンポーネントから参照される Java クラス以外のファイルは、ステージング ディレクトリの最上位から順にアクセスされます。
WEB-INF ディレクトリには、Web アプリケーションのデプロイメント記述子 (web.xml および weblogic.xml) と、コンパイル済み Java クラスおよびライブラリ JAR ファイルを格納するための 2 つのサブディレクトリが格納されます。サブディレクトリの名前は classes と lib です。JSP taglib は、ステージング ディレクトリの最上位の WEB-INF ディレクトリに格納されます。Java クラスには、サーブレット、ヘルパー クラス、およびコンパイル済みの JSP (必要に応じて) などがあります。
Web アプリケーションに属するすべてのサーブレット、クラス、静的ファイル、およびその他のリソースは、ディレクトリ階層に基づいて配置されます。
ステージングが終了したら、jar コマンドを使用してディレクトリ全体を WAR ファイルにまとめます。WAR ファイルは、それだけでデプロイすることも、他の Web アプリケーション、EJB コンポーネント、WebLogic Server コンポーネントといった他のアプリケーション コンポーネントと一緒にエンタープライズ アプリケーションの一部としてデプロイする (推奨) こともできます。
JSP ページと HTTP サーブレットは、WebLogic Server で使用可能なすべてのサービスと API にアクセスできます。これらのサービスには、EJB、Java Database Connectivity (JDBC) を介したデータベース接続、JavaMessaging Service (JMS)、XML などがあります。
次に Web アプリケーションのディレクトリ構造の例を示します。ここでは、myWebApp/ がステージング ディレクトリです。
コード リスト 1-1Web アプリケーションのディレクトリ構造
myWebApp/
WEB-INF/
web.xml
weblogic.xml
lib/
MyLib.jar
classes/
MyPackage/
MyServlet.class
index.html
index.jsp
ここでは、分割開発ディレクトリ構造を使用し、エンタープライズ アプリケーションの一部として WebLogic Server アプリケーションを作成する際の手順を示します。『WebLogic Server アプリケーションの開発』の「WebLogic Server アプリケーションの作成」を参照してください。
WebLogic Server に付属の開発者向けツールを使用して Web アプリケーションを作成およびコンフィグレーションできます。「Web アプリケーション開発者向けツール」を参照してください。
application.xml
および weblogic-application.xml
) を META-INF\ ディレクトリに入れます。『WebLogic Server アプリケーションの開発』の「エンタープライズ アプリケーションのデプロイメント記述子の要素」を参照してください。 次のコマンドを実行すると、DDInit Java ユーティリティを使用してエンタープライズ アプリケーション記述子を自動生成できます。
java weblogic.marathon.ddinit.EarInit \myEAR
DDInit の詳細については、「WebLogic Server Java ユーティリティの使い方」を参照してください。
次のコマンドを実行すると、DDInit Java ユーティリティを使用して Web アプリケーション記述子を自動生成できます。
java weblogic.marathon.ddinit.WebInit \myEAR\myWebApp
DDInit の詳細については、「WebLogic Server Java ユーティリティの使い方」を参照してください。
ディレクトリ構造を設定したら、weblogic.BuildXMLGen ユーティリティを使用して build.xml ファイルを作成します。『WebLogic Server アプリケーションの開発』の「WebLogic Server アプリケーションの作成」を参照してください。
注意 : wlpackage Ant タスクは、Java ソース ファイルのコンパイルされたバージョンをビルド ディレクトリ (たとえば /build/myEAR/myWebApp/classes) に格納します。
クライアントが Web アプリケーションにアクセスするために使用する URL は、次のパターンで作成します。
http://hoststring
/ContextPath
/servletPath
/pathInfo
仮想ホスティングを使用している場合、URL の hoststring
の部分を仮想ホスト名に置き換えることができます。
BEA では、Web アプリケーションの作成とコンフィグレーションを支援するツールを提供しています。
WebLogic Builder は、J2EE アプリケーション モジュールをアセンブルし、デプロイメント記述子を作成および編集し、WebLogic Server にそれをデプロイするための、グラフィカル ツールです。
WebLogic Builder は、アプリケーションのデプロイメント記述子 XML ファイルを編集するためのグラフィカルな環境です。WebLogic Builder では、これらの XML ファイルをグラフィカルに編集しながら参照できるので、テキストによる編集は必要ありません。
WebLogic Builder では、次の開発タスクを行うことができます。
WebLogic Builder の詳細については、『WebLogic Builder オンライン ヘルプ』を参照してください。
スケルトン デプロイメント記述子を作成するときに、WebLogic Ant ユーティリティを使用できます。ANT ユーティリティは WebLogic Server 配布キットと共に出荷されている Java クラスです。ANT タスクによって、Web アプリケーションを含むディレクトリが調べられ、その Web アプリケーションで検出されたファイルを基にデプロイメント記述子が作成されます。ANT ユーティリティは、個別の Web アプリケーションに必要なコンフィグレーションやマッピングに関する情報をすべて備えているわけではないので、ANT ユーティリティによって作成されるスケルトン デプロイメント記述子は不完全なものです。ANT ユーティリティがスケルトン デプロイメント記述子を作成した後で、テキスト エディタ、XML エディタ、または Administration Console を使ってデプロイメント記述子を編集し、Web アプリケーションのコンフィグレーションを完全なものにしてください。
デプロイメント記述子を作成するための Ant ユーティリティの使用方法の詳細については、『WebLogic Server アプリケーションのデプロイメント』の「デプロイメント ツールのリファレンス」を参照してください。
XML ファイルを作成および編集するには、dev2dev にある BEA XML エディタや XMLSpy などの DTD 検証機能付き XML エディタを使用できます (このバージョンの WebLogic Server には XMLSpy の評価版が付属しています)。BEA dev2dev Online (http://www.beasys.co.jp/dev2dev/index.html) を参照してください。
appc コンパイラは、コンパイルによって、デプロイメント用の J2EE EAR ファイル、EJB JAR ファイル、および Web アプリケーション WAR ファイルを生成します。また、記述子が、個々のモジュール レベルとアプリケーション レベルの両方で現在の仕様に準拠しているかどうかも検証します。アプリケーション レベルのチェックには、アプリケーション レベルのデプロイメント記述子と個々のモジュールとのチェックだけでなく、モジュール間の検証チェックも含まれます。記述子について警告またはエラーが検出された場合は、appc コンパイラによって報告されます。最終的には、appc コンパイラがすべての関連モジュールをコンパイルし、WebLogic Server にデプロイできる EAR ファイルを生成します。
prompt>java weblogic.appc [options] <ear, jar, or war file or directory>
たとえば、myWebApp.war の記述子を検証し、jsp ファイルをコンパイルして、生成されたクラス ファイルを使用して WAR ファイルを更新するには、次のコマンドを実行します。
java weblogic.appc -keepgenerated myWebApp.war
appc オプションのリストについては、『WebLogic Server アプリケーションの開発』の「Java コードのコンパイル」を参照してください。
次のように wlappc Ant タスクを使用して appc コンパイラを起動します。
<wlappc source="${dest.dir}" />
wlappc オプションのリストについては、『WebLogic Server アプリケーションの開発』の「Java コードのコンパイル」を参照してください。
Web アプリケーションにセキュリティを設定するには、Web アプリケーション内の特定の URL パターンへのアクセスを制限するか、またはサーブレット コードをプログラミングすることでセキュリティの呼び出しを使用します。
実行時には、ユーザ名とパスワードが、Web アプリケーションに該当するセキュリティ レルムを使用して認証されます。
web.xml または、Web アプリケーションの Administration Console を使用して作成された外部ポリシーでコンフィグレーションされているセキュリティ制約に従って、認可が確認されます。Administration Console を使用したポリシーの作成方法については、オンライン ヘルプを参照してください。
実行時には、WebLogic Server のアクティブなセキュリティ レルムによって、Web アプリケーション セキュリティ制約が指定の Web アプリケーション リソースに適用されます。セキュリティ レルムは複数の仮想ホスト間で共有されることに注意してください。
Web アプリケーションのセキュリティ コンフィグレーションの詳しい手順や例については、『WebLogic リソースのセキュリティ』を参照してください。WebLogic セキュリティの詳細については、『WebLogic Security プログラマーズ ガイド』を参照してください。
![]() ![]() |
![]() |
![]() |