ADF ToyStore
- 6: アプリケーションの配置とパッケージングに関する考慮事項 -

前に戻る | 目次に戻る | 次へ進む

JDeveloperは、デプロイメント・プロファイルを作成する機能をサポートしています。これは、デプロイするための様々な種類のJavaアーカイブ・ファイルを、ビルドおよびパッケージするために必要なすべての詳細をカプセル化する機能です。 JDeveloperでは、ビルドおよびパッケージングのツールである Apache Antもサポートしています。 ADF ToyStoreサンプル・アプリケーションには、これらの2つのアプローチの例が含まれています。 この項では、ADF ToyStoreサンプル・アプリケーションで使用されているデプロイメント・プロファイルおよびAntビルド・ファイルについて説明します。

サンプル・アプリケーションにおけるJDeveloperのデプロイメント・プロファイル

図62に示した ADFToyStore.deployは、ToyStoreViewControllerプロジェクトのWARデプロイメント・プロファイルで、他のいくつかのデプロイメント・プロファイルに依存していることを表しています。 これは、他のデプロイメント・プロファイルで生成されたJARファイルを一緒にパッケージしてWARファイルとEARファイルを生成し、Oracle Application Server、またはその他のアプリケーション・サーバー(ADFベースのアプリケーション実行のためにADF Runtime Installerを使用した構成が必要) に対してデプロイできます。

ADFToyStore.deployプロファイルの設定
図62: ADFToyStore.deployプロファイルの設定

ToyStoreModelプロジェクトには、 ToyStoreModel.bcdeployというADFビジネス・コンポーネント用デプロイメント・プロファイルが含まれています。 これは、アプリケーション・ナビゲータで ToyStoreServiceアプリケーション・モジュールを選択し、マウスを右クリックして 「ビジネス・コンポーネントのデプロイメント...」を選択することによって作成されました。 表示されるウィザードでは 「シンプル・アーカイブ・ファイル」オプションを選択しました。 ナビゲータのノードを展開すると、デプロイメント・プロファイルに、次のような2つの子プロファイルが含まれていることがわかります。これらの子プロファイルには、コンパイル済みのファイル構造のパッケージング定義が次のように設定されています 。

このサンプル・アプリケーションのように、StrutsのWebコントローラ層が、Webコンテナ内にシンプルなJavaBeansとしてADFのモデル層を使用しているケースでは、これらの2つのJARファイルは、両方ともWebコンテナのクラスパスに配置する必要があります。 リモートの中間層にアクセスするSwingアプリケーション、またはEJB Session Beanとしてデプロイされているアプリケーション・モジュールにアクセスするWeb層では、クライアント層では ToyStoreModelCSCommon.jarのみが必要です。 このようなシナリオでは、 ToyStoreModelCSMT.jarは、EJB Session Beanのクラス・パスに含める必要があります。

表4は、ADF ToyStoreサンプル・アプリケーションで使用しているすべてのデプロイメント・プロファイルです。

表4: ADF ToyStoreサンプル・アプリケーションのデプロイメント・プロファイル
プロジェクト名 デプロイメント・プロファイル 生成されるアーカイブ・ファイル
ToyStoreViewController.jpr ADFToyStore.deploy
  • ADFToyStore.ear
  • ADFToyStore.war
ToyStoreModel.jpr ToyStoreModel.bcdeploy
  • ToyStoreModelCSMT.jar
  • ToyStoreModelCSCommon.jar
ToyStoreViewController.jpr ViewController.deploy
  • ToyStoreViewController.jar
FwkExtensions.jpr FwkExtensions.deploy
  • ToyStoreFwkExtensions.jar

表5は、Struts/ADFのサポートに必要な、その他のサポート用のJARファイルを表しています。

表5: ADF ToyStoreサンプル・アプリケーションで使用されるその他のJARファイルの概要
JARファイル 説明
  • adf-controller.jar
  • adftags.jar
