|
機能ガイド 05/21/03 11:36:28 |
この章では、JSP開発を迅速に進めるためにNovell exteNd アプリケーションサーバのJSP/FS(JSP File System)を配備する方法について説明します。 JSP/FSを使用するとWebアプリケーションをファイルシステムに配備することができ、変更した結果を再び配備することなく即座に確認することができます。 この章の節は次のとおりです。
この節では、JSPページとその配備について簡単に説明します。
JavaServer Pagesテクノロジは、SunのJ2EEプラットフォームの重要な部分であり、アプリケーションでもっとも重要なユーザインタフェースを提供するためにJSPページ(サポートされるサーブレットとともに)を使用するよう推奨しています。 JSPページは、通常WebベースのJ2EEアプリケーションで使用されます(Web applications)。 Webアプリケーションには、JSPページ、サーブレット、JavaBeans、ユーティリティクラス、イメージなどが含まれており、これらはWAR(Web Application Archive)ファイルと呼ばれるアーカイブの中にパッケージ化されています。 これらのアプリケーションは、ブラウザクライアントによってアクセスされます。
アプリケーションサーバは、JSPページをフルサポートします。
JSPページとその作成方法の詳細については、exteNd Workbenchヘルプを参照してください。
Webアプリケーションをユーザが使用できるようにするためには、アプリケーションサーバにWebアプリケーションを配備します。 ユーザは、ブラウザに適切なURLを指定してアプリケーションにアクセスします。
ただし、アプリケーションの開発、テスト、および修正の段階では、迅速な応答が必要です。JSPページを変更したら、アプリケーションを再配備することなく即座にブラウザで結果を確認したい場合があります。 JSP/FSを使用すると、それが可能となります。
アプリケーションをファイルシステムに配備した後で、JSPページを作成したり変更したりすることができ、ブラウザを更新すると、即座に変更を確認できます。 再配備する必要はありません。
同様に、アプリケーション内の任意のスタティックリソースを変更し、即座に変更を確認できます。 「スタティックリソース」は、サーバがそのままで提供するファイルのことです。 スタティックリソースには、HTMLファイル、イメージファイル、およびスタイルシートが含まれます。
開発の強化をはかることだけを目的としています。 運用アプリケーションには使用しないでください。その代わりに 運用でのアプリケーションの使用を参照してください。
開発および配備を行うためにNovell exteNd Workbenchを使用している場合は、この章で説明されている手順を実行する必要はありません。 WAR (またはWARを含むEAR)を配備する際に、プロジェクトの配備設定で[Enable Rapid Deployment]を指定するだけです。Workbenchは、ユーザに代わって次を含むすべての作業を管理します。
プロジェクトファイルの変更管理( Javaソースファイルの変更に記述されているように、必要に応じてRELOADファイルの作成および削除を含みます)
通常通り、プロジェクトファイルで作業を続けます。 変更は即座に配備済みのアプリケーションに反映されます。
運用配備の準備が整ったら、プロジェクトの配備設定で[Enable Rapid Deployment]を選択解除して、再配備してください。
詳細については、Workbenchヘルプを参照してください。
ファイルシステムの配備をするために、Webアプリケーション開発を始める際にやらなければならない特別なことは何もありません。 Webアプリケーションに必要な形式に準拠しているディレクトリ構造を使って開発領域をセットアップします。 次にアプリケーションをテストする準備が整ったら、これをWARファイルにパッケージします。
WARファイルに必要なもの ファイルシステム配備用のWARファイルを作成するために必要なものは次のとおりです。
アプリケーションの「配備記述子」 ファイル名はweb.xmlでWEB-INFディレクトリにある必要があります。
Sun J2EE WebアプリケーションDTDにはいくつかのバージョンがあります。 各バージョンのJava Servlet Specificationには、各々のタグについての詳細なマニュアルが提供されています。 これらのマニュアルは、Sun Java Webサイトhttp://java. sun.com/j2ee/docs.htmlにあります。
WARファイルの作成 自身で選択したアーカイブツールを使ってWARファイルを作成できます。
たとえば、Novell exteNd WorkbenchまたはSunのjarユーティリティ(アプリケーションサーバの\binディレクトリにあります)を使用できます。
WARファイルが用意できたら、これをファイルシステムに配備する準備が整いました。 J2EEアーカイブ(WARファイルなど)を配備するには、Webアプリケーションの管理方法およびその配備方法に関するアプリケーションサーバ固有の情報が指定されているXMLファイル、配備計画を作成します。
WARの配備計画は正しい形式でなければなりません。 配備計画DTDは、サーバのResources/DTDCatalogにあります。 サーバのバージョンによって、使用するDTDは異なります。 サーバのバージョンに適切なDTDの詳細については、 を参照してください。
ファイルシステム配備用の配備計画は、次の1箇所を除いて運用配備と同じです。 <warJar>セクションには、サーバでアプリケーションをファイルシステムに配備することを指定する行が1行含まれています。 ファイルシステムに配備するには、この行を配備計画に含めます。
<deployToFilesystem type="Boolean">true</deployToFilesystem>
例 <deployToFilesystem>要素の使用例は、次のとおりです。
<warJarName>C:\WorkbenchProjects\JSPSample\JSPSample.war</warJarName>
<isEnabled type="Boolean">True</isEnabled>
<deployToFilesystem type="Boolean">true</deployToFilesystem>
<sessionTimeout type="String">5</sessionTimeout>
<urls type="StringArray">
<el>JSPSample</el>
</urls>
<deployedObject type="String">JSPSample</deployedObject>
</warJar>
</warJarOptions>
これで DeployWAR SilverCmdを実行してアプリケーションを配備します(WARファイルに DeployEARが含まれていれば、これも使用しても配備できます)。
結果 アプリケーションは、次のようにしてファイルシステムに配備されます。 サーバは、インストールディレクトリの/webapps/DBname/URLディレクトリでWARファイルを展開します。
例 これは先に示されている配備計画を持つサンプルアプリケーションの構造です(太字のエントリはディレクトリです)。
JSPSample jsps (JSPページを含むディレクトリ) WEB-INF web.xml (配備記述子) classes (サポートするクラスファイルを含むディレクトリ) tlds (TLDファイルを含むディレクトリ)
SilverCmd DeployWAR localhost JSPSampleDB JSPSample.war -f JSPSampleDeplPlan.xml -o
このアプリケーションをファイルシステムに配備した後、WARファイルはサーバのインストールディレクトリの/webappsで次のように展開されます。
ServerInstallDir webapps JSPSampleDB (名前が配備データベースであるディレクトリ) JSPSample (名前が配備計画のURLであるディレクトリ) com (JSPがコンパイルされる場所であるディレクトリ - 下記を参照) jsps WEB-INF web.xml classes tlds
webapps/JSPSampleDB/JSPSampleの下のサブディレクトリでは配備領域を作成し、ここでアプリケーションの作業を行うことができます。
アプリケーションをファイルシステムに配備した後、配備領域でこれを変更し、即座に変更の結果を確認できます。
結果を表示する 変更の結果を表示するには、配備領域にファイル(複数可)を保存し、ブラウザに移動して、適切なURLを指定します。
たとえば、sample.jspの変更の結果を表示するには、次のように入力してURLを指定します。
http://localhost/JSPSampleDB/JSPSample/jsps/sample.jsp
サーバの動作 アプリケーションサーバは、JSPページが以前にアクセスされたことがあるかどうかを確認します。 アクセスがない場合には、コンパイルして結果をブラウザに表示します。 サーバは生成されたJavaおよびクラスファイルを配備領域のcom/sssw/gen/jspディレクトリに保存します。
同様に、サーバは、JSPページ(JSPソースファイル)が最後にアクセスされた後に更新されているかどうかを確認します。 更新されている場合、ファイルは再コンパイルされて再表示されます。
サーバは必要に応じて更新されたスタティックリソースについても同様の処理を行います。
エラーがある場合 要求されたページでJSPコンパイルエラーが発生した場合、サーバはエラーについて記述したHTMLページを生成し、状況コード500を指定してクライアントに戻します。
要求されたページ以外でJSPページのコンパイルエラーが発生した場合、サーバは障害を検知できません。 コンパイル処理のどこでエラーが発生したのかによって、エラーについて記述されているリンクを指定して生成されたJSPページでエラーメッセージを確認します。 配備計画で<excludedJSPs>タグを使用することによって、障害として通知されたJSPページをサーバでコンパイルするのを防ぐことができます。
Javaソースファイルの変更 開発の段階で、ユーティリティクラス、サーブレット、JARファイルなどをアプリケーションで更新する必要があり、その後で配備領域を更新したい場合があります。
配備領域のルートにRELOAD(すべて大文字)という名前のファイルを作成します。
サンプルの配備の場合には、webapps/JSPSampleDB/JSPSampleにRELOADを作成します。
ヒント: 簡単にファイルを作成するには、DOSコマンドプロンプトを開いて、ディレクト リを変更し、copy con RELOADと入力してから、Returnキー、Ctrl+Zキー、Returnキー の順に押します。
サーバは自動的にアプリケーションをリロードし、更新されたすべてのファイルを取得してから、RELOADファイルを削除します。
アプリケーションをファイルシステムに再配備 ファイルシステムに配備した後、DeployWARを使用してアプリケーションをファイルシステムに再配備してはなりません。 その代わり、アプリケーションに対して次のことを行います。 アプリケーションを運用する準備が整ったら、次の 運用でのアプリケーションの使用の手順に従います。
(エラーのため)DeployWARを指定してアプリケーションをファイルシステムに再配備しようとすると、サーバはwebappsに配備ディレクトリがすでに存在していることがわかります。 ディレクトリをDeploymentDir.1と名前を変更してから、アプリケーションをファイルシステムに再配備します。 これは、現在のアプリケーションは引き続きDeploymentDirのままで、アーカイブされた古いバージョンはDeploymentDir1となることを意味します。再び配備を行うと、DeploymentDirはDeploymentDir.2となり、後は同じです。 現在のアプリケーションは常にDeploymentDirで、それ以前のバージョンはアーカイブされてDeploymentDir.nとなり順に一番大きい番号が付けられていきます。 サーバはDeploymentDir.だけしか変更しません。
示されているサンプルでは、アプリケーションがファイルシステムに2度配備された場合、webapps/JSPSampleDB/JSPSampleはJSPSample.1となり、現在のアプリケーションはJSPSampleに配備されます。
JSP/FSは、アプリケーションの開発局面でのみ使用されることを目的としています。 アプリケーション開発が終了し、運用で使用する準備が整ったら、次の手順に従います。
|
機能ガイド 05/21/03 11:36:28 |
Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.