プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Application Development Frameworkの理解
12c (12.2.1.1)
E77400-01
目次へ移動
目次

前
前へ
次
次へ

7 ADFデスクトップ統合

この章では、Microsoft Excelワークブックを使用してFusion Webアプリケーションを統合できる、ADFデスクトップ統合のテクノロジについて概説します。

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

7.1 ADFデスクトップ統合について

ADFデスクトップ統合には、Oracle ADF開発者が、Fusion Webアプリケーションによって提供される機能をMicrosoft Excelワークブックの形式でデスクトップ・アプリケーションに拡張するためのフレームワークが備わっています。

図7-1に示すように、ADFデスクトップ統合は、ADFモデル、ADFビジネス・コンポーネントなど、ADFテクノロジ・スタックの他の部分とともに使用できます。

図7-1 ADFデスクトップ統合のADFアーキテクチャ

この図は周囲のテキストで説明しています

7.2 ADFデスクトップ統合のコアな利点

ADFデスクトップ統合のコアな利点は、次のとおりです。

  • Oracle ADFベースのアプリケーションをオフラインにして作業できます。

  • 多くのユーザーが使い慣れているMicrosoft Excelのユーザー・インタフェース内で作業できます。

  • 大容量のデータのエントリや更新が、スプレッドシート・スタイルのインタフェースから簡単に行えます。

  • マクロ、計算、検証、スタイルなどのネイティブなExcel機能を使用できます。

7.3 ADFデスクトップ統合の主要な概念

この項では、ADFデスクトップ統合の主要概念について概説します。

7.3.1 Microsoft Excelとの統合

ADFデスクトップ統合コンポーネントを使用すると、エンド・ユーザーは統合されたExcelワークブックのFusion Webアプリケーションから取得されたデータを管理できます。ADFコンポーネントおよびそれらをホストするワークシートを構成して、エンド・ユーザーがワークシートのデータに加えた変更をFusion Webアプリケーションにアップロードできるようにします。

ワークシートをADFデスクトップ統合コンポーネントとともに使用すると、次のような標準Excel機能を活用できます。

  • 検証。Excelのデータ検証機能を使用して、エンド・ユーザーがセルに入力したデータの型や値を制御できます。これらの機能によって、データ・エントリを一定の日付範囲に制限したり、リストを使用して選択内容を限定したり、正の整数のみをセルに入力したりすることができます。

  • スタイル。アプリケーションのデータの外観を構成するには、ADFデスクトップ統合により提供された一部の事前定義済スタイルを含めて、Excelのスタイルを使用して機能の書式設定を行います。また、EL式を使用して、スタイルを動的に適用することも可能です。

  • 計算式および計算済セル。統合Excelワークブックで値の計算を実行するExcel式を記述できます。計算式は、Oracle ADFバインディングを参照するセルと参照しないセルの両方に入力できます。

    また、EL式を使用して、ADFコンポーネントの値としてExcel式を生成できます。

  • マクロ。統合ExcelワークブックのExcelイベントに基づいて、マクロを定義して実行できます。

7.3.2 ADFページ定義ファイルとの統合

ADFデスクトップ統合コンポーネントは、Fusion Webアプリケーションのページ定義ファイルにリンクされています。ページ定義ファイルは、実行時にOracle ADFコンポーネントにデータを移入するバインディングを定義します。また、このデータに使用する操作やアクションを定義するアクション・バインディングおよびメソッド・アクション・バインディングも参照します。ページ定義ファイルは、Fusion Webアプリケーションと統合するExcelワークシートごとに個別に定義する必要があります。統合Excelワークブックには、ページ定義ファイルを参照しないワークシートを含めることができます。

ページ定義ファイルとのリンクにより、統合されたワークシートはバインディング・レイヤーに設定したどの検証からも利点を受けることもできます。エンド・ユーザーがADFデスクトップ統合コンポーネントの1つに入力または編集したデータ(ADF表コンポーネントなど)は、Fusion Webアプリケーションのサーバー側で設定されたルールおよび条件に対して検証できます。

7.3.3 Fusion Webアプリケーションとの実行時の同期

ADFデスクトップ統合で統合されたワークブックは、ADF Fusion Webアプリケーションのコンテキスト内で拡張および実行されます。ADFデスクトップ統合で統合されたワークブックはオフラインで使用できますが、データの同期と一部のユーザー・インタフェースの相互作用には、ある時点でベースとなるWebアプリケーションとの間に有効なユーザー・セッションが確立されている必要があります。ADFデスクトップ統合は、Webアプリケーションが認証を実施するように構成されているかいないかにかかわらず、ADF Fusion Webアプリケーションとのすべての相互作用について、HTTP Cookieベースのセッション管理に依存しています。

