D Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定
adfdiRemote
)に対して設定する値について説明します。また、この付録では、ADFデスクトップ統合に同梱されているHTTPフィルタの動作を決めるデプロイメント・ディスクリプタ・ファイルの値について説明します。さらに、これらの値の使用例を示すデプロイメント・ディスクリプタ・ファイルからのコード例を提供します。 この付録の内容は次のとおりです。
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デスクトップ統合サーブレットを構成するには:
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フィルタを構成するには:
web.xml
ファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownload
フィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>
)が表示されるようにしてください。
ADFデスクトップ統合対応Webアプリケーションは、エンド・ユーザーが統合Excelワークブックをダウンロードしようとしたときにエンド・ユーザーの環境を確認するシステム・チェックも表示できます。「エンド・ユーザーに対するシステム・チェックの表示を管理する方法」で説明しているように、このシステム・チェックの表示は、adfdiExcelDownload
フィルタのSystemCheck.Enabled
初期化パラメータを構成することにより管理できます。
ADFデスクトップ統合のためのADFライブラリ・フィルタの構成
モデルドリブン・リスト・ピッカーを使用する場合は、WebアプリケーションにADFライブラリWebアプリケーション・サポート用のフィルタ(<filter-name>ADFLibraryFilter</filter-name>
)を構成する必要があります。
モデルドリブン・リスト・ピッカーの使用の詳細は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。
アプリケーションがADFライブラリ・フィルタを参照するように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml
)のエントリを構成します。
ADFライブラリWebアプリケーション・サポート・フィルタを構成する手順:
-
JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(
web.xml
)を探して開きます。通常、このファイルはプロジェクトの
WEB-INF
ディレクトリにあります。 -
「フィルタ」ページをクリックし、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。
表D-10の説明に従って値を入力し、ADFライブラリWebアプリケーション・サポート・フィルタを構成します。
表D-10 ADFライブラリWebアプリケーション・サポート・フィルタを構成するためのプロパティ
プロパティ 入力する値 名前
ADFLibraryFilter
クラス
oracle.adf.library.webapp.LibraryFilter
表示名
(オプション)「一般フィルタ」タブで、JDeveloperに表示されるフィルタの表示名を入力します。
説明
(オプション)「一般フィルタ」タブで、フィルタの説明を入力します。
-
「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。
表D-11の説明に従って値を入力し、フィルタ・マッピングを追加します。
表D-11 フィルタ・マッピングを構成するためのプロパティ
プロパティ 入力する値 マッピング・タイプ
URLパターン
マッピング
/*
ディスパッチャ・タイプ
このプロパティには値は不要です。
-
デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するために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> .....
デプロイメント・ディスクリプタ・ファイルの例
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> . . .