ADF/Strutsのサポート、およびADFタグ・ライブラリの実装
  • struts.jar
  • commons-beanutils.jar
  • commons-collections.jar
  • commons-digester.jar
  • commons-fileupload.jar
  • commons-logging.jar
  • commons-services.jar
  • commons-validator.jar
Strutsフレームワークのランタイム・ライブラリ
  • oraclexsql.jar
  • xsu12.jar
Oracle XSQL Servletのランタイム

外部のアプリケーション・サーバーにサンプル・アプリケーションをデプロイする

ADFToyStore.deployデプロイメント・プロファイルを使用すると、最初に次の2つの事前手順を実行した後は、デプロイ/再デプロイを1つの手順で実行できます。

  1. ターゲットのアプリケーション・サーバーに対して、アプリケーション・サーバーの接続を定義する
    これを実行するには、JDeveloperの 「接続ナビゲータ」で、 「アプリケーション・サーバー」フォルダをマウスで右クリックし、 「新規...」を選択します。
  2. ADF Runtime Installerを実行して、ターゲット・サーバーにOracle ADFフレームワークをインストールする

この項では、アプリケーションをデプロイするための基本事項について取り上げます。

注意

Oracle Application Server 10g(9.0.4)サーバーは、BC4Jフレームワーク(ADF以前のバージョン)が事前インストールされています。 JDeveloper 10g(バージョン9.0.5)を使用して作成されたアプリケーションを実行するには、ADF Runtime Installerを使用して、ADFフレームワーク・バージョンをサーバーにインストールする必要があります。


ADF Runtime Installerの実行

JDeveloper 10gを使用して作成したADFアプリケーションを、次のいずれかのサーバーにデプロイする場合は、自動のフレームワーク・インストール機能が提供されます。

これらのいずれかのサーバーにADFフレームワークをインストールするには、 「ツール→ADF Runtime Installer→<YourServerType>」を選択します。 ウィザードで、サーバーをインストールするためのルート・ディレクトリを指定するよう要求されます。 ルート・ディレクトリを指定すると、ユーザーが次の手順の処理を確認した後で、サーバーが構成されます。 ウィザードでは、ファイル・コピー、および構成ファイルに対して行なわれた修正のすべてを詳細に記述するログ・ファイルを生成します(発生したすべてのエラーについてもレポートされます)。また、参照できるように、エディタ・ウィンドウにログ・ファイルをオープンします。

デプロイの実行

ADF ToyStoreサンプル・アプリケーションを、事前に定義されているアプリケーション・サーバー接続にデプロイするには、アプリケーション・ナビゲータで ADFToyStore.deployノードをクリックし、マウスを右クリックしてメニューで 「配布先<YourServerName>」を選択します。

Oracle Application Server またはスタンドアロンOC4J以外のサーバーで実行する場合は、ToyStoreサンプル・アプリケーションで使用される2つのデータソースに対応するJDBCのデータソース・マッピングを手動で設定する必要があります。 付録2に、Tomcatサーバーに対する設定例を記載します。

注意

ADFベースのアプリケーションを、JDeveloper 10gがIDEでサポートしていないJ2EEアプリケーション・サーバーにデプロイする場合のために、手動で手順を実行するためのドキュメントが OTN JDeveloper HowTo Page に用意されています。 これらのドキュメントには、アプリケーション・サーバーにインストールするために必要な、ベースのADFフレームワーク・ライブラリのリストが記載されています。 将来的には、 JSR-88でJ2EE準拠のサーバー間におけるデプロイが標準化され、JDeveloperがそれをサポートすることによって、この状況はかなり簡潔になるでしょう。


Antを使用したサンプル・アプリケーションの構築、パッケージ、およびデプロイ

Apache Antは、Javaビルド・ツールのデファクト・スタンダードです。 ADF ToyStoreサンプル・アプリケーションにはAntの標準の build.xmlファイルが付随しており、ユーザーはこれを使用して、コマンドラインからサンプル・アプリケーションを構築することができます。 表6は、Antが構築するすべてのターゲット、およびそのターゲットで行なう処理の概要を示しています。

