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

Web アプリケーションのアセンブルとコンフィグレーション

 Previous Next Contents Index PDF で侮ヲ  

Web アプリケーションの基本事項

この章では、Web アプリケーションをコンフィグレーションおよびデプロイする方法について説明します。

 


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 アーカイブには、Web アプリケーションを構成するファイル (WAR ファイル) が格納されます。WAR ファイルは、1 つまたは複数の WebLogic Server にユニットとしてデプロイされます。

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

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

WAR ファイルは、単独でデプロイすることも、他のアプリケーション コンポーネントと一緒にエンタープライズ アーカイブ (EAR ファイル) にパッケージ化することもできます。単独でデプロイする場合、アーカイブは .war 拡張子で終わる必要があります。EAR ファイルに含めてデプロイする場合、アーカイブは .ear 拡張子で終わる必要があります。(注意 : ディレクトリ全体をデプロイする場合は、ディレクトリ名に .ear、.war、.jar などを付けないでください。)

サーブレット

サーブレットは 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 アプリケーションは J2EE 仕様で定義されている標準ディレクトリ構造を採用しており、このディレクトリ構造を使用するファイルの集合としてデプロイされるか (この種のデプロイメントを展開ディレクトリ形式 と呼ぶ)、または WAR ファイルというアーカイブ ファイルとしてデプロイされます。展開ディレクトリ形式による Web アプリケーションのデプロイは、主にアプリケーションの開発時に行います。WAR ファイルによる Web アプリケーションのデプロイは、主にプロダクション環境で行います。

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

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

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

JSP ページと HTTP サーブレットは、WebLogic Server で使用可能なすべてのサービスと API にアクセスできます。これらのサービスには、EJB、Java Database Connectivity (JDBC) を介したデータベース接続、JavaMessaging Service (JMS)、XML などがあります。

 


Web アプリケーション作成の主な手順

次に示すのは、Web アプリケーション作成の手順をまとめたものです。WebLogic Server に付属の開発者向けツールを使用して Web アプリケーションを作成およびコンフィグレーションできます。詳細については、Web アプリケーション開発者向けツールを参照してください。

Web アプリケーションを作成するには、次の手順に従います。

  1. Web アプリケーションの Web インタフェースを構成する HTML ページおよび JSP を作成します。通常、Web デザイナは、Web アプリケーションのこの部分を作成します。

    WebLogic JSP プログラマーズ ガイド』を参照してください。

  2. サーブレットと、JavaServer Pages (JSP) で参照される JSP taglibs 用の Java コードを記述します。通常、Java プログラマは、Web アプリケーションのこの部分を作成します。

    WebLogic HTTP サーブレット プログラマーズ ガイド』を参照してください。

  3. サーブレットをクラス ファイルにコンパイルします。

    WebLogic Server J2EE アプリケーションの開発」の「コンパイルの準備」を参照してください。

  4. リソース (サーブレット、JSP、静的ファイル、およびデプロイメント記述子) を指定のディレクトリ形式に従って配置します。ディレクトリ構造を参照してください。

  5. WebLogic アプリケーション デプロイメント記述子 (web.xml) を作成し、Web アプリケーション用の WEB-INF ディレクトリに配置します。この手順では、サーブレットの登録、サーブレット初期化パラメータの定義、JSP タグ ライブラリの登録、セキュリティ制約の定義、およびその他の Web アプリケーション パラメータの定義を行います。

    web.xml デプロイメント記述子の作成および「WebLogic Builder」を参照してください。

    Web アプリケーション デプロイメント記述子はさまざまな方法で編集できます (デプロイメント記述子を編集するためのツールを参照)。

  6. WebLogic 固有のデプロイメント記述子 (weblogic.xml) を作成し、Web アプリケーション用の WEB-INF ディレクトリに配置します。この手順では、JSP プロパティ、JNDI マッピング、セキュリティ ロール マッピング、および HTTP セッション パラメータの定義方法を指定します。

    WebLogic 固有のデプロイメント記述子 (weblogic.xml) の記述および「WebLogic Builder」を参照してください。

    Web アプリケーション デプロイメント記述子はさまざまな方法で編集できます (デプロイメント記述子を編集するためのツールを参照)。

  7. Web アプリケーションのファイルを WAR ファイルにアーカイブします (開発中には、展開ディレクトリ形式でアプリケーションを開発して Web アプリケーションの各コンポーネントを更新するほうが便利です)。次のコマンドを Web アプリケーションのルート ディレクトリから使用します。
    jar cv0f myWebApp.war .

    このコマンドでは、myWebApp.war という Web アプリケーションのアーカイブ ファイルが作成されます。

  8. Web アプリケーションをエンタープライズ アプリケーションの一部としてデプロイする場合、WAR ファイルをエンタープライズ アプリケーション アーカイブ (EAR ファイル) に組み込みます。エンタープライズ アプリケーションの一部としての Web アプリケーションのデプロイメントを参照してください。

  9. Web アプリケーションまたはエンタープライズ アプリケーションを WebLogic Server にデプロイします。この最後の手順により、Web アプリケーションは WebLogic Server 上でリクエストを処理するようコンフィグレーションされます。Web アプリケーションのデプロイメントを参照してください。

 


ディレクトリ構造

