ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド
11gリリース1(11.1.1.6.0)
B66694-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

E Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定

この付録では、Fusion Webアプリケーションでの使用を可能にするためにADFデスクトップ統合サーブレット(adfdiRemote)に対して設定する値について説明します。また、この付録では、ADFデスクトップ統合に同梱されているHTTPフィルタの動作を決めるデプロイメント・ディスクリプタ・ファイルの値について説明し、これらの値の使用例を示すデプロイメント・ディスクリプタ・ファイルからの抜粋を提供します。

この付録の内容は次のとおりです。


注意:

ADFデスクトップ統合およびADFライブラリWebアプリケーション・サポートをデスクトップ統合プロジェクトのテクノロジ・スコープに追加すると、この付録で説明するweb.xmlファイルに自動的にエントリが生成されます。詳細は、4.2項「Fusion WebアプリケーションへのADFデスクトップ統合の追加」を参照してください。

E.1 ADFデスクトップ統合サーブレットの構成

Excelワークブックと統合するFusion WebアプリケーションでadfdiRemoteサーブレットを使用するには、デプロイメント・ディスクリプタ・ファイル(web.xml)にエントリを含める必要があります。Fusion Webアプリケーションと統合するExcelワークブックは、このサーブレットをコールしてFusion Webアプリケーションとデータを同期させます。サーブレットは、次のディレクトリのadf-desktop-integration.jarファイルに格納されます。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_11.1.1

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

4.2項「Fusion WebアプリケーションへのADFデスクトップ統合の追加」の説明に従ってADFデスクトップ統合をプロジェクトのテクノロジ・スコープに追加すると、Fusion Webアプリケーションでサーブレット(DIRemoteServlet)を有効化するために必要なエントリを使用して、デプロイメント・ディスクリプタが自動的に構成されます。必要であれば、サーブレットを手動で構成できます。

ADFデスクトップ統合サーブレットの構成手順:

  1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。

    通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

  2. 「サーブレット」ページ→「追加」アイコンをクリックして、「サーブレット」表に行エントリを作成します。このアイコンは、「サーブレット」表の右上隅にあります。

    Fusion WebアプリケーションでadfdiRemoteサーブレットを有効化するために、表E-1に従って値を入力します。

    表E-1 adfdiRemoteサーブレットを有効化するための値

    プロパティ 入力する値

    名前

    adfdiRemote

    サーブレット・クラス

    サーブレット・クラス/JSPファイル

    oracle.adf.desktopintegration.servlet.DIRemoteServlet


  3. 「サーブレット」ページで「サーブレット・マッピング」タブ→「追加」アイコンをクリックして、「サーブレット・マッピング」表に行を作成します。

    Fusion WebアプリケーションでadfdiRemoteサーブレットのURLパターンを追加するために、表E-2に従って値を入力します。 入力する値は、RemoteServletPathワークブック・プロパティに対して統合Excelワークブックで指定する値と一致する必要があります。これらの値では、大/小文字が区別されます。

    表E-2 adfdiRemoteサーブレットにURLパターンを追加するための値

    プロパティ 入力する値

    URLパターン

    /adfdiRemoteServlet


    図E-1に、Master Price Listモジュールのweb.xmlの「サーブレット」ページを示します。

    図E-1 デプロイメント・ディスクリプタの「サーブレット」ページ

    サーブレット・マッピング・プロパティの図です。
  4. 「フィルタ」ページをクリックして、「フィルタ」表にadfBindingsフィルタが含まれているかどうか確認します。エントリが存在する場合はそれを選択し、次の手順に進みます。該当するエントリがない場合は、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。このアイコンは、「フィルタ」表の右上隅にあります。

    ADFバインディング・フィルタをadfdiRemoteサーブレットに追加するために、表E-3に従って値を入力します。

    表E-3 adfdiRemoteサーブレットにバインディング・フィルタを追加するための値

    プロパティ 入力する値

    名前

    adfBindings

    Class

    oracle.adf.model.servlet.ADFBindingFilter


  5. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。

    マッピング・フィルタをadfdiRemoteサーブレットに追加するために、表E-4に従って値を入力します。このフィルタ・マッピングは、手順2のサーブレットの名前と一致する必要があります。

    表E-4 adfdiRemoteサーブレットにマッピング・フィルタを追加するための値

    プロパティ 入力する値

    マッピング・タイプ

    サーブレット

    マッピング

    adfdiRemote


    図E-2に、Master Price Listモジュールのweb.xmlの「フィルタ」ページを示します。

    図E-2 デプロイメント・ディスクリプタの「フィルタ」ページ

    フィルタ・マッピング・プロパティの図です。
  6. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

E.2 ADFデスクトップ統合Excelダウンロード・フィルタの構成

ADFデスクトップ統合の次のディレクトリに格納されているadf-desktop-integration.jarに、HTTPフィルタが含まれています。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_11.1.1

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードする前に、アプリケーションによってHTTPフィルタが起動され、統合Excelワークブックで変更が行われるように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)でエントリを構成します。この変更が行われることにより、エンド・ユーザーが開いたときに統合Excelワークブックが正しく機能します。HTTPフィルタは次の変更を行います。


注意:

adfdiExcelDownloadフィルタを使用しない場合は、かわりにワークブック管理ツールを使用して、ワークブックでWebAppRootプロパティを設定できます。詳細は、D.1項「ワークブック管理ツールの使用」を参照してください。

