ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Portal開発者ガイド
11gリリース1 (11.1.1)
B61384-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

D 手動によるPDK-Javaプロバイダのパッケージ化およびデプロイ

この付録では、PDK-Javaプロバイダの実装を、Oracle WebLogic Serverやその他のJ2EEアプリケーション・サーバー上にデプロイするのに適した、移植可能なフォーマットに、手動でパッケージ化する方法を説明します。また、パッケージ化した結果のEARファイルをOracle WebLogic Server環境にデプロイし、その後1つ以上のOracle Portalインスタンスに登録する方法も説明します。


注意:

通常は、Oracle JDeveloperに用意されているツールを使用してプロバイダをパッケージ化およびデプロイすることをお薦めします。ただし、なんらかの理由でプロバイダを手動でパッケージ化およびデプロイする必要がある場合に備えて、参照できる情報をこの付録で提供しておきます。


D.1 概要

プロバイダのパッケージ化およびデプロイに進む前に、次の基本的な概念を理解する必要があります。

D.1.1 WARファイルとEARファイル

WARファイルとEARファイルは、Oracle WebLogic ServerのようなJ2EEアプリケーション・サーバーにアプリケーションをデプロイするのに使用します。WARファイルとEARファイルは、アプリケーションを実行するのに必要なコンポーネントのすべてを1つのファイルにカプセル化したものです。これらのファイルにより、アプリケーションのデプロイが非常に簡単で整合性がとれたものとなり、アプリケーションを開発からテストへ、テストから製品へと移行するときにエラーが発生する可能性が削減されます。

  • WARファイルは、Webアプリケーションを表し、Webアプリケーションのすべてのコンポーネントを含みます(Javaのライブラリやクラス、サーブレットの定義やパラメータ設定、JSPファイル、静的HTMLファイルおよびその他の必要なリソースを含む)。

  • EARファイルは、エンタープライズ・アプリケーションを表します。

D.1.2 サービス識別子

PDK-Javaでは、1つのアダプタ・サーブレットの下に複数のプロバイダをデプロイできます。これらのプロバイダは、サービス識別子によって識別されます。新しいプロバイダをデプロイする場合は、プロバイダにサービス識別子を割り当て、プロバイダWARファイルの作成時にそのサービス識別子を使用する必要があります。サービスのこの名前は、ファイルservice_id.propertiesを検索するのに使用されます。このファイルは、テスト・ページの表示の有無など、プロバイダの特性を定義したものです。

たとえば、次のURLとurn:sampleというサービス識別子を使用して、PDK-Javaサンプル・プロバイダを登録できます。

http://mycompany.com/jpdk/providers

あるいは、次の形式のURLを使用することもできます。

http://mycompany.com/jpdk/providers/sample

すなわち、プロバイダ名(sample)をPDK-Javaサンプル・プロバイダのURLに追加します。この場合、プロバイダの登録時には「サービスID」フィールドは空白のままにします。

複数のポータルが同じプロバイダを共有している場合は、サービス識別子を個別に指定できます。各ポータルを異なるサービス識別子に登録することによって、コンシューマごとに個別にプロバイダのプロパティを指定できます。

プロバイダをデプロイしたら、正しいサービス識別子を使用してプロバイダをOracle Portalに登録する必要があります。これにより、リクエストが正しいプロバイダにルーティングされます。アダプタ・サーブレットがサービス識別子のないリクエストを受信した場合、そのリクエストはデフォルトのプロバイダに渡されます。


注意:

サービス識別子が既知でない場合は、プロバイダのテスト・ページをチェックするか、プロバイダの管理者に問い合せてください。連携されたPortalアダプタを使用している場合、URLはプロバイダではなくアダプタを指すので、このフィールドに値を入力する必要があります。この場合、サービス識別子はurn:の後にデータベース・プロバイダの名前が続く形式となります。


D.2 プロバイダのパッケージ化およびデプロイ

次の項に、手動でプロバイダをパッケージ化およびデプロイする際に実行する必要がある手順を示します。

D.2.1 プロバイダのパッケージ化

この項の手順では、手動でWARファイルをパッケージ化する方法を説明します。WARファイルをアセンブルするユーティリティの中に使い慣れているものがある場合は、それを使用してWARファイルをアセンブルしてください。