Web アプリケーションは、指定されたディレクトリ構造の中で開発します。これにより、Web アプリケーションをアーカイブして、WebLogic Server または別の J2EE 対応サーバにデプロイできるようになります。Web アプリケーションに属するすべてのサーブレット、クラス、静的ファイル、およびその他のリソースは、ディレクトリ階層に基づいて配置されます。この階層のルートは、Web アプリケーションのドキュメント ルートを定義します。このルート ディレクトリの下に置かれたファイルは、WEB-INF という特別なディレクトリの下にあるファイルを除き、すべてクライアントに提供されます。Web アプリケーションの名前は、Web アプリケーションのコンポーネントに対するリクエストを解決するために使われます。

非公開ファイルは、ルート ディレクトリの下の WEB-INF ディレクトリに配置します。WEB-INF の下のすべてのファイルは公開されず、クライアントには提供されません。

DefaultWebApp/

このディレクトリ (Web アプリケーションのドキュメント ルート) には、HTML ファイルなどの静的ファイルと JSP ファイルを配置します。WebLogic Server のデフォルトでは、このディレクトリの名前は DefaultWebApp で、user_domains/mydomain/applications の下に置かれます。

DefaultWebApp/WEB-INF/web.xml

Web アプリケーションをコンフィグレーションするデプロイメント記述子です。

DefaultWebApp/WEB-INF/weblogic.xml

WebLogic 固有のデプロイメント記述子 ファイルです。このファイルには、web.xml ファイルに記述されたリソースを WebLogic Server 内の別の場所に存在するリソースにマップする方法が定義されます。またこのファイルは、JSP および HTTP セッション属性を定義するために使用されます。

DefaultWebApp/WEB-INF/classes

HTTP サーブレットやユーティリティ クラスなどのサーバサイド クラスが格納されます。

DefaultWebApp/WEB-INF/lib

JSP タグ ライブラリなど、Web アプリケーションによって使用される JAR ファイルが格納されます。

 


URL と Web アプリケーション

クライアントが Web アプリケーションにアクセスするために使用する URL は、次のパターンで作成します。

http://hoststring/ContextPath/servletPath/pathInfo

各要素の説明は次のとおりです。

hoststring

仮想ホストにマップされるホスト名または hostname:portNumber

ContextPath

Web アプリケーションのコンテキスト ルート (application.xml または weblogic.xml で指定されている場合)。 コンテキスト ルートが指定されていない場合、ContextPath は Web アプリケーションのアーカイブ ファイルの名前 (myWebApp.war など) または Web アプリケーションがデプロイされたディレクトリの名前になる

servletPath

servletPath にマップされるサーブレット

pathInfo

URL の残りの部分 (通常はファイル名)

仮想ホスティングを使用している場合、URL の hoststring の部分を仮想ホスト名に置き換えることができます。

詳細については、「WebLogic Server による HTTP リクエストの解決方法」を参照してください。

 


Web アプリケーション開発者向けツール

BEA では、Web アプリケーションの作成とコンフィグレーションを支援するツールを提供しています。

WebLogic Builder

WebLogic Builder は、J2EE アプリケーション モジュールを作成し、そのデプロイメント記述子を作成および編集して、それを WebLogic Server にデプロイするためのグラフィカル ツールです。

WebLogic Builder には、アプリケーションのデプロイメント記述子 XML ファイルを編集するためのビジュアル編集環境が用意されています。WebLogic Builder では、これらの XML ファイルをビジュアルに編集しながら参照できるので、テキストによる編集は必要ありません。

WebLogic Builder では、次の開発タスクを行うことができます。

WebLogic Builder」を参照してください。

スケルトン デプロイメント記述子を作成する ANT タスク

スケルトン デプロイメント記述子を作成するときに、WebLogic ANT ユーティリティを使用できます。ANT ユーティリティは WebLogic Server 配布キットと共に出荷されている Java クラスです。ANT タスクによって、Web アプリケーションを含むディレクトリが調べられ、その Web アプリケーションで検出されたファイルを基にデプロイメント記述子が作成されます。ANT ユーティリティは、個別の Web アプリケーションに必要なコンフィグレーションやマッピングに関する情報をすべて備えているわけではないので、ANT ユーティリティによって作成されるスケルトン デプロイメント記述子は不完全なものです。ANT ユーティリティがスケルトン デプロイメント記述子を作成した後で、テキスト エディタ、XML エディタ、または Administration Console を使ってデプロイメント記述子を編集し、Web アプリケーションのコンフィグレーションを完全なものにしてください。

ANT ユーティリティを使ってデプロイメント記述子を作成する方法の詳細については、「Web アプリケーションのパッケージ化」を参照してください。

Web アプリケーション デプロイメント記述子エディタ

WebLogic Server の Administration Console には、統合されたデプロイメント記述子エディタがあります。この統合エディタを使用する前に、少なくともスケルトン web.xml デプロイメント記述子を作成しておく必要があります。

詳細については、「Web アプリケーションのデプロイメント記述子の記述」および「Web アプリケーション デプロイメント記述子エディタ (war)」を参照してください。

BEA XML エディタ

BEA XML エディタは、指定した DTD または XML スキーマに基づいて XML コードを検証します。この XML エディタは Windows または Solaris マシンで使用でき、BEAの Dev2Dev Online からダウンロードできます。

 

Back to Top Previous Next