4.2項「Fusion WebアプリケーションへのADFデスクトップ統合の追加」で説明しているように、デフォルトでは、プロジェクトのテクノロジ・スコープにADFデスクトップ統合を追加すると、JDeveloperによってADFデスクトップ統合プロジェクトにHTTPフィルタが追加されます。

HTTPフィルタの構成手順:

  1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。

    通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

  2. 「フィルタ」ページをクリックして、「フィルタ」表にadfBindingsフィルタが含まれているかどうか確認します。エントリが存在する場合はそれを選択し、次の手順に進みます。該当するエントリがない場合は、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。

    フィルタを作成するため、または値を構成して既存のHTTPフィルタを変更するために、表E-5に従って値を入力します。

    表E-5 HTTPフィルタを構成するためのプロパティ

    プロパティ 入力する値

    名前

    adfdiExcelDownload

    Class

    oracle.adf.desktopintegration.filter.DIExcelDownloadFilter

    表示名

    (オプション)「一般フィルタ」タブで、JDeveloperに表示されるフィルタの表示名を入力します。

    説明

    (オプション)「一般フィルタ」タブで、フィルタの説明を入力します。


  3. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。

    表E-6に従って値を入力し、デフォルトのファイル形式(.xlsx)を使用する統合Excelワークブックのフィルタ・マッピングを追加します。

    表E-6 フィルタ・マッピングを構成するためのプロパティ

    プロパティ 入力する値

    マッピング・タイプ

    URLパターン

    マッピング

    *.xlsx

    ディスパッチャ・タイプ

    このプロパティには値は不要です。


  4. 表E-7に従って値を入力し、マクロ有効ワークブック形式(.xlsm)を使用する統合Excelワークブック用に、別のフィルタ・マッピングを追加します。

    表E-7 フィルタ・マッピングを構成するためのプロパティ

    プロパティ 入力する値

    マッピング・タイプ

    URLパターン

    マッピング

    *.xlsx

    ディスパッチャ・タイプ

    このプロパティには値は不要です。


    図E-3に、Master Price Listモジュールのweb.xmlの「フィルタ」ページを示します。

    図E-3 デプロイメント・ディスクリプタの「フィルタ」ページ

    「フィルタ」ページのプロパティを表示します。
  5. 「アプリケーション」ページをクリックし、「MIMEマッピング」セクションを開いて「追加」アイコンをクリックします。

    表E-8に従って値を入力し、デフォルトのファイル形式(.xlsx)を使用する統合ExcelワークブックのMIMEタイプを追加します。

    表E-8 MIMEマッピングを追加するためのプロパティ

    プロパティ 入力する値

    拡張子

    *.xlsx

    MIMEタイプ

    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet


  6. 表E-9に従って値を入力し、マクロ有効ワークブック形式(.xlsm)を使用する統合Excelワークブック用に、別のMIMEタイプを追加します。

    表E-9 MIMEマッピングを追加するためのプロパティ

    プロパティ 入力する値

    拡張子

    *.xlsm

    MIMEタイプ

    application/vnd.ms-excel.sheet.macroEnabled.12


    図E-4に、Master Price Listモジュールのweb.xmlの「アプリケーション」ページを示します。

    図E-4 デプロイメント・ディスクリプタの「アプリケーション」ページ

    デプロイメント・ディスクリプタの「アプリケーション」ページを表示します。
  7. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

web.xmlファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownloadフィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)が表示されるようにしてください。

E.3 デプロイメント・ディスクリプタ・ファイルの例

次の例は、テクノロジ・スコープにADFデスクトップ統合が含まれているFusion Webアプリケーションのweb.xmlファイルからの抜粋で、デスクトップ統合プロジェクト用に構成するエントリを示しています。フィルタの順序の詳細は、4.2.2項「ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理」を参照してください。

    <filter>
        <filter-name>adfBindings</filter-name>
        <filter-class>
            oracle.adf.model.servlet.ADFBindingFilter</filter-class>
        </filter>
        <filter>
            <filter-name>adfdiExcelDownload</filter-name>
            <filter-class>
                oracle.adf.desktopintegration.filter.DIExcelDownloadFilter
            </filter-class>
        </filter>
        <filter-mapping>
            <filter-name>adfBindings</filter-name>
            <servlet-name>adfdiRemote</servlet-name>
        </filter-mapping>
        <filter-mapping>
            <filter-name>adfdiExcelDownload</filter-name>
            <url-pattern>*.xlsx</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>adfdiExcelDownload</filter-name>
            <url-pattern>*.xlsm</url-pattern>
        </filter-mapping>
        <servlet>
            <servlet-name>adfdiRemote</servlet-name>
            <servlet-class>
                oracle.adf.desktopintegration.servlet.DIRemoteServlet
            </servlet-class>
        </servlet>
    <servlet-mapping>
        <servlet-name>adfdiRemote</servlet-name>
        <url-pattern>/adfdiRemoteServlet</url-pattern>
    </servlet-mapping>
    <mime-mapping>
        <extension>xlsx</extension>
        <mime-type>
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
        </mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>xlsm</extension>
        <mime-type>
            application/vnd.ms-excel.sheet.macroEnabled.12
        </mime-type>
    </mime-mapping>