D.2.1.1 ディレクトリの準備

WARファイルを作成する前に、次の手順を実行する必要があります。

  1. 必要なファイルを収集できる作業ディレクトリを作成します。

  2. /pdk/jpdk/v2/template.warにあるtemplate.warファイルを作業ディレクトリに抽出します。ファイル・パスも抽出してください。

  3. プロバイダで追加のJARファイルが必要な場合は、それをWEB-INF/libディレクトリに追加します。

  4. JARファイルに含まれていない追加のJavaクラスがプロバイダで必要とされる場合は、そのJavaクラスをWEB-INF/classesディレクトリに追加します。クラス・ファイルは、JavaクラスのJavaパッケージ名に対応するディレクトリ構造に保存してください。

  5. 作業ディレクトリに静的HTMLファイル、JSPおよびイメージを追加します。これらのファイルの編成に必要であれば、サブディレクトリを作成します。サブディレクトリは、HTMLファイルまたはJSPファイルにアクセスするのに必要なパスの一部となります。

  6. providersディレクトリの下に自分のプロバイダ用のサブディレクトリを作成します。

  7. _default.propertiesファイルをservice_name.propertiesにコピーし、プロバイダの構成を反映するように編集します。

  8. WEB-INF/deploymentフォルダにあるprovider_name.propertiesファイルで、definition値を次のように設定します。

    definition=providers/provider_dir_you_created/provider.xml
    
  9. 作成したばかりのサブディレクトリにプロバイダ定義ファイルを配置します。

  10. _default.propertiesを、デフォルト・プロバイダの構成設定を反映するように編集します。デフォルト・プロバイダへのアクセスは、リクエストにサービス識別子が指定されていない場合に行われます。この手順の詳細は、D.2.1.2「デフォルト・サービスの指定」を参照してください。

  11. コンテンツのレンダリングにサーブレットを使用する場合は、WEB-INF/web.xmlを編集して、サーブレットを事前定義済のサーブレットの一覧に追加します。PDK-Javaが必要とするサーブレットのエントリを削除しないように注意してください。

D.2.1.2 デフォルト・サービスの指定

デフォルト・サービスは、サービス名を含まない任意のリクエストを受信するプロバイダです。デフォルト・プロバイダは、WARファイルのデプロイ・ディレクトリ内の_default.propertiesファイルを編集することによって指定します。

定義エントリを編集して、デフォルト・プロバイダを表すプロバイダ定義ファイルを指すようにします。パスは、ファイル・システム内でのファイルの物理的な位置ではなく、WARファイル内のWEB-INFディレクトリからの相対パスとします。

_default.propertiesファイルは、たとえば次のようになります。

serviceClass=oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter
loaderClass=oracle.portal.provider.v2.http.DefaultProviderLoader
showTestPage=true
definition=providers/sample/provider.xml
autoReload=true

D.2.1.3 WARファイルの作成

WARファイルの内容を指定したら、次に、WARファイル自体を作成できます。WARファイルを作成する手順は、次のとおりです。

  1. D.2.1.1項「ディレクトリの準備」で作成した作業ディレクトリの内容を圧縮します(このとき、サブディレクトリのパスは含めますが作業ディレクトリのパス自体は含めません)。

  2. 圧縮後のファイル名をわかりやすい名前に変更し、拡張子を.warに変更します。

D.2.1.4 EARファイルの作成

