Pet Store1.4デモをWebOTXで動作させる方法 (2006年11月9日時點) |
|
このドキュメントではWebOTX V6.5を利用して、Sun Microsystems(以降、Sunと略します)がウェブサイトで提供しているJ2EEアプリケーションのサンプル「Pet Store」を動作させるまでの手順を説明します。
Pet Storeサンプルアプリケーションの動作にはWebOTX V6.5のほかに、データベースサーバが必要です。これはアプリケーションの構(gòu)成上、商品の情報や顧客の情報、取引の情報をデータベースに保存する必要があるからです。今回はOracleを使用します。
|
|
1. Pet Storeの特徴 |
|
|
|
Pet Storeは、ペットの販売サイトを模したサンプルアプリケーションです。 Pet Storeのソースコードの構(gòu)成は、J2EEプラットフォームで動作する拡張性、移植性、保守性の高いアプリケーションの例となっています。
|
|
Pet Storeの畫面
|
|
WebOTXを用いてシステム構(gòu)築を行う開発者にとって、Pet Storeには以下のような特徴があります。
1.1. 3層構(gòu)成システム
Pet Storeデモは多層構(gòu)造システムをモデルにした構(gòu)成例となっています。
大規(guī)模な人員で開発を行う際、生産性を高めるために、システムを多階層に分離することが推奨されます。機能的に階層化することで、各システムを役割で切り分けることができ、複數(shù)のサブチームそれぞれで開発範(fàn)囲を明確にすることができます。そして、インタフェースさえ事前に取り決めておけば、他のチームの內(nèi)部実裝を意識せずに平行開発を行うことができます。
また、メインフレーム等他のプラットフォームで動作しているシステムやデータベースを多層構(gòu)造システムの1層と考えれば、そのインタフェースを経由する構(gòu)造を採ることによって、既存システム(Sunの文書では「エンタープライズ情報システム」と呼んでいます)とJ2EEシステムを容易に統(tǒng)合することが可能になります。WebOTXにはJDBC、JCAなどの既存システムとの接続を可能にするJ2EE標(biāo)準(zhǔn)APIが用意されています。
Pet Storeデモでは、J2EEでのシステム開発に一般的に使われている3層モデルが用いられています。
-
プレゼンテーション層
HTML、JSP、サーブレットを用いて、クライアントに対話型コンテンツを提供します。
-
アプリケーション層
ビジネスロジックが動作します。EJB(Enterprise JavaBeans)が用いられます。
-
データベース層
永続データを保管します。本ドキュメントではOracleを使用します。
|
|
|
|
1.2. J2EE APIの使用例
Pet StoreデモはEJB(Session Bean、Entity Bean、メッセージドリブンBean)、サーブレット、JSP、JMS等J2EEの主要な機能を多く使用しているため、開発者はPet Storeデモでの実裝方法や使用方法を手本にしながら開発を行うことができます。
|
|
2. WebOTXのインストール |
|
Pet StoreデモはEJBを使用しているため、WebOTX Web Editionでは動作しません。
EJBコンテナを備えた、WebOTX V6.5 Standard-J Edition以上をインストールします。
なお、Standard/Enterprise Editionを利用する場合は、インストール時に「マルチプロセスモード」(Webコンテナがプロセスグループ上で動作するモード)(*)を選択してください。
これはPet Storeのプログラムでは、サーブレットからEJBを呼び出す際、ローカルインタフェースを使用しているためであり、WebコンテナとEJBコンテナが同一プロセス上で動作している必要があるからです。
(*)マルチプロセスモードは、WebOTX V6.5から導(dǎo)入されました。これを使うことでWebコンテナ上で動作するWebアプリケーションを、WebOTXが提供するTPモニタ上で監(jiān)視可能、かつマルチプロセスでの並列処理が可能となるため、Webシステムの信頼性?性能の向上を?qū)g現(xiàn)します。 それに対しシングルプロセスモード(V6.4までの構(gòu)成)では、それらの機能を使用することができません。
|
|
3. 必要なファイルの準(zhǔn)備 |
|
3.1. Pet Storeサンプル入手
ダウンロードしたzipファイルを適當(dāng)なディレクトリに展開してください。以後本手順書では、展開したディレクトリをサンプルインストールディレクトリとし、
(petstore_root) = (サンプルインストールディレクトリ)/samples/blueprints/petstore1.4/src
として説明を進めていきます。
|
3.2. 提供ファイル「wo_petstore.zip」のダウンロード
設(shè)定の書き換えを行うため、wo_petstore.zipをダウンロードしてください。その後適當(dāng)なディレクトリに展開してください。次のフォルダに展開されます。
展開してできたsamplesフォルダを、サンプルインストールディレクトリに上書きコピーしてください。
ここでは主に、アプリケーション?サーバ(WebOTX)固有の配備記述子をコピーしています。
J2EEの仕様では、アプリケーション?サーバにインストール(配備、またはデプロイ)するアプリケーションのアーカイブ形式を規(guī)定しています。そのアーカイブには、配備記述子と呼ばれるアプリケーション実行時の振る舞いを定義したXMLファイルを含めなければなりません。Web-WARファイルの場合なら、「WEB-INF/web.xml」が相當(dāng)します。
このような規(guī)則によって、J2EEアプリケーションは環(huán)境に依存しないソースコードと、実行時環(huán)境に依存する部分の設(shè)定を含めた配備記述子を分離することで、ソースコードの移植性を高めています。実際、このドキュメントではPet StoreのJavaソースコードには一切手を加えていません。
しかしながら、J2EE仕様が規(guī)定する配備記述子の範(fàn)囲ではアプリケーション?サーバの能力を活かしきれない問題が生じます。それを解決するために、一般にアプリケーション?サーバのベンダは、獨自に提供するサーバ側(cè)の機能に関する情報を、ベンダ固有の配備記述子で定義しています。 WebOTXにも、獨自の配備記述子ルールがあります。それを、ここではPet Store用に合わせて、wo_petstore.zipファイルに収めています。
|
|
4. ファイルの修正 |
|
|
|
4.1. common.propertiesの設(shè)定
(サンプルインストールディレクトリ)/samples/common.propertiesファイル內(nèi)の以下の項目を設(shè)定します。
- webotx.home=(WebOTXインストールディレクトリ)
- com.sun.aas.javaRoot= (javaインストールディレクトリ)
- sample.dir=(サンプルインストールディレクトリ)/samples
Pet Storeデモが備えている、注文時のメール通知機能を使用する場合は、以下のメール送信に関する項目も設(shè)定してください。
- mailHost=(メールサーバホスト名)
- mailuser1=(メールユーザ名)
- mailFrom=(送信元メールアドレス)
このアドレスはメールヘッダのFromアドレスに使われます
(注1)Windowsでもパス區(qū)切り文字には "/" を用いてください。 (例: webotx.home=C:/WebOTX) (注2)UNIXの場合、さらに以下の書き換えが必要です。
- webotx.admin=${webotx.home}/bin/otxadmin
|
4.2. ビルドファイルのファイル名変更
インストールしたエディションに応じて、ビルドファイルのファイル名を変更します。(petstore_root)ディレクトリにはすでにオリジナルのbuild.xmlファイルが配置されています。ここではWebOTX用に置換しますので、元のbuild.xmlファイルをbuild.xml.bak等にリネームしておいてください。
-
Standard/Enterprise Editionの場合
(petstore_root)ディレクトリ配下のbuild_for_STD.xmlを、build.xmlに変更してください。
-
Standard-J Editionの場合
(petstore_root)ディレクトリ配下のbuild_for_STDJ.xmlを、build.xmlに変更してください。
|
4.3. データベースサーバの設(shè)定
まず「database.properties」の設(shè)定についてですが、次の項目(Info for Oracle thin)について、Oracleの環(huán)境に合わせて設(shè)定してください。
- oracle.dbName
- oracle.server
- oracle.port
- oracle.user
- oracle.passwd
続いてデータベースドライバの設(shè)定を行います。以下のディレクトリにデータベースドライバ(ojdbc14.jar)をコピーしてください。
(WebOTXインストールディレクトリ)/domains/domain1/lib/ext
アプリケーションで參照するJarファイルはここに置かれます。
|
|
4.4. メール通知の設(shè)定(任意)
PetStoreで商品を選択して購入した際に、アプリケーションが利用するJavaMail APIを経由して、SMTPプロトコルでメールを送信することができます。WebOTXより通知メールを行う場合は、以下のメールサーバとメールアドレスの設(shè)定、および受信するメッセージの種類を選択します。
この作業(yè)は必須ではありません。
まず、メールサーバとメールアドレスの設(shè)定を行います。(petstore_root)/src/build.propertiesファイルに対して、以下の値を環(huán)境に合わせて書き換えてください。
- mail.host=(メールサーバ名)
- mail.username=petstore
- mail.fromaddress=(送信元メールアドレス)
続いて受信メールの設(shè)定を行います。
メールの種類は3つあり、(1)注文を受け付けた際に発行するもの、(2)注文の內(nèi)容を確認するために発行するもの、(3)注文を受理した際に発行するもの、があります。
それぞれ初期設(shè)定では「false」(メール送信機能は無効)に設(shè)定されているため、メールを発行するには以下の該當(dāng)箇所(強調(diào)表示されている部分)を「true」に設(shè)定する必要があります。
対象ファイル:(petstore_root)/apps/opc/src/ejb-jar.xml
受信受付通知書 244: <env-entry>
245: <env-entry-name>param/SendApprovalMail</env-entry-name>
246: <env-entry-type>java.lang.Boolean</env-entry-type>
247: <env-entry-value>false</env-entry-value>
248: </env-entry>
注文確認通知書 52: <env-entry>
53: <env-entry-name>param/SendConfirmationMail</env-entry-name>
54: <env-entry-type>java.lang.Boolean</env-entry-type>
55: <env-entry-value>false</env-entry-value>
56: </env-entry>
商品送付完了通知書 128: <env-entry>
129: <env-entry-name>param/SendCompletedOrderMail</env-entry-name>
130: <env-entry-type>java.lang.Boolean</env-entry-type>
131: <env-entry-value>false</env-entry-value>
132: </env-entry>
|
|
5. データベースの準(zhǔn)備 |
|
(petstore_root)/sql/oracleにあるSQL文を以下の順で実行してください。
- oracle.createUser.sql
- oracle.petstoredb.sql
- oracle.opcdb.sql
- oracle.supplierdb.sql
|
|
6. コンパイルとパッケージング |
|
コマンドプロンプトを開き、(petstore_root)ディレクトリに移動して、「asant」コマンドを?qū)g行してください。BUILD SUCCESSFULと表示されればコンパイル成功です。
コンパイルにより生成されるclassファイルは、配備記述子とともにJarファイル形式でパッケージされ、さらに複數(shù)のJarファイルがEarファイル形式にパッケージされます。
|
|
7. 配備 |
|
配備とはアプリケーションをWebOTXにインストールして利用可能な狀態(tài)にすることを言います。
ここからは、WebOTXのドメインが起動した狀態(tài)で作業(yè)を行います。(petstore_root)ディレクトリで、「asant deploy」コマンドを?qū)g行してください。JNDI、JMS、メールの設(shè)定およびアプリケーションの配備が行われます。
その他のコマンドは以下を參照してください。
|
|
コマンド |
操作內(nèi)容 |
asant |
コンパイル |
asant setup |
設(shè)定 |
asant unsetup |
設(shè)定解除 |
asant deploy |
設(shè)定+配備 |
asant undeploy |
配備解除+設(shè)定解除 |
asant deploy-ears |
配備 |
asant undeploy-ears |
配備解除 |
正常に配備されなかった場合は、コンソールに表示されたメッセージを見るか、ログを參照してください。ログは以下のファイルに出力されます。
(WebOTXインストールディレクトリ)/domains/domain1/lib/logs/webotx_agent.log
|
|
8. 実行 |
|
posted on 2007-01-14 04:28
???MengChuChen 閱讀(1584)
評論(1) 編輯 收藏