ADFデスクトップ統合が有効になっているFusion WebアプリケーションJDeveloperからデプロイする際は、ADFデスクトップ統合の共有ライブラリへの参照が適切なディスクリプタ・ファイルに追加されます。ADFデスクトップ統合のモデルAPIライブラリまたはADFデスクトップ統合ランタイム・ライブラリを参照する1つ以上のプロジェクトを含むすべてのFusion Webアプリケーションについて、プラットフォームに依存するADFデスクトップ統合モデルAPIの共有ライブラリへの参照がデプロイメント中に追加されます。

ADFデスクトップ統合ランタイム・ライブラリへの参照を含むすべてのWebアプリケーション・モジュール(WAR)プロジェクトの場合は、プラットフォームに依存しないADFデスクトップ統合ランタイム共有ライブラリへの参照がデプロイメント中に追加されます。

ADFデスクトップ統合フレームワークは、Microsoft .NETで実行するクライアント側部分と2つのサーバー・コンポーネント(ADFデスクトップ統合リモート・サーブレットおよびADFデスクトップ統合ダウンロード・フィルタ)で構成されています。サーバー・コンポーネントは、ADF Fusion Webアプリケーションのコンテキスト内で実行されます。クライアント・コンポーネントはビューおよびコントローラとして機能し、データを同期してWebアプリケーションのモデル・プロジェクトでビジネス・ロジックを実行する際に、サーブレットと通信します。クライアントとサーバーの間の通信はHTTPリクエストと応答という形を取ります。

7.3.4 統合Excelワークブックのセキュリティ

統合ExcelワークブックがFusion Webアプリケーションに接続されると、統合ワークブックではデータのダウンロードの前に有効な認証済のユーザー・セッションが確立されていることが必ず確認されます。認証を実施していないFusion Webアプリケーションを使用する場合でも、統合ExcelワークブックではFusion Webアプリケーションに接続されると、有効なユーザー・セッションが検証され作成されます。

対応するFusion WebアプリケーションでADFセキュリティが有効化されている場合、ADFデスクトップ統合では統合ワークブックに対応するページ定義に設定されたセキュリティ・ポリシーが実施されます。実行時、ページ定義(バインディング・コンテナ)に対する適切な権限のないエンド・ユーザーは、関連する統合Excelワークシートとの対話が禁止されます。認可されていないバインディング・コンテナを使用した対話の試行(データのダウンロード、送信など)は中断され、エンド・ユーザーには認可エラーが通知され、ワークシート上のすべてのADFデスクトップ統合アクティビティは無効になります。新しいユーザー・セッションが確立されるまで、ADFデスクトップ統合が無効になっているワークシートとこれ以上の対話を行うことはできません。エンド・ユーザーが統合Excelワークシートと対話できるようにするには、ページ定義へのアクセスを許可されたロールをエンド・ユーザーに割り当てます。

Fusion Webアプリケーションからダウンロードしたデータを含むExcelワークブックを、他のユーザーがそのExcelワークブックにアクセスできるネットワーク・ディレクトリなどの場所に保存する場合、他のユーザーはExcelワークブックに保存されているデータにアクセスできます。

ワークブックにパスワードを設定するExcelの機能を使用して、統合Excelワークブックのセキュリティを強化できます。これにより、許可されていないユーザーは、ワークブックを開いたり変更することができなくなります。Excelのセキュリティ機能の詳細は、Excelのドキュメントを参照してください。

7.4 ADFデスクトップ統合の主要なコンポーネント

ADFデスクトップ統合の機能は、この項で概説するMicrosoft ExcelへのAdd-In機能で構成されています。

7.4.1 表タイプ・コンポーネント

ADFデスクトップ統合には表と読取り専用の表コンポーネントが備わっており、それを使用するとデータベース表全体などの大型の構造化情報を表示して編集できます。これらのコンポーネントは、同じ名前が付けられているが、Excelワークブック環境に固有のプロパティを備えたADF Facesコンポーネントに似ています。これらのコンポーネントには、関連付けられたFusion Webアプリケーションに対するダウンロードやアップロードなどを実行できる、関連付けられたアクションも備わっています。

ワークシートにADF表コンポーネントを追加した後は、ADF表コンポーネントがFusion Webアプリケーションからデータをダウンロードするように、コンポーネントおよびそれをホストするワークシートを構成できます。これを実行するには、ADFボタンやワークシート・リボン・ボタン、ワークシート・イベントなどのOracle ADFコンポーネントを構成して、アクション・セットを起動します。起動されるアクション・セットには、起動されるアクションの中からADF表コンポーネントDownloadアクションを含める必要があります。