EARファイルを手動で作成する手順は、次のとおりです。

  1. EARファイルを作成するために、別の作業ディレクトリを作成します。

  2. /pdk/jpdk/v2/template.earにあるtemplate.earファイルを作業ディレクトリに抽出します。ファイル・パスも抽出してください。

  3. テンプレートEARファイルに含まれていたMETA-INF/application.xmlファイルを開きます。次のようになっているはずです。

    <?xml version "1.0">
    <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.
              //DTD J2EE Application 1.3//EN"
              "http://java.sun.com/j2ee/dtds/application_1_3.dtd">
    <application>
        <display-name>Display Name of the Application</display-name>
        <description>Description of the application</description>
        <module>
            <web>
                <web-uri>yourwarfile.war</web-uri>
                <context-root>/</context-root>
            </web>
        </module>
    </application>
    

    表D-1に、application.xmlの要素を示して、説明します。

    表D-1 application.xmlの要素

    要素 説明
    <display-name>
    

    アプリケーションの名前です。

    <description>
    

    アプリケーションとその機能の説明です。

    <web-uri>
    

    WARファイルの名前です。

    <context-root>
    

    デフォルトで自分のアプリケーションにマップするための接頭辞です(たとえば、/myapp)。


  4. ファイルapplication.xmlを、名前変更せずに、同じ位置に上書き保存します。

  5. 前に作成したWARファイルを自分の作業ディレクトリにコピーします。これはサブディレクトリ内ではなく、作業ディレクトリの直下に配置します。

  6. 作業ディレクトリの内容を圧縮します(このとき、サブディレクトリのパスは含めますが、作業ディレクトリのパス自体は含めません)。

  7. 圧縮後のファイル名をわかりやすい名前に変更し、拡張子を.earに変更します。

D.2.2 Fusion Middlewareコントロールを使用したEARファイルのデプロイ

Fusion Middlewareコントロールを使用して、EARファイルをWebLogic Managed Server (WLS_PORTAL)にデプロイできます。EARファイルをデプロイするには、次の手順を実行します。

  1. Oracle Fusion Middlewareコントロールを起動し、PDK-Javaを構成したPortalインスタンス(たとえば、WLS_PORTAL)のホーム・ページにナビゲートします。

  2. WebLogic Serverのメニューから、「アプリケーションのデプロイ」「デプロイ」の順に選択します。

    「アーカイブの選択」ページが表示されます。

  3. 「アーカイブ」または「展開ディレクトリ」セクションでは、以下のいずれかを選択できます。

    • アーカイブはブラウザが稼働しているマシンに存在します。そして、アーカイブの場所を入力するか「参照」をクリックしてアーカイブ・ファイルを探します。

    • アーカイブまたは展開済ディレクトリはEnterprise Managerが稼働しているサーバーに存在します。そして、アーカイブの場所を入力するか「参照」をクリックしてアーカイブ・ファイルを探します。

  4. 「続行」をクリックします。WebモジュールのURLマッピングが表示されます。マッピングは、デフォルトではapplication.xmlに指定されているコンテキスト・ルート(たとえば、/myapp)ですが、デプロイされている他のアプリケーションのコンテキスト・ルートとの衝突を避けるために変更できます。

  5. 「デプロイ・プラン」セクションでは、以下のいずれかを選択できます。

    • 新規デプロイ・プランを自動的に作成します。

    • デプロイ・プランはこのWebブラウザが稼働しているマシンに存在します。 : このオプションを選択した場合は、デプロイ・プランへのパスを入力します。

    • デプロイ・プランはEnterprise Managerが稼働しているサーバーに存在します。: このオプションを選択する場合、プランのパスを入力してください。

  6. 「次へ」をクリックします。

    「ターゲットの選択」ページが表示されます。

  7. アプリケーションをデプロイする先のターゲットを選択します。管理サーバー、管理対象サーバー、クラスタが表示されます。1つのクラスタ、クラスタ内の1つ以上の管理対象サーバー、またはクラスタ内に存在しない管理対象サーバーを選択できます。ターゲットのリストに管理サーバーが表示されますが、アプリケーションを管理サーバーにデプロイしないでください。管理サーバーは、Oracle WebLogic Server管理コンソールのような管理アプリケーションのみを意図しています。

  8. 「次へ」をクリックします。

    「アプリケーション属性」ページが表示されます。

  9. 「アプリケーション属性」セクションで、「アプリケーション名」にアプリケーション名を入力します。

  10. 「Webモジュール」セクションの「コンテキスト・ルート」セクションで、Webモジュールのapplication.xmlファイルにコンテキスト・ルートが構成されていない場合は、アプリケーションのコンテキスト・ルートを指定できます。コンテキスト・ルートは、WebモジュールのURIです。Webサービスを含むそれぞれのWebモジュールまたはEJBモジュールがコンテキスト・ルートを持つことができます。

  11. アプリケーションのadf-config.xmlファイル・アーカイブにMDS構成が含まれる場合、「ターゲット・メタデータ・リポジトリ」セクションが表示されます。これを使用して、このアプリケーションのリポジトリとパーティションを選択できます。

    • リポジトリを変更するには、「リポジトリ名」の横にあるアイコンをクリックします。「メタデータ・リポジトリ」ダイアログ・ボックスで、リポジトリを選択して「OK」をクリックします。

    • パーティションを変更するには、「パーティション名」にパーティション名を入力します。

  12. 「配布」セクションでは、以下のいずれかを選択できます。

    • 配布してアプリケーションを起動(すべてのリクエストに対応)

    • 配布して管理モードでアプリケーションを起動(管理リクエストのみに対応)

    • 配布のみ

  13. 「次へ」をクリックします。

    デプロイ・ウィザード、デプロイ設定ページが表示されます。

  14. このページでは、アプリケーションをデプロイする前に一般的なタスクを実行したり、デプロイ・プランを編集してディスクに保存することができます。以下のことができます。

    • Webモジュールの構成

    • アプリケーションのセキュリティ構成

  15. デプロイ・プランの拡張

    デプロイ・プランを編集して保存することもできます。

  16. 「デプロイ」をクリックします。

    Application Server Controlに処理メッセージが表示されます。

  17. デプロイが完了したら、「閉じる」をクリックします。

