プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle ADFデスクトップ統合によるアプリケーションの開発
12c (12.2.1.3.0)
E90374-01
目次へ移動
目次

前
次

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

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

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

D.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

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

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

ADFデスクトップ統合サーブレットを構成するには:

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

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

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

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

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

    プロパティ 入力する値

    名前

    adfdiRemote

    サーブレット・クラス

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

    oracle.adf.desktopintegration.servlet.DIRemoteServlet

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

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

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

    プロパティ 入力する値

    URLパターン

    /adfdiRemoteServlet

    図D-1に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「サーブレット」ページを示します。

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

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

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

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

    プロパティ 入力する値

    名前

    adfBindings

    クラス

    oracle.adf.model.servlet.ADFBindingFilter

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

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

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

    プロパティ 入力する値

    マッピング・タイプ

    サーブレット

    マッピング

    adfdiRemote

    図D-2に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「フィルタ」ページを示します。

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

    図D-2の説明が続きます
    「図D-2 デプロイメント・ディスクリプタの「フィルタ」ページ」の説明
  6. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

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

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードする前に、HTTPフィルタを使用して、統合Excelワークブックで変更を行います。

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

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration

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

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

  • WebAppRoot

    このプロパティの値を、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるFusion Webアプリケーションの完全修飾URLに設定します。

  • ワークブックのモード

    統合Excelワークブックが誤って設計モードまたはテスト・モードのままになっている場合に、ワークブックのモードを実行時モードに変更します。

デフォルトでは、プロジェクトでADFデスクトップ統合を有効化すると、JDeveloperによってADFデスクトップ統合プロジェクトにHTTPフィルタが追加されます。

HTTPフィルタを構成するには:

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

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

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

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

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

    プロパティ 入力する値

    名前

    adfdiExcelDownload

    クラス

    oracle.adf.desktopintegration.filter.DIExcelDownloadFilter

    表示名

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

    説明

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

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

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

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

    プロパティ 入力する値

    マッピング・タイプ

    URLパターン

    マッピング

    *.xlsx

    ディスパッチャ・タイプ

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

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

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

    プロパティ 入力する値

    マッピング・タイプ

    URLパターン

    マッピング

    *.xlsm

    ディスパッチャ・タイプ

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

    図D-3に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「フィルタ」ページを示します。

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

    図D-3の説明が続きます。
    「図D-3 デプロイメント・ディスクリプタの「フィルタ」ページ」の説明
  5. 「アプリケーション」ページをクリックし、「MIMEマッピング」セクションを開いて「追加」アイコンをクリックします。

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

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

    プロパティ 入力する値

    拡張子

    *.xlsx

    MIMEタイプ

    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

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

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

    プロパティ 入力する値

    拡張子

    *.xlsm

    MIMEタイプ

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

    図D-4に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「アプリケーション」ページを示します。

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

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

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

ADFデスクトップ統合対応Webアプリケーションは、エンド・ユーザーが統合Excelワークブックをダウンロードしようとしたときにエンド・ユーザーの環境を確認するシステム・チェックも表示できます。「エンド・ユーザーに対するシステム・チェックの表示を管理する方法」で説明しているように、このシステム・チェックの表示は、adfdiExcelDownloadフィルタのSystemCheck.Enabled初期化パラメータを構成することにより管理できます。

D.3 ADFデスクトップ統合のためのADFライブラリ・フィルタの構成

モデルドリブン・リスト・ピッカーを使用する場合は、WebアプリケーションにADFライブラリWebアプリケーション・サポート用のフィルタ(<filter-name>ADFLibraryFilter</filter-name>)を構成する必要があります。

モデルドリブン・リスト・ピッカーの使用の詳細は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。

アプリケーションがADFライブラリ・フィルタを参照するように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のエントリを構成します。

ADFライブラリWebアプリケーション・サポート・フィルタを構成する手順:

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

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

  2. 「フィルタ」ページをクリックし、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。

    表D-10の説明に従って値を入力し、ADFライブラリWebアプリケーション・サポート・フィルタを構成します。

    表D-10 ADFライブラリWebアプリケーション・サポート・フィルタを構成するためのプロパティ

    プロパティ 入力する値

    名前

    ADFLibraryFilter

    クラス

    oracle.adf.library.webapp.LibraryFilter

    表示名

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

    説明

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

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

    表D-11の説明に従って値を入力し、フィルタ・マッピングを追加します。

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

    プロパティ 入力する値

    マッピング・タイプ

    URLパターン

    マッピング

    /*

    ディスパッチャ・タイプ

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

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

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

例D-1 ADFライブラリWebアプリケーション・サポートのweb.xmlファイルのエントリ

<filter>
    <filter-name>adfdiExcelDownload</filter-name>
    <filter-class>oracle.adf.desktopintegration.filter.DIExcelDownloadFilter</filter-class>
  </filter>
  ....
<filter>
    <filter-name>ADFLibraryFilter</filter-name>
    <filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class>
  </filter>
  .....

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

ADFデスクトップ統合を使用するFusion Webアプリケーションのweb.xmlファイルの抜粋を示します。

フィルタの順序の詳細は、「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>
     <filter-name>ADFLibraryFilter</filter-name>
     <filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class>
     <init-param>
         <param-name>include-extension-list</param-name>
         <param-value>png,jpg,jpeg,gif,js,css,htm,html,xlsx,xlsm</param-value>
     </init-param>
   </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>
   . . .
   <filter-mapping>
     <filter-name>ADFLibraryFilter</filter-name>
     <url-pattern>/*</url-pattern>
     <dispatcher>FORWARD</dispatcher>
     <dispatcher>REQUEST</dispatcher>
   </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>
   . . .