Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11gリリース1(11.1.1.6.0) B66694-01 |
|
前 |
次 |
この章では、Excelワークブックの準備と、ADFデスクトップ統合を使用したFusion Webアプリケーションとの統合、統合Excelワークブックのページ定義ファイルの構成、および既存のワークブックをFusion Webアプリケーションと統合する場合に手動でADFデスクトップ統合を有効にする方法について説明します。
この章の内容は次のとおりです。
この章およびこのガイド全体で、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の説明に従って、適切に機能するFusion Webアプリケーションが開発されていることを前提としています。
Fusion Webアプリケーションの開発後、この章とこのガイドの他の章で説明するタスクを実行して、統合ExcelワークブックとFusion Webアプリケーションを構成します。具体的には、Excelワークブックで実行時に必要なバインディングの追加、Oracle ADF機能で構成するExcelワークブックの準備、ならびに実行時に必要な機能を提供するOracle ADFコンポーネントの追加によるワークブックの構成などです。
注意: 開始する前に、デザイナ・エディションのADFデスクトップ統合をインストールしたことを確認してください。ADFデスクトップ統合のエディションの詳細は、3.5項「ADFデスクトップ統合のインストール」を参照してください。 |
ADFデスクトップ統合をFusion Webアプリケーションを開発するJDeveloperプロジェクトのテクノロジ・スコープに追加することにより、Excelデスクトップ統合をFusion Webアプリケーションに対して有効にします。
JDeveloperの「プロジェクト・プロパティ」ダイアログを使用して、プロジェクトのテクノロジ・スコープにADFデスクトップ統合を追加します。
プロジェクトにADFデスクトップ統合を追加する手順:
JDeveloperでプロジェクトを開きます。
アプリケーション・ナビゲータで、ADFデスクトップ統合を追加するプロジェクトを右クリックして、「プロジェクト・プロパティ」を選択します。
アプリケーションでFusion Web Application (ADF) アプリケーション・テンプレートを使用する場合、ViewControllerプロジェクトを選択します。アプリケーションで別のアプリケーション・テンプレートを使用する場合は、そのWebアプリケーションに対応するプロジェクトを選択してください。
「プロジェクト・プロパティ」ダイアログで、「テクノロジ・スコープ」を選択して、使用可能なテクノロジのリストを表示します。
ADFデスクトップ統合とADFライブラリWebアプリケーション・サポート(オプション)のプロジェクト・テクノロジを選択して、選択したテクノロジ・リストに追加します。
「OK」をクリックします。
注意: 統合Excelワークブックを分散する予定がある場合は、ADFライブラリWebアプリケーション・サポートをEARファイルおよびJARファイル経由でADFライブラリ・ファイルに追加してテクノロジ・スコープに追加する必要があります。 |
プロジェクトのテクノロジ・スコープにADFデスクトップ統合モジュールを追加する際に、次のイベントが発生します。
プロジェクトでは、ADFデスクトップ統合のランタイム・ライブラリが追加されます。このライブラリは、そのクラスパスで次の.jar
ファイルを参照します。
プロジェクトのデプロイメント・ディスクリプタ(web.xml
)は、次のエントリを含むように変更されます。
注意: adfdiRemote のservlet-mapping 要素のurl-pattern 属性値は、表A-18にあるRemoteServletPath ワークブックのプロパティの値と一致する必要があります。 |
前述のリストは完全なものではありません。ADFデスクトップ統合をプロジェクトに追加すると、web.xml
に他の変更が加えられます。web.xml
の一部のエントリは、このファイルに表示されない場合にのみ追加される点に注意してください。
web.xml
ファイルのフィルタおよびフィルタのマッピング情報を更新する際は、ADF Library Web Application Support(<filter-name>ADFLibraryFilter</filter-name>
)のフィルタがadfdiExcelDownload
フィルタ・エントリの下に表示されていることを確認してください。こうすることで、統合ExcelワークブックがFusion Webアプリケーションからダウンロードできます。
図4-1は、JDeveloperのweb.xml
エディタの「フィルタ」タブを示します。
web.xml
の詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。
ADFデスクトップ統合が有効になっているFusion WebアプリケーションをJDeveloperからデプロイする際は、ADFデスクトップ統合の共有ライブラリへの参照が適切なディスクリプタ・ファイルに追加されます。ADFデスクトップ統合のモデルAPIライブラリまたはADFデスクトップ統合ランタイム・ライブラリを参照する複数のプロジェクトを含むすべてのFusion Webアプリケーションについて、プラットフォームに依存しないADFデスクトップ統合モデルAPIの共有ライブラリへの参照がデプロイメント中に追加されます。
ADFデスクトップ統合ランタイム・ライブラリへの参照を含むすべてのWebアプリケーション・モジュール(WAR)プロジェクトの場合は、プラットフォームに依存しないADFデスクトップ統合ランタイム共有ライブラリへの参照がデプロイメント中に追加されます。
Oracle WebLogicサーバーにFusion Webアプリケーションをデプロイする際は、次の処理が実行されます。
デプロイされるアプリケーションEARのMETA-INF/weblogic-application.xml
ファイルに、oracle.adf.desktopintegration.model
へのライブラリ参照が含まれます。
例:
<library-ref> <library-name>oracle.adf.desktopintegration.model</library-name> </library-ref>
共有ライブラリは、oracle.adf.desktopintegration.model.ear
のMW_HOME
/oracle_common/modules/oracle.adf.desktopintegration.model_11.1.1
に配信されます。
デプロイされるWebアプリケーションWARのWEB-INF/weblogic.xml
ファイルに、oracle.adf.desktopintegration
へのライブラリ参照が含まれます。
例:
<library-ref> <library-name>oracle.adf.desktopintegration</library-name> </library-ref>
共有ライブラリは、oracle.adf.desktopintegration.war
のMW_HOME
/oracle_common/modules/oracle.adf.desktopintegration_11.1.1
に配信されます。
IBM WebSphere Application ServerにWebアプリケーションをデプロイする際、次の処理が実行されます。
ADFデスクトップ統合モデルAPIライブラリまたはADFデスクトップ統合ランタイム・ライブラリが必要なアプリケーションでは、デプロイメントの手順により、com/oracle/adfdimodel
拡張への参照がアプリケーションEARファイルのMETA-INF/MANIFEST.MF
ファイルに挿入されます。
例:
Manifest-Version: 1.0 Extension-List: adfm adfdimodel adfm-Extension-Name: com/oracle/adfm adfm-Specification-Version: 1.0 adfdimodel-Extension-Name: com/oracle/adfdimodel adfdimodel-Specification-Version: 1.0 UseWSFEP61ScanPolicy: false
ADFデスクトップ統合ランタイム・ライブラリを参照するプロジェクトを持つWebアプリケーションのdeployment.xml
ファイルには、デプロイメント中に挿入されたライブラリ参照が含まれます。
例:
<libraries xmi:id="LibraryRef_1274886542330_oracle.adf.desktopintegration_1.0_11.1.1.2.0" libraryName="oracle.adf.desktopintegration_1.0_11.1.1.2.0" sharedClassloader="true"/>
注意: システム管理タスクおよびこれらのプラットフォームの共有ライブラリの詳細は、Oracle WebLogicサーバーおよびIBM WebSphere Application Serverのドキュメントを参照してください。 |
ページ定義ファイルは、実行時にOracle ADFコンポーネントにデータを移入するバインディングを定義します。また、このデータに使用する操作やアクションを定義するアクション・バインディングおよびメソッド・アクション・バインディングも参照します。ページ定義ファイルは、Fusion Webアプリケーションと統合するExcelワークシートごとに個別に定義する必要があります。統合Excelワークブックには、ページ定義ファイルを参照しないワークシートを含めることができます。
ADFデスクトップ統合のタスク・ウィンドウには、ADFデスクトップ統合がバインディング・パレットでサポートしているバインディングのみが表示されます。ページ定義ファイルがADFデスクトップ統合がサポートしないバインディング(グラフ・バインディングなど)を参照する場合、それは表示されません。
表4-1は、ADFデスクトップ統合モジュールがサポートするバインディング・タイプの一覧および説明です。
表4-1 ADFデスクトップ統合コンポーネントのバインディングの要件
ADFデスクトップ統合コンポーネント | サポートされているバインディング | 追加の説明 |
---|---|---|
ADF入力テキスト |
属性バインディング |
|
ADF出力テキスト |
属性バインディング |
|
ADFラベル |
属性とリスト・バインディング |
このADFデスクトップ統合コンポーネントは、コントロール・バインディングのラベル・プロパティを使用します。 |
ADF値リスト |
リスト・バインディング |
|
ツリー・ノード・リスト |
ツリー・バインディング属性とリスト・バインディング |
ツリー・バインディング属性はモデル・ドリブンのリストに関連付けられている必要があります。 |
ADFボタン |
各種 |
ADFデスクトップ統合のADFボタン・コンポーネントは、アクション・セットを起動できます。アクション・セットは、アクション・バインディング、メソッド・アクション・バインディング、ADFデスクトップ統合内のコンポーネントにより公開されるアクションを参照できます。アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。 |
ADF読取り専用表 |
ツリー・バインディング |
|
ADF表 |
ツリー・バインディング |
ADFデスクトップ統合内のコンポーネントが使用するバインディングの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。
ページ定義ファイルの要素と属性の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「pageNamePageDef.xml"」の項を参照してください。
Fusion WebアプリケーションのADFデータ・バインディングおよびページ定義ファイルの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion WebアプリケーションでのOracle ADFモデルの使用」の章を参照してください。
JDeveloperプロジェクトで公開するOracle ADFバインディングを決定するページ定義ファイルを、作成および構成します。
統合Excelワークブックのページ定義ファイルを作成する手順:
JDeveloperで、ADFデスクトップ統合アプリケーションのプロジェクトに新しいJSFページを追加します。
ヒント: JSFページにADF FacesTable コンポーネントを追加します。JDeveloperは、ADF表タイプ・コンポーネントがページ定義ファイルで使用するJSFページにツリー・バインディングを生成します。 |
注意: JDeveloperは、選択したJSFページ名に基づいてページ定義ファイル名を作成します。ページ定義ファイル名で特定のワークブックやワークシートとの関連を示すには、JSFページを作成する際にこの名前を選択してください。 |
アプリケーション・ナビゲータで、ページを選択してページ定義に移動を右クリックして選択します。
新規ページ定義作成の確認ダイアログで、「はい」をクリックします。
統合Excelワークブックに必要なバインディングをページ定義ファイルに追加します。
ページ定義ファイルを保存します。
図4-2に、ワークブックEditPriceList-DT.xlsx
のPrice Listワークシートが参照するページ定義ファイルExcelPriceListPageDef.xml
を示します。
ページ定義ファイルの使用の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「ページ定義ファイルの使用」の項を参照してください。
統合Excelワークブックをテスト・モードで実行したり、公開する予定がある場合は、Fusion Webアプリケーションを作成して実行します。
JDeveloperは、4.3.1項「統合Excelワークブックのページ定義ファイルの作成方法」の手順を使用して最初にページ定義ファイルをJDeveloperプロジェクトに追加する際に、DataBindings.cpx
ファイルを作成します。
DataBindings.cpx
ファイルは、Fusion Webアプリケーションのバインディング・コンテキストを定義し、実行時に作成されるOracle ADFバインディングからのメタデータを提供します。このファイルの使用の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「DataBindings.cpxファイルの使用」の項を参照してください。このファイルの要素と属性の詳細は、同ガイドの「DataBindings.cpx」の項にあります。
JDeveloperデスクトップ統合プロジェクトで、Excelワークシートに関連付けられたページ定義ファイルに変更を加える場合、JDeveloperデスクトップ統合プロジェクトをリビルドして、Excelワークシートにページ定義ファイルをリロードし、ADFデスクトップ統合のタスク・ウィンドウに変更が表示されるか確認します。4.4.3項「新しい統合Excelワークブックの構成方法」の説明に従って、ページ定義ファイルを選択する際にそれをExcelワークシートに関連付けます。
「Oracle ADF」タブには、すべてのページ定義ファイルをExcelワークブックにリロードするボタンがあります。
ページ定義ファイルに変更を加えた後にJDeveloperデスクトップ統合プロジェクトをリビルドせずにアプリケーションを再起動すると、統合Excelワークブックを設計モードからランタイムに切り替えるときに、エラーが発生することがあります。次に例を示します。
ページ定義ファイルの要素を削除した場合
リビルドせずにFusion Webアプリケーションを再起動した場合
統合Excelワークブックにページ定義ファイルをリロードしない場合
前述の場合にワークブックをテスト・モードに切り替えようとすると、次のようなエラー・メッセージが表示されることがあります。
[ADFDI-05530] unable to initialize worksheet: MyWorksheet [ADFDI-05517] unable to find control MyBindingThatWasRemoved
Excelワークブックにページ定義ファイルをリロードする手順:
更新したページ定義ファイルをJDeveloperを保存したことを確認してください。
Excelワークブックで、 「Oracle ADF」タブのコンポーネント・グループのバインディングのリフレッシュ・ボタンをクリックします。
バインディングのリフレッシュ・ボタンの詳細は、5.1項「開発ツールの概要」を参照してください。
ADFデスクトップ統合プロジェクトのページ定義ファイルについて、次の点に注意してください。
複数のExcelワークシートの統合 – Excelワークブックの複数のワークシートをFusion Webアプリケーションと統合できます。4.4.4項「統合Excelワークブックにワークシートを追加する方法」の説明に従って、ページ定義ファイルをそれぞれのワークシートに関連付けます。
ページ定義ファイルのEL式 – 次の構文を使用して、ページ定義ファイルでEL式を記述してください。
Dynamic (${})
EL式の記述に構文Deferred (#{})
を使用しないでください。この構文を使用したEL式は、使用できないADF Facesコンテキストにアクセスしようとするため、エラーを生成します。
注意: ADF入力テキストなど統合ExcelワークブックのADFデスクトップ統合コンポーネントに記述するEL式では、Deferred (#{}) 構文を使用する必要があります。 |
ExcelワークブックとOracle ADF機能の使用を開始する前に、ワークブックをFusion Webアプリケーションを次の方法で統合して構成する必要があります。
新しい統合Excelワークブックを作成するか、既存のワークブックを有効にしてFusion Webアプリケーションと統合します。2つの方法のどちらかを選択できます。
ワークブックをADFデスクトップ統合に対して有効にした後で、いくつかのプロパティを設定することにより、統合Excelワークブックを構成します。
必要があれば、その他のワークシートを追加します。
これらの手順を終えると、ADFデスクトップ統合モジュールで提供されるツールを使用してOracle ADF機能を追加できます。
統合ExcelワークブックをJDeveloper内でFusion Webアプリケーションに追加したり、Excelワークブックを作成してADFデスクトップ統合に対して有効にすることができます。
JDeveloper内のFusion Webアプリケーションに統合Excelワークブックを新規ギャラリから追加できます。
JDeveloper内で統合Excelワークブックを追加する手順:
JDeveloperでFusion Webアプリケーションを開きます。
アプリケーションがADFデスクトップ統合に対して構成されていることを確認してください。アプリケーションをADFデスクトップ統合について構成する方法の詳細は、4.2項「Fusion WebアプリケーションへのADFデスクトップ統合の追加」を参照してください。
アプリケーション・ナビゲータで、新しいわを追加するViewControllerのようなプロジェクトを選択します。
「ファイル」メニューから「新規」を選択します。
「新規ギャラリ」ダイアログで、「クライアント層」を展開して「ADFデスクトップ統合」を選択し、続いて「Microsoft Excelワークブック」を選択して「OK」をクリックします。
必要があれば「ADFデスクトップ統合対応Excelワークブックの作成」ダイアログで、ワークブックのファイル名とその場所を編集します。デフォルトでは、統合Excelワークブックは、選択されたプロジェクトの\src\excel
ディレクトリにadfdi-workbook.xlsx
として保存されます。
「OK」をクリックします。
JDeveloperにより、統合ExcelワークブックがFusion Webアプリケーションに追加されます。アプリケーション・ナビゲータで、ワークブックをダブルクリックして開き、必要に応じて構成します。統合Excelワークブックの構成方法の詳細は、4.4.3項「新しい統合Excelワークブックの構成方法」を参照してください。
ヒント: JDeveloperで統合Excelワークブックを作成して追加する場合、4.4.3項「新しい統合Excelワークブックの構成方法」」の説明にあるように、様々なワークブックのプロパティを構成しなくてもよい可能性があります。 |
既存のワークブックをFusion Webアプリケーションに統合する場合、そのワークブックでADFデスクトップ統合を有効にする必要があります。Fusion Webとの統合のために変換できるExcelワークブックのファイル形式の詳細は、3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。
ExcelワークブックでADFデスクトップ統合を有効にする手順:
Excelでワークブックを開くか、新しい空白のワークブックを作成します。
「Oracle ADF」タブで、「ワークブック・プロパティ」をクリックします。
ワークブックの有効化ダイアログで、「はい」をクリックします。
ADFデスクトップ統合のフレームワークがワークブックを準備して、ADFデスクトップ統合のデザイナ作業ウィンドウを初期化します。
ワークブックを保存します。
Fusion Webアプリケーションと統合するExcelワークブックはどこにでも保存できますが、Fusion Webアプリケーションの他のファイルとともに保存するメリットがいくつかあります。たとえば、次のようなものです。
ワークブックのソースの管理
Webページからのワークブックのダウンロードの円滑化
最初にワークブックを開いたときに表示されるファイル・システム・フォルダ・ピッカーは、ワークブックを保存する場所をデフォルトとします。
たとえば、Fusion Order DemoのMaster Price Listモジュールは、統合するExcelワークブックを次のサブディレクトリに保存します。
FOD_HOME
\MasterPriceList\ViewController\src\oracle\foddemo\masterpricelist\excel
FOD_HOME
は、Fusion Order Demoアプリケーションのソース・ファイルを保存するルート・ディレクトリです。
ワークブックがADFデスクトップ統合に統合された後は、それを構成する必要があります。
新しい統合Excelワークブックを構成する手順:
ワークブックでADFデスクトップ統合を有効にする際、図4-3に示すように「フォルダの参照」ダイアログが表示されます。
「フォルダの参照」ダイアログを使用して、JDeveloperアプリケーションのホーム・ディレクトリを選択します。一般的なJDeveloperのプロジェクトでは、JDeveloperアプリケーションのホーム・ディレクトリにapplication_name.jwsファイルが保存されます。選択した値がApplicationHomeFolder
ワークブックのプロパティに割り当てられます。
注意: ワークブックがJDeveloperアプリケーションのワークスペース内にある場合、「フォルダの参照」ダイアログは表示されません。この場合、ApplicationHomeFolder ワークブックのプロパティの値は、自動的に割り当てられます。 |
「ワークブック・プロパティの編集」ダイアログで、ワークブックをカスタマイズする際に設計モードとテスト・モードを切り替えられるように、次のプロパティの値を設定または確認します。
このプロパティの値は、JDeveloperアプリケーション・ワークスペース(.jws
)のルート・ディレクトリの絶対パスに相当します。この値は手順1で指定しました。
注意: アプリケーション・ディレクトリを移動した後にExcelファイルを開く場合、ApplicationHomeFolder プロパティの値が正しいパスを反映していることを確認してください。 |
このプロパティの値は、JDeveloperアプリケーション・ワークスペースのJDeveloperプロジェクト(.jpr
)の名前に相当します。プロジェクトを変更するには、省略記号(...)のボタンをクリックして、JDeveloperアプリケーション・ワークスペースで定義されたプロジェクトをリストする「プロジェクト」ダイアログからプロジェクトを選択します。
デフォルトでは、Project
はExcelドキュメントを含むプロジェクト名に設定されます。ADFデスクトップ統合は、ApplicationHomeFolder
の値として指定された使用可能なプロジェクト名をapplication_name.jws
からロードします。
このプロパティの値を、デスクトップ・アプリケーションを統合するWebコンテキスト・ルートの完全修飾URLに設定します。完全修飾されたURLは次の形式になります。
http://<hostname>:<portnumber>/context-root
JDeveloperでは、「プロジェクト・プロパティ」ダイアログの「Java EEアプリケーション」ページでWebコンテキスト・ルート(context-root
)を指定します。図4-4は、Master Price ListモジュールのWebコンテキスト・ルートを示します。
Master Price Listモジュールを使用してシステムにテキスト環境を設定した場合、完全修飾URLは次のようになります。
http://127.0.0.1:7101/FODMasterPriceList
Fusion WebアプリケーションがオンラインでADFデスクトップ統合がサポートされているかを確認する方法の詳細は、C.1項「Fusion WebアプリケーションがADFデスクトップ統合をサポートするかどうかの検証」を参照してください。
ExcelファイルをセキュアなFusion Webアプリケーションと統合する場合、WebAppRoot
の値を入力する際にhttps
プロトコルを使用することをお薦めします。Fusion Webアプリケーションの安全確保の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』を参照してください。
このプロパティの値を、Fusion WebアプリケーションのWebページを含むディレクトリに設定します。ディレクトリ・パスは、ApplicationHomeFolder
の値の相対パスになります。たとえば、EditPriceList-DT.xlsx
ワークブックでは、WebPagesFolder
はViewController\public_html
に設定されます。
図4-5は、Master Price ListモジュールのEditPriceList-DT.xlsx
ワークブックの「ワークブック・プロパティの編集」ダイアログでのワークブック・プロパティの実装を示します。
「OK」をクリックします。
「ワークシート・プロパティの編集」ダイアログで、「ページ定義」入力フィールドの横にある省略記号ボタン(...)をクリックし、表示されたダイアログからページ定義ファイルを選択します。
「OK」をクリックします。
Excelの作業ウィンドウに、ADFデスクトップ統合とともにExcelのワークシートが表示されます。手順6で選択したページ定義ファイルのバインディングが、「バインディング」タブに表示されます。
Excelのワークブックを保存します。