D.2.3 デプロイのテスト

プロバイダのデプロイをテストするには、URLが次の形式であるプロバイダ・テスト・ページにアクセスします。

http://host:port/context_root/providers

説明:

hostおよびportは、ターゲットOracle WebLogic ServerインスタンスのHTTPリスナーのホスト名とポート番号です。Oracle Web CacheがインストールされたOracle Application Serverのインストールでは、portはOracle Web Cacheリスナー・ポート(たとえば、8090)である必要があります。Oracle WebLogic Serverのインストールでは、デフォルトのHTTPポート番号は8888です。

context_rootは、デプロイ時にプロバイダWebアプリケーションにマップしたURIパスの接頭辞(たとえば、/myapp)です。dcmctlを使用した手動によるデプロイの場合は、application.xmlに指定したデフォルトのURIパスの接頭辞です。

例:

http://my.host.com:8090/newProvider/providers

.propertiesファイルにshowTestPage=trueが指定されている場合は、デフォルト・プロバイダ用の見慣れたテスト・ページが表示されます。特定のプロバイダ・サービス用のテスト・ページを表示するには、URLにサービス名を追加します。例:

http://my.host.com:8090/newProvider/providers/myService

D.2.4 デプロイ・プロパティの設定

PDK-Javaでは、JNDI変数を使用して多くのデプロイ・プロパティを指定できます。表D-2に、これらの変数をリストして、説明します。

表D-2 プロバイダのデプロイ用JNDI変数

変数 説明
oracle/portal/provider/global/log/logLevel

PDK-Javaによって使用され、すべてのプロバイダに適用されるロギング・レベル(0-8)です。

oracle/portal/service_name/showTestPage

プロバイダのテスト・ページにアクセスできるかどうかを指定するブール・フラグです。デフォルト値はtrueです。

oracle/portal/service_name/maxTimeDifference

プロバイダのHMAC時間差です。

oracle/portal/service_name/definition

プロバイダの定義ファイル(provider.xml)の場所です。

oracle/portal/service_name/autoReload

ブール型の自動リロード・フラグです。デフォルト値はtrueです。

oracle/portal/service_name/sharedKey

HMAC共有キーです。デフォルト値はありません。

oracle/portal/service_name/rootDirectory

プロバイダのカスタマイズの場所です。デフォルト値はありません。


変数の設定

表D-2にリストした変数の値は、他のJNDI変数と同じように設定できます。JNDI変数の設定方法は、7.2.4.2項「JNDI変数値の設定」を参照してください。

D.2.5 プロバイダの保護

本番環境でPDK-Javaフレームワークを使用するときは、プロバイダを保護する必要があります。プロバイダの保護方法は、7.2.7項「ポートレットのセキュリティの実装」および『Oracle Fusion Middleware Oracle Portal管理者ガイド』を参照してください。

D.2.6 プロバイダの登録

プロバイダは、デプロイと検証が終了したら、他のプロバイダと同じように登録できます。プロバイダの登録方法は、6.5.5項「Oracle PDK-Javaポートレットの登録と表示」を参照してください。