表6: ADF ToyStoreのbuild.xmlファイルにおける主なビルド・ターゲット
ビルド・ターゲット名 説明
all ADFToyStore.earファイルを構築してアセンブルする(デフォルト)
clean ./build および ./deployディレクトリをクリーンアップする
allclean ADFToyStore.earファイルをクリーンアップし、構築およびアセンブルする
init ./build および ./deployディレクトリを作成する
fwk-extensions フレームワークの拡張クラスを構築して、 ToyStoreFwkExtensions.jarを生成する
model-layer モデル層を構築し、 ToyStoreModelCSCommon.jarおよび ToyStoreModelCSMT.jarを生成する
view-controller ビューおよびコントローラ層を構築し、 ToyStoreViewController.jarを生成する
war ADFToyStore.warファイルをアセンブルする
ear ADFToyStore.earファイルをアセンブルする
deploy ADFToyStore.earファイルをスタンドアロンOC4Jへデプロイする
deployclean ADFToyStore.earファイルをクリーンにする

JDeveloper内でのAntターゲットの実行

JDeveloperはAntもサポートしているため、 図63で示しているように、アプリケーション・ナビゲータでマウスを右クリックして、Antビルド・ターゲットを構築することができます。

ADFToyStoreワークスペースのデプロイメント・プロファイルとビルドファイル
図63: ADFToyStoreワークスペースのデプロイメント・プロファイルとビルドファイル

ADFToyStore.earファイルを構築するには、 earビルド・ターゲットを選択します。
ADFToyStore.warファイルを構築するには、 warビルド・ターゲットを選択します。

JDeveloperからAntを使用している場合は、 jdev.homeパラメータに、JDeveloperのホーム・ディレクトリが設定されます。 このようにして、Antのビルド・スクリプトからJDeveloperのインストレーション・ホームに関連するファイルへの参照を作成できます。 ADF ToyStoreの build.xmlファイルは、この処理を行います。 したがって、JDeveloperの外部のコマンドラインから、次のようなビルド・ターゲットを実行しようとすると

$ ant ear

次のような警告メッセージが表示されます。

Buildfile: build.xml
init:
BUILD FAILED
C:\adftoystore\build.xml:52: Need to set jdev.home property to JDev home dir!

したがって、このように処理するかわりに、 antコマンドラインでjdev.homeの値を渡して構築する必要があります。

$ ant -Djdev.home=C:\Oracle\jdev905 ear

ここで、 C:\Oracle\jdev905はJDeveloperのインストレーション・ホーム・ディレクトリで置き換える場所の例です。

Antのビルドファイルを使用したデプロイ

このビルドファイルには、 deploydeploycleanというAntビルド・ターゲットを設定しました。これらのターゲットは、ビルド・スクリプトからスタンドアロンOC4Jのインストールを実行します。 ユーザーは、Antからのデプロイ処理を実現するために、build.xmlの次のようなセクションでプロパティを編集し、自身の環境にとって適切な値を指定する場合があります。

  <!--
   | Local OC4J Connection Information for "deploy" task
   +-->
  <property name="oc4j.admin.jar" value="${jdev.home}/j2ee/home/admin.jar"/>
  <property name="oc4j.url" value="ormi://localhost/"/>
  <property name="oc4j.username" value="admin"/>
  <property name="oc4j.password" value="welcome"/>
  <property name="j2ee.app.name" value="ADFToyStore"/>
  <property name="j2ee.web.app.name" value="ADFToyStore"/>
  <property name="oc4j.web.site" value="http-web-site"/>
  <property name="j2ee.context.root" value="/ADFToyStore"/>

これらのパラメータは、コマンドラインのデプロイ用ユーティリティ admin.jarへ渡される引数として、 deploy タスクで使用されます。


前に戻る | 目次に戻る | 次へ進む