この章では、開発者を対象として、Oracle SOA Suiteのエンタープライズ・システム機能をMicrosoft Excel 2007と統合する方法について説明します。この統合によって、Microsoft ExcelからのBPELプロセスの起動およびワークフロー電子メール通知へのMicrosoft Excelワークブックの添付が可能になります。この統合は、複数のツールを切り替えずに構成できます。
この章では、次の項目について説明します。
Oracle WebLogic ServerにデプロイされたBPELプロセスは、Excelワークブックから起動できます。このタスクを実行するには、Application Development Frameworkデスクトップ統合(ADF-DI)のプラグインを、BPELプロセスを起動するExcelドキュメントと同じホストにインストールします。
プロジェクトを作成するには、「Webサービス・データ・コントロールの作成」ウィザードを使用します。
Webサービス・データ・コントロール・タイプのOracle JDeveloperプロジェクトを作成する手順は、次のとおりです。
Oracle JDeveloperで、「ファイル」メニューから「新規」を選択します。「新規ギャラリ」ダイアログが表示されます。
「カテゴリ」セクションで、「ビジネス層」を開き、次に、「データ・コントロール」を選択します。対応する項目が「項目」ペインに表示されます。
この「項目」ペインで、「Webサービス・データ・コントロール」を選択し、「OK」をクリックします。「Webサービス・データ・コントロールの作成」ウィザードが表示されます。
このウィザードのオンライン・ヘルプの手順に従います。この手順では、このプロジェクトで使用するWSDLファイルと操作を選択するように求めるプロンプトが表示されます。
このタスクでは、ページ定義ファイルを生成します。JSFファイルに生成される実際のレイアウトは重要ではありません。重要なのは、コントロールとアクションを含むページ定義ファイルを生成することです。このページ定義は後でExcelファイルで使用します。
ダミーのJSFページを作成する手順は、次のとおりです。
Oracle JDeveloperで、「ファイル」メニューから「新規」を選択します。「新規ギャラリ」ダイアログが表示されます。
「カテゴリ」セクションで、「Web層」ノードから「JSF」を選択します。対応する項目が「項目」ペインに表示されます。
この「項目」ペインで「JSFページ」を選択し、「OK」をクリックします。「JSFページの作成」ダイアログが表示されます。
このダイアログのオンライン・ヘルプの手順に従って、各フィールドに入力します。
プロンプトが表示されたら、Excelドキュメントで使用するコントロールとフィールドを「コンポーネント・パレット」からドラッグ・アンド・ドロップします。
このタスクの実行方法の例については、第35.2.3.3項「タスク3: Excelワークブックで使用する有効なページ定義ファイルの作成」を参照してください。
Oracle ADF-DIをプロジェクトのテクノロジ・スコープに追加するには、JDeveloperで「プロジェクト・プロパティ」ダイアログを使用します。
Oracle ADFデスクトップ統合をプロジェクトに追加する手順は、次のとおりです。
「アプリケーション・ナビゲータ」で、Oracle ADF-DIモジュールを追加するプロジェクトを右クリックし、コンテキスト・メニューから「プロジェクト・プロパティ」を選択します。
アプリケーションでFusion Webアプリケーションのアプリケーション・テンプレートを使用する場合は、ViewControllerプロジェクトを選択します。アプリケーションで他のアプリケーション・テンプレートを使用する場合は、Webアプリケーションに対応するプロジェクトを選択します。
「プロジェクト・プロパティ」ダイアログで「テクノロジ・スコープ」を選択して、使用可能なテクノロジのリストを表示します。
「ADFデスクトップ統合」および「ADFライブラリWebアプリケーション・サポート」プロジェクト・テクノロジを選択し、「選択済のテクノロジ」リストに追加します。
「OK」をクリックします。
Oracle ADF-DIモジュールをプロジェクトのテクノロジ・スコープに追加すると、次のイベントが発生します。
プロジェクトでは、Oracle ADF-DIのランタイム・ライブラリを追加します。このライブラリは、クラスパス内で次の.jar
ファイルを参照します。
プロジェクトのデプロイメント・ディスクリプタ(web.xml
)が次のエントリを含むように変更されます。
注意:
|
これらのエントリがすべてではありません。Oracle ADF-DIをプロジェクトに追加すると、web.xml
はさらに変更されます。また、web.xml
内の一部のエントリは、そのエントリが存在しない場合のみ追加されます。
ADFライブラリWebアプリケーション・サポートをプロジェクトのテクノロジ・スコープに追加すると、そのプロジェクトのweb.xml
ファイルは、例35-1に示すエントリを含むように変更されます。
例35-1 web.xmlファイルのエントリ
<filter> <filter-name>ADFLibraryFilter</filter-name> <filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class> </filter> <filter-mapping> <filter-name>ADFLibraryFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> </filter-mapping> <servlet> <servlet-name>adflibResources</servlet-name> <servlet-class>oracle.adf.library.webapp.ResourceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>adflibResources</servlet-name> <url-pattern>/adflib/*</url-pattern> </servlet-mapping>
例35-2に示すように、ADFライブラリWebアプリケーション・サポートのフィルタ(<filter-name>ADFLibraryFilter</filter-name>
)は、web.xml
のadfdiExcelDownload
フィルタ・エントリの下に表示されます。このアクションにより、統合されたExcelワークブックをアプリケーションからダウンロードできます。
例35-2 web.xmlファイルのエントリ
<filter> <filter-name>adfdiExcelDownload</filter-name> <filter-class>oracle.adf.desktopintegration.filter.DIExcelDownloadFilter</filter-c lass> </filter> <filter> <filter-name>ADFLibraryFilter</filter-name> <filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class> </filter> ... <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>
web.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド』を参照してください。
このタスクの実行方法の例については、第35.2.3.5項「タスク5: ADFタスク・フローのデプロイ」を参照してください。
Microsoft Excelは、適切なMicrosoft社のドキュメントに従ってインストールしてください。
このインストールを実行するには、第35.2.3.4項「タスク4: Excelワークブックの準備」の手順に従ってください。
手順については、第35.2.3.4項「タスク4: Excelワークブックの準備」を参照してください。
Excelワークブックは、Oracle BPM Worklistを使用するかわりに、ヒューマン・タスク・ワークフロー電子メール通知の一部として、タスクの詳細に添付できます。この場合、ユーザーは新規タスクに関する電子メールを受信します。この電子メールにはExcelワークブックが添付されており、ユーザーが添付ファイルを開くと、Oracle BPM Worklistと同様のログイン・ページが表示されます。Excelワークブックには、タスクIDやペイロードのようなタスクの詳細が含まれています。ユーザーが実行できるアクションに対応したボタンのいずれかをクリックすると、対応するBPELプロセスが起動します。
この機能を有効にする手順は、次のとおりです。
Oracle JDeveloperで、BPELプロセスの特定のヒューマン・タスク・アクティビティに対応するADFタスク・フローを作成します。
タスク・フローがデプロイされているサーバーを指し示すようにADF-DI対応のExcelシートの設定を変更し、次に、このExcelシートを、ADFタスク・フロー用にパッケージ化した.war
ファイルの一部として保存します。これらのタスクの実行手順については、第35.2.3項「例: 電子メール通知へのExcelワークブックの添付」で説明します。後で、第35.1.2項「ダミーのJSFページの作成方法」で生成したページ定義ファイルを使用します。
注意: ADFタスク・フローへのExcelワークブックのパッケージ化は、ADFタスク・フローと、ワークフローに使用するExcelシートの間に1対1の対応があることを前提にしています。 |
デスクトップ統合のADFタスク・フロー・プロジェクトを有効にして、サーバーにデプロイします。
実行時における次のエンド・ユーザーの動作に注意してください。
ユーザーは、新規タスクに関する電子メール通知をExcel添付ファイルとともに受信します。ユーザーが添付ファイルを開くと、ログイン・ページが表示され、ユーザー名とパスワードの入力を求めるプロンプトが表示されます。このログイン・ページは、Oracle BPM Worklistのログイン・ページに類似しています。
Excelワークブックは、タスクの詳細(タスク識別子、ペイロードなど)とともにロード・アップされます。ユーザーが実行できるアクションに対応するボタンが表示されます。いずれかのボタンをクリックすると、そのタスクがステップとなるBPELプロセスが起動します。
次の実行時の動作に注意してください。
Excelワークブックが添付ファイルとして追加されるのは、対応するタスクの「タスクの添付ファイルを含む」フラグがtrue
に設定されている場合のみです。
実行時には、Excelワークブックを添付ファイルとして追加する前に、ワークフローに対してデジタル署名が有効でないことが検証されます。
ADFタスク・フローがサーバーにデプロイされると、タスク・フローURIのホスト名やポート番号などのデータがデータベースに登録されます。
電子メール通知が作成されると、実行時に、アプリケーション・サーバーのホスト名とポート番号、およびタスク・フロー・アプリケーションのコンテキスト・ルートがデータベースから取得されます。この情報を使用して、Excelワークブック(workflow_name
.xls
)が検索されます。
この項では、電子メール通知にExcelワークブックを添付する方法を説明します。
このタスクでは、WebアプリケーションをOracle ADF-DIで使用するように構成します。
ヒューマン・タスクに基づいてADFタスク・フロー・プロジェクトを作成します。これにより、タスクに対応するデータ・コントロール、およびタスクの構造に対応する.xml
ファイルが作成されます。図35-1に、サンプル・プロジェクトが開いた状態のOracle JDeveloperを示します。
第35.1.3項「Oracle JDeveloperプロジェクトへのデスクトップ統合の追加方法」の手順に従って、Oracle ADFデスクトップ統合をプロジェクトに追加します。
図35-2に、Oracle ADF-DIをプロジェクトに追加するときのOracle JDeveloperの「プロジェクト・プロパティ」ダイアログを示します。
ステップ2で述べたテクノロジ・スコープをプロジェクトに追加したときは、必要なイベントが発生していることを確認します。
「アプリケーション・ナビゲータ」で、プロジェクトを右クリックします。
「プロジェクト・プロパティ」をクリックし、「ライブラリとクラスパス」を選択します。
ADFデスクトップ統合ランタイムというエントリが存在し、選択されていることを確認します。
このライブラリを選択し、「表示」をクリックします。
wsclient.jar
およびadf-desktop-integration.jar
のライブラリ参照がクラスパスに存在することを確認します。
プロジェクトのデプロイメント・ディスクリプタ(web.xml
)が次のエントリを含むように変更されていることを確認します。
adfdiRemote
という名前のサーブレット
adfdiExcelDownload
という名前のフィルタ
Excelファイル用のMIMEマッピング
これらのエントリがすべてではありません。「ADFデスクトップ統合」および「ADFライブラリWebアプリケーション・サポート」をプロジェクトに追加すると、web.xml
はさらに変更されます。次に、デプロイメント・ディスクリプタのサンプル・スニペットを示します。
<context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param> <context-param> <description>...</description> <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION </param-name> <param-value>false</param-value> </context-param> <context-param> <description>Whether the 'Generated by...' comment at the bottom of ADF Faces HTML pages should contain version number information.</description> <param-name>oracle.adf.view.rich.versionString.HIDDEN</param-name> <param-value>false</param-value> </context-param> <filter> <filter-name>trinidad</filter-name> <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter </filter-class> </filter> <filter> <filter-name>ADFLibraryFilter</filter-name> <filter-class>oracle.adf.library.webapp.LibraryFilter </filter-class> </filter> <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>trinidad</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> </filter-mapping> <filter-mapping> <filter-name>adfBindings</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> </filter-mapping> <filter-mapping> <filter-name>trinidad</filter-name> <servlet-name>adfdiRemote</servlet-name> </filter-mapping> <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>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>resources</servlet-name> <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-clas s> </servlet> <servlet> <servlet-name>adflibResources</servlet-name> <servlet-class>oracle.adf.library.webapp.ResourceServlet</servlet-class> </servlet> <servlet> <servlet-name>adfdiRemote</servlet-name> <servlet-class>oracle.adf.desktopintegration.servlet.DIRemoteServlet</servlet-c lass> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/adf/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/afr/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>adflibResources</servlet-name> <url-pattern>/adflib/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>adfdiRemote</servlet-name> <url-pattern>/adfdiRemoteServlet</url-pattern> </servlet-mapping> <session-config> <session-timeout>35</session-timeout> </session-config> <mime-mapping> <extension>html</extension> <mime-type>text/html</mime-type> </mime-mapping> <mime-mapping> <extension>txt</extension> <mime-type>text/plain</mime-type> </mime-mapping> <mime-mapping> <extension>xlsx</extension> <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</m ime-type> </mime-mapping> <mime-mapping> <extension>xlsm</extension> <mime-type>application/vnd.ms-excel.sheet.macroEnabled.12</mime-type> </mime-mapping>
次の<auth-filter>
エントリをweblogic.xml
に追加します。
<weblogic-web-app> <auth-filter>oracle.bpel.services.workflow.client.worklist.util.FDIFilter </auth-filter> . .</weblogic-web-app>
「すべて保存」をクリックします。
プロジェクトを右クリックし、「再ビルド」をクリックします。
コンパイル・エラーがなく、正常にビルドが完了したことを確認します。
これで、WebアプリケーションはOracle ADF-DIで使用するように構成されました。
このタスクでは、Oracle ADF-DIを追加して、Excelワークブック用のWebセッションを作成する必要があります。
ADFセキュリティをプロジェクトに追加します。
「アプリケーション」メニューから、「保護」→「ADFセキュリティの構成」の順に選択します。
「ADF認証」を選択します。
「終了」をクリックします。
アプリケーションのログイン・ページを作成します。
ExpenseReportTaskFlow\public_html\
ディレクトリから、LoginPage.jsp
ファイルをproject_home
\public_html
ディレクトリにコピーします。
Oracle JDeveloperのビューをリフレッシュします。
LoginPage.jsp
ファイルが表示されていることを確認します。これは、図35-3に示すように表示されます。
ADFセキュリティを追加した後は、次のエントリがweb.xml
ファイルに追加されていることを確認します。欠落しているエントリがある場合は、手動で追加します。第35.2.3.2項「タスク2: 認証の設定」のステップ2で作成したログイン・ページを使用して、フォーム認証が使用されます。
<security-constraint> <web-resource-collection> <web-resource-name>allPages</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name>Administrators</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>adfAuthentication</web-resource-name> <url-pattern>/adfAuthentication</url-pattern> </web-resource-collection> <auth-constraint> <role-name>Administrators</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <realm-name>jazn.com</realm-name> <form-login-config> <form-login-page>/LoginPage.jsp</form-login-page> <form-error-page>/LoginPage.jsp</form-error-page> </form-login-config> </login-config> <security-role> <role-name>Administrators</role-name> </security-role>
図35-4に、これらのエントリがWebアプリケーション・デプロイメント・ディスクリプタ・ダイアログにグラフィカルに表示されている様子を示します。
図35-4 Oracle JDeveloper: アプリケーション・デプロイメント・ディスクリプタ
web.xml
に追加したすべての論理セキュリティ・ロールについて、次のように、weblogic.xml
に対応するエントリを作成します。
<weblogic-web-app> <auth-filter>oracle.bpel.services.workflow.client.worklist.util.FDIAuthFilter</ auth-filter> <security-role-assignment> <role-name>Administrators</role-name> <principal-name>fmwadmin</principal-name> <principal-name>users</principal-name> </security-role-assignment> . . </weblogic-web-app>
「すべて保存」をクリックします。
これで、ADFタスク・フローのWebアプリケーションに、Excelワークブックで使用できるログイン機能が構成されました。
ページ定義ファイルExcelControlsPageDef.xml
を使用して、Excelワークブックを作成します。次の手順を実行します。
次の手順を実行して、新規Javaクラスを作成します。
「テクノロジ」→「一般」→シンプル・ファイル→「Javaクラス」の順に選択します。
次のように詳細を指定します。
名前: TaskRetrievers
パッケージ: (デフォルトのままにします)
拡張対象: oracle.bpel.services.workflow.client.worklist.excel.TasksRetriever
(「参照」をクリックしてこのクラスを選択します。)
これで、新規Javaクラス<default-package>.TasksRetriever
が作成されます。
新規に作成したこのJavaクラスに対してデータ・コントロールを作成します。このデータ・コントロールは、ユーザーに割り当てられたすべてのタスクを取得するAPIへのアクセスを提供します。図35-5に、データ・コントロールの作成に使用するメニューを示します。
新規に作成したデータ・コントロール「TasksRetriever」が「アプリケーション・ナビゲータ」下部の「データ・コントロール」パレットに表示されていることを確認します。図35-6に、「データ・コントロール」パレットが展開された状態の「アプリケーション・ナビゲータ」を示します。
図35-6 Oracle JDeveloper: 「データ・コントロール」パレットが展開された状態の「アプリケーション・ナビゲータ」
ExcelControls.jspx
という名前の新規のJSF JSPページを作成します。これにより、Excelドキュメントの作成時にADF-DIで使用できるページ定義が生成されます。図35-7に詳細を示します。
タスク・ノードを「データ・コントロール」パレットからExcelControls.jspx
にドラッグ・アンド・ドロップします。
「ヒューマン・タスク」を選択し、次に「ペイロードを持つ完了済タスク」を選択します。図35-8に、使用する一連のメニューを示します。
表示されたダイアログで「OK」をクリックします。
1つ以上のタスク・アクションを.jspx
ファイルにドラッグ・アンド・ドロップします。図35-9に示す例では、APPROVE、REJECT、updateおよびSuspendアクションが追加され、ページ定義にエントリが作成されています。
retrieveTasksForUser()メソッドを「データ・コントロール」パレット(TasksRetrieverノードを展開)からExcelControls.jspxにドラッグ・アンド・ドロップします。
「アクション・バインディングの編集」ダイアログで「OK」をクリックします。これにより、ログイン・ユーザーに割り当てられたすべてのタスクを抽出するためのバインディングがExcelControlsPageDef.xml
に作成されます。
TaskObjectを「データ・コントロール」パレットからExcelControls.jspxにドラッグ・アンド・ドロップして、ADF読取り専用フォームを作成します。
対応する<methodIterator>
実行可能ファイルおよび<attributeValues>
バインディングがExcelControlsPageDef.xml
に作成されていることを確認します。図35-10に詳細を示します。
Excelワークブックで公開されるタスク詳細の数に応じて、必要な数のADFコントロールをドラッグ・アンド・ドロップします。この例では、使用可能なワークブックを開発するのに最低限必要なタスク詳細のみ公開しています。
リスト・バインディングをExcelControlsPageDef.xml
に作成します。このバインディングを使用すると、割り当てられたタスクのリストをExcelワークブックに作成できます。
次のエントリをページ定義の<bindings>
要素に追加します。
<list ListOperMode="navigation" IterBinding="retrieveTasksForUserIterator" id="retrievedTaskList" StaticList="false"> <AttrNames> <Item Value="taskNumber"/> </AttrNames> </list>
同様に、次のリスト・バインディングをExcelControlsPageDef.xml
に追加します。このリスト・バインディングは、後で支出項目の更新可能な表のリストをExcelワークブックに作成する際に使用します。
<list ListOperMode="navigation" IterBinding="ItemIterator" id="expenseItemsList" StaticList="false"> <AttrNames> <Item Value="itemName"/> </AttrNames> </list>
「すべて保存」をクリックします。
プロジェクトを右クリックし、「再ビルド」をクリックします。
コンパイル・エラーがなく、正常にビルドが完了したことを確認します。
Excelワークブックを作成する手順は、次のとおりです。
ADF-DIソリューションを実行するためのデスクトップ要件については、『Oracle Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド』の「開発環境の設定」の章を参照してください。
Excelに対するセキュリティを設定します。
Excelを開きます。
「Microsoft Office」ボタンをクリックし、「Excelのオプション」をクリックします。
セキュリティ センター・タブをクリックし、次に、セキュリティ センターの設定をクリックします。
「マクロの設定」タブをクリックし、「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」というラベルのチェック・ボックスをクリックします。
「OK」をクリックします。
Oracle ADF-DIモジュールに付属している設定ツールを実行します。この設定ツールは、JDEV_HOME\jdeveloper\adfdi\bin\excel\client
フォルダに格納されています。
新規のExcelワークブックをproject_home
\public_html
ディレクトリに作成します。
「表示」をクリックし、次に、「リフレッシュ」をクリックします。これにより、ExcelワークブックがOracle JDeveloperに表示されます。
Excelワークブックに対して変換コマンドを実行します。Oracle ADF-DIモジュールの変換ツールconvert-adfdi-excel-solution.exe
は、ORACLE_JDEVELOPER_HOME
\jdeveloper\adfdi\bin\excel\convert
に格納されています。Excelワークブックを変換するには、次のコマンドを実行します。
convert-adfdi-excel-solution.exe <workbook.xlsx> -attach
これで、このExcelワークブックはOracle ADF-DIフレームワークで使用できます。
Excelワークブックを開き、ページ定義を選択します。このユースケースでは、ページ定義はexpensereporttaskflow_ExcelControlsPageDef
です。図35-11に詳細を示します。
「ドキュメントのアクション」ペインで、「ワークブック・プロパティ」を選択します。
ProtectedWebPage: http://
application_server:port
//workflow/
application_name
/faces/app/logon
を指定します。(このURLは保護されており、フォーム認証のトリガーになります。第35.2.3.2項「タスク2: 認証の設定」を参照してください。)
WebAppRoot: http://
application_server:port
//workflow/
application_name
を指定します。「OK」をクリックします。
図35-12に詳細を示します。
詳細は、『Oracle Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド』を参照してください。
「ドキュメントのアクション」ペインから「ADFバインディング」を挿入して、対応するフィールドをExcelワークブックに作成します。特定のコンポーネントの詳細は、『Oracle Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド』を参照してください。たとえば、バインディングretrievedTaskListを挿入して、値リストを作成します。図35-13に詳細を示します。
methodActionバインディングを挿入して、ボタンをExcelに作成します。図35-14に詳細を示します。
ツリー・バインディングを挿入して、ADF表コンポーネントを作成します。表コンポーネントとは、Excel内のレコードの更新可能な表です。たとえば、リスト・バインディングexpenseItemsListは、表コンポーネントへの候補です。
関連項目: 表コンポーネントの作成方法と変更方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド』を参照してください。 |
経費レポート・アプリケーションの完成したExcelワークブックは、図35-15に示すように表示されます。
次の手順を実行して、ワークブックを公開します。
ツールバーの「公開」をクリックします。「ワークブックの公開」ダイアログが表示されます。
「ファイル名」フィールドで、名前をworkflow_name
.xls
のように指定します。このワークフロー名は、project_home
\adfmsrc\hwtaskflow.xml
で指定したWorkflowName
要素の値です。この例では、公開するExcelワークブックの名前はExpenseReportTask.xls
です。
Oracle JDeveloperで、「表示」→「リフレッシュ」の順にクリックします。
公開されたワークブックが、図35-16に示すように、「Webコンテンツ」の下に表示されていることを確認します。
図35-16 Oracle JDeveloper: 「Webコンテンツ」の下に表示されたワークブックの確認
「すべて保存」をクリックします。これで、ADFタスク・フローのデプロイメントの準備ができました。
ADFタスク・フローをデプロイする手順は、次のとおりです。
タスクの割当て時にExcelワークブックを添付ファイルとして送信するには、対応するタスクをSOAコンポジット・アプリケーションに構成する必要があります。
Oracle JDeveloperで、ADFタスク・フローに対応するSOAコンポジット・アプリケーションを開きます。
.task
ファイルを開きます。
ヒューマン・タスク・エディタの「通知」セクションの「詳細」タブで、「電子メール通知によるタスクの添付ファイルの送信」チェック・ボックスが選択されていることを確認します。
アプリケーションをデプロイします。デプロイメントを実行するには、SOAコンポジット・アプリケーションを右クリックして「デプロイ」を選択し、次に、プロジェクト名を選択して、デプロイメント・ウィザードの各ページの指示に従います。
ADFタスク・フローをデプロイします。
「アプリケーション・ナビゲータ」で「プロジェクト」を展開し、アプリケーションを選択します。
「デプロイ」を選択し、application_TaskFlowを選択します(この例の場合、アプリケーション・タスク・フローはExpenseReportTaskFlowです)。
デプロイメント・ウィザードの各ページの指示に従います。
これで、ADFタスク・フローは正常にデプロイされました。
デプロイしたアプリケーションをテストする手順は、次のとおりです。
デプロイしたSOAコンポジット・アプリケーションを起動し、割当て先が、Excelワークブックを電子メール通知の一部として受信していることを確認します。図35-17に詳細を示します。
注意: ワークブックを正常に開いて実行するには、ユーザーのデスクトップ・ホストに適切なセキュリティ・ポリシーを設定する必要があります。また、 |
Excelワークブックを開きます。ログイン・ページが表示されます。(これは、第35.1.2項「ダミーのJSFページの作成方法」のLoginPage.jsp
です。)
セキュリティ資格証明を入力します。図35-18に詳細を示します。
次の点についてワークブックを検証します。