7.4.2 フォームタイプ・コンポーネント

ADFデスクトップ統合には、入力テキスト・フィールド、出力テキスト・フィールド、ラベル、ボタン、および値リスト用(LOV)の基本UIコンポーネントが用意されており、それを使用してデータを表示して入力するフォームを作成できます。これらのコンポーネントは、同じ名前が付けられているが、Excelワークブック環境に固有のプロパティを備えたADF Facesコンポーネントに似ています。

ユーザーがそれらの変更をFusion Webアプリケーションに戻して実行できるようにするには、変更内容をWebアプリケーションに戻すための転送およびデータ・ソースでの実行を処理するアクション・セットを起動するように、ADFコンポーネントを構成します。

7.4.3 アクション・セット

起動できる複数のアクションをワークブック内の単一のユーザー・ジェスチャとつなぎ合せることができるようにするために、ADFデスクトップ統合にはaction setsが用意されています。アクション・セットとは、特定の順序で実行される1つまたは複数のアクションからなる、順序付けされたリストです。アクション・セットをワークシート内のUI要素、またはStartupShutdownなどのワークシート・イベントと関連付けることができます。

次のタイプのアクションを使用できます。

  • ADFmAction: 基礎となるページ定義ファイルのアクション・バインディングまたはメソッド・アクション・バインディング。

  • ComponentAction: ワークシートのコンポーネントが公開するアクション。ADFデスクトップ統合のコンポーネントの中では、ADF表コンポーネントおよびADF読取り専用表コンポーネントのみがアクションを公開します。

  • WorksheetMethod: ワークシート内のデータおよびFusion Webアプリケーション内のデータ間のコーディネーションを処理するADFデスクトップ統合により提供されるアクション。使用できるアクションは、UpSyncDownSyncおよびDisplayWorksheetErrorsです。

  • Confirmation: 確認のダイアログを起動します。

  • Dialog: ポップアップ・ダイアログまたはExcelの作業ウィンドウでWebページを起動します。

7.5 ADFデスクトップ統合のプロセス・フローの概要

ADFデスクトップ統合を使用した開発は、次の手順で構成されます。

  1. Microsoft Windowsのシステム上で、Internet Explorerがインストールされており、Microsoft ExcelおよびJDeveloperがインストールされていることを確認します。

  2. VBAプロジェクトのオブジェクト・モデルへのアクセスを信頼するようにMicrosoft Excelインストールを構成し、ADFデスクトップ統合からプロジェクトのオブジェクト・モデルにアクセスできるようにします。

  3. JDeveloperで、ADFデスクトップ統合Add-Inをインストールします。

    ADFデスクトップ統合のアドインには、デザイナ・エディションとランタイム・エディションの2つがあります。統合Excelワークブックを作成してテストするにはデザイナ・エディションを、エンド・ユーザーがADFデスクトップ統合および統合Excelワークブックを使用できるようにするにはランタイム・エディションをそれぞれ使用します。ただし、同じシステムに両方のエディションのADFデスクトップ統合をインストールしないでください。

  4. Fusion Webアプリケーションを作成します。

  5. アプリケーションのモデル・プロジェクトで、Microsoft Excelで必要な要素を公開するデータ・コントロールを追加します。

  6. アプリケーションのユーザー・インタフェース・プロジェクトで、Oracle ADFバインディングで公開してExcelで使用するページ定義ファイルを作成します。

  7. Oracle ADF機能で構成するExcelワークブックを作成します。

  8. ページ定義ファイルで公開したOracle ADFバインディングと、ADFデスクトップ統合で提供されるOracle ADFコンポーネントを使用して、Excelワークブックを構成します。

  9. Fusion Webアプリケーションに統合Excelワークブックがパッケージ化されていない場合には、JDeveloperプロジェクトに追加します。こうすることで、最終のFusion Webアプリケーションをデプロイする際に、Fusion Webアプリケーションと統合するExcelワークブックが確実にデプロイされます。

  10. 完了したワークブックを公開して、アプリケーションがデプロイされたときにユーザーが使用できるようにします。

  11. Fusion Webアプリケーションに1つまたは複数のWebページを構成して、エンド・ユーザーが統合Excelワークブックにアクセスできるようにします。

  12. 統合ワークブックが含まれているFusion Webアプリケーションをデプロイします。

  13. 開発者が統合Excelワークブックで構成した機能を使用するエンド・ユーザーが、確実にADFデスクトップ統合のランタイム・エディションをインストールする必要があります。

7.6 ADFデスクトップ統合の詳細について

ADFデスクトップ統合の詳細は、次のリソースを参照してください。