ヘッダーをスキップ
Oracle BPEL Process Manager Order Bookingチュートリアル
10g (10.1.3.1.0)
B31877-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

11 ヒューマン・タスク・ワークフロー・システムの設計

この章では、注文の手動承認または却下を行うユーザー・タスクを追加する方法について説明します。

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

11.1 概要

チュートリアルのこのフェーズでは、第10章「データ挿入のためのデータベース・アダプタの設計」で設計したプロセスに処理を追加します。このフェーズを実行する前に、前のフェーズが正常に完了したことを確認してください。このフェーズでは、前のプロジェクトの手順を拡張し、ヒューマン・タスク機能を使用して外部の手動サービスをコールします。 これには、ヒューマン・タスクを処理し、ユーザー処理用に事前定義済(デフォルト)のグラフィカル・ユーザー・インタフェース画面を使用する他のWebサービスへのコールアウトが含まれます。次の主要タスクを実行します。

11.2 注文を手動承認または却下するためのヒューマン・ワークフロー・システムの設計

このセクションには次の項目があります。

11.2.1 注文承認プロセスのモデリング

このフェーズでは、注文承認という新規プロジェクトを作成し、ヒューマン・ワークフロー・プロセスを定義します。これは順序ワークフローであり、ここで注文が承認または却下されます。 注文は最初にSupervisorロールに割り当てられます。 Supervisorロールを持つユーザーが注文を承認した後、その注文は最終承認のためにそのユーザーのマネージャに送られます。

この項では次のタスクを実行します。

11.2.1.1 注文承認プロセスの作成およびスキーマのインポート


概要:

BPELプロセスの作成後、OrderBookingPO.xsdスキーマをインポートします。

  1. OrderBookingapplicationに、OrderApprovalという名前の非同期BPELプロセスを作成します。

    プロジェクトの作成方法は、「Order Bookingプロジェクトの作成およびスキーマのインポート」を参照して再確認してください。

  2. 「次へ」をクリックします。

  3. 「入力スキーマ要素」の隣の懐中電灯をクリックして、次の場所にあるOrderBookingPO.xsdを参照します。

    SOA_Oracle_Home\bpel\samples\tutorials\127.OrderBookingTutorial\
    OrderApproval\bpel
    
    

    タイプの選択ウィンドウが表示されます。

  4. 「インポートしたスキーマ」「OrderBookingPO.xsd」「PurchaseOrder」の順に開いて選択します。

  5. 「OK」をクリックします。

  6. 「出力スキーマ要素」の隣の懐中電灯をクリックして、手順4を繰り返します。

  7. 「終了」をクリックします。

    これで、スキーマがプロジェクトにインポートされました。 OrderBookingPO.xsdが、「アプリケーション・ナビゲータ」「Order Approval」→「インテグレーション・コンテンツ」→「スキーマ」の下および「構造」セクションの「スキーマ」の下に表示されます。 BPELプロセス(Receiveアクティビティ(receiveInput)およびInvokeアクティビティ(callbackClient))が表示されます。

11.2.1.2 注文承認プロセスへのヒューマン・タスクの追加


概要:

ヒューマン・タスクを定義すると、タスク構成メタデータ・ファイルであるOrderApproval.taskファイルが作成されます。

  1. 「コンポーネント・パレット」セクションから「Process Activities」を選択します。

  2. 「コンポーネント・パレット」セクションからHuman Taskアクティビティを「receiveInput」「callbackClient」の間にドラッグ・アンド・ドロップします。

  3. 「タスク定義の作成」アイコン(2番目のアイコン)をクリックします。

    ヒューマン・タスクの追加
    wf_task_def.gifの説明

  4. 「ヒューマン・タスク名」にOrderApprovalと入力し、「OK」をクリックします。 (デフォルトの場所を使用します。)

    OrderApproval.taskファイルが作成されます。

    ヒューマン・タスクのエディタが表示されます。

  5. 「タイトル」Purchase Order Approvalと入力します。

  6. 「優先度」および「結果」はデフォルトの値を使用します。

  7. 「パラメータ」で、ウィンドウの右側の「+」アイコンをクリックします。

    タスク・パラメータの追加ウィンドウが表示されます。

  8. 「要素」をクリックしてから懐中電灯アイコンをクリックします。

  9. タイプの選択ウィンドウで、「プロジェクトのスキーマ・ファイル」「OrderBookingPO.xsd」「PurchaseOrder」の順に開いて選択してから「OK」をクリックします。

    ヒューマン・タスク・ウィンドウ
    図wf_typechooser.gifの説明

  10. パラメータの追加ウィンドウで、「ワークリストにより変更可能」をクリックしてから「OK」をクリックします。

    これで、Oracle BPEL Worklist Applicationを使用してタスク・データを変更できるようになります。

  11. 「割当ておよびルーティング・ポリシー」セクションで、ウィンドウの右側の「+」アイコンをクリックします。

    参加者タイプの追加ウィンドウが表示されます。

  12. 「タイプ」は、「管理チェーン」を選択します。

    この参加者タイプでは、承認のために管理チェーン階層内の複数のユーザーにタスクがルートされます。

  13. 「ラベル」は、Order Approversと入力します。

  14. 「名前別」をクリックします。

    この例では、タスクをSupervisorグループに割り当て、このタスクを操作するユーザーの1つ上のレベルの管理チェーンを指定します。

  15. 「グループID:」では、懐中電灯をクリックしてアイデンティティ・ルックアップ・ダイアログ・ウィンドウを表示します。

    使用している統合サーバー接続が選択されていることを確認します。

  16. Oracle BPEL Serverが実行中であることを確認し、「ルックアップ」をクリックして現在システム内にあるすべてのグループのリストを表示します。

  17. 「Supervisor」を選択し、「選択」をクリックして「OK」をクリックします。

    アイデンティティ・ルックアップ・ダイアログ
    図wf_identity_serivce.gifの説明

  18. 参加者タイプの追加ウィンドウの「承認者数」セクションで、「チェーン・レベル上げの最大数」フィールドに1を入力します。「OK」をクリックします。

  19. 「割当ておよびルーティング・ポリシー」セクションで、「条件付き中途完了の有効化」をクリックします。

    中途完了の詳細ウィンドウが自動的に表示されます。

  20. REJECTを選択して「選択済」リストに移動します。「OK」をクリックします。

    wf_reject.gifの説明
    図wf_reject.gifの説明

  21. 「ファイル」メイン・メニューから「保存」を選択します。

  22. 「OrderApproval.task」の隣の「X」をクリックしてヒューマン・タスクのエディタを閉じます。

    wf_close.gifの説明
    図wf_close.gifの説明

11.2.1.3 ヒューマン・タスクに対する入出力パラメータの割当て


概要:

各フィールドをBPELプロセスの変数にマップします。

  1. OrderApproval.bpelをダブルクリックして、BPELプロセス内のHuman Taskアクティビティ(OrderApproval_1)を表示します。

    BPELプロセス内のHuman Taskアクティビティ
    wf_humantask4.gifの説明

  2. OrderApproval_1をダブルクリックします。

  3. 「タスクのタイトル」フィールドで、式Purchase Order Approvalの最後にforを追加します。

  4. 「XPath式ビルダー」を使用するために、右側のアイコンをクリックします。

  5. 「BPEL変数」セクションで、「inputVariable」「ペイロード」「ns1:PurchaseOrder」「ns1:CustID」の順に開いて選択します。

  6. 「式に挿入」をクリックします。

    ns1:CustIDに対応するXPath式が、「式」セクションに表示されます。

  7. 「OK」をクリックします。

    XPath式がタスク・タイトルの後に付加されます。

  8. 「起案者」フィールドに「XPath式ビルダー」を使用するために、右側のアイコンをクリックします。

  9. 手順5から7を繰り返して、同じXPath式を「起案者」フィールドに挿入します。

    ヒューマン・タスク
    図wf_humantask5.gifの説明

  10. 「BPEL変数」列内の懐中電灯アイコンをクリックします。

    タスク・パラメータ・ウィンドウが表示されます。

  11. タスク・パラメータウィンドウで、「変数」「inputVariable」「ペイロード」「ns1:PurchaseOrder」の順に開いて選択します。

  12. 「式に挿入」をクリックして「OK」をクリックします。

  13. ヒューマン・タスク・ウィンドウで「OK」をクリックします。

  14. 「ファイル」メイン・メニューから「保存」を選択します。

11.2.1.4 ワークリスト用タスク・フォームの作成


概要:

自動生成のタスク・フォーム(payload-body.jsp)が作成されます。

  1. 「アプリケーション・ナビゲータ」で、.taskファイルを含む「OrderApproval」フォルダを右クリックして、「単純タスク・フォームの自動生成」を選択します。

    自動生成のタスク・フォーム・ファイルが表示されます。

    wf_jspの説明
    図wf_jspの説明

  2. 最上部の「X」記号をクリックしてpayload-body.jspを閉じます。

11.2.1.5 タスクの結果のモデリング


概要:

Switchアクティビティにより、考えられる結果、つまり前に指定したApproveやRejectのケースが反映されます。 また、エラー、失効または期限切れなど、その他の結果を表すOtherwiseというケースもあります。 各ケースの内部には、ビジネス・プロセスのモデリングを実行するアクティビティを追加できます。 「copyPayloadFromTask」Assignアクティビティは、ペイロードを元のソースにコピーします。

  1. 「OrderApproval.bpel」をダブルクリックします。

  2. 「taskSwitch」Switchアクティビティを開きます。

  3. Switchアクティビティの「<case Task outcome is APPROVE>」セクションの中の「copyPayloadFromTask」Assignアクティビティの下に、Assignアクティビティをドラッグ・アンド・ドロップします。

  4. Assignアイコンをダブルクリックして、割当てウィンドウを表示します。

  5. 「一般」タブをクリックします。

  6. 「名前」フィールドにassignOrderApproval1と入力します。

  7. 「適用」をクリックします。

  8. 「コピー操作」タブをクリックします。

  9. 「作成」をクリックして「コピー操作」を選択します。

  10. 次の詳細を入力します。

    フィールド
    送信元
    • タイプ
    string('Accepted')
    宛先
    • タイプ
    変数
    • 変数
    「変数」「inputVariable」「ペイロード」「ns1:PurchaseOrder」「ns1:OrderInfo」「ns1:OrderComments」の順に開いて選択します。

    注意: このネームスペースの数値(ns1ns2など)は変わる場合があります。自動的に表示されるネームスペース値を使用してください。


    「XPath」フィールドには、次のように設定された式が表示されます。

    /ns1:PurchaseOrder/ns1:OrderInfo/ns1:OrderComments
    
    
  11. 「OK」をクリックして、コピー操作の作成ウィンドウおよび割当てウィンドウを閉じます。

  12. 手順3から11を繰り返して「<case Task outcome is REJECT>」セクションの「copyPayloadFromTask」Assignアクティビティの下にAssignアクティビティを作成します。次の内容を除き、前述したものと同じ詳細を入力します。

    • assignOrderApproval2という名前を付けます。

    • 「式」フィールドをstring('Rejected')に設定します。

  13. 手順3から11を繰り返して「<otherwise>」セクションの「copyPayloadFromTask」Assignアクティビティの下にAssignアクティビティを作成します。次の内容を除き、前述したものと同じ詳細を入力します。

    • assignOrderApproval3という名前を付けます。

    • 「式」フィールドをstring('Rejected')に設定します。

  14. 「コンポーネント・パレット」セクションからSwitchアクティビティの下(外)にAssignアクティビティをドラッグ・アンド・ドロップします。

  15. Assignアイコンをダブルクリックして、割当てウィンドウを表示します。

  16. 「一般」タブをクリックします。

  17. 「名前」フィールドにsetOutputVariableと入力します。

  18. 「適用」をクリックします。

  19. 「コピー操作」タブをクリックします。

  20. 「作成」をクリックして「コピー操作」を選択します。

  21. 次の詳細を入力します。

    フィールド
    送信元
    • タイプ
    変数
    • 変数
    「変数」「inputVariable」「ペイロード」「ns1:PurchaseOrder」の順に開いて選択します。

    注意: このネームスペースの数値(ns1ns2など)は変わる場合があります。自動的に表示されるネームスペース値を使用してください。

    宛先
    • タイプ
    変数
    • 変数
    「変数」「outputVariable」「ペイロード」「ns1:PurchaseOrder」の順に開いて選択します。

  22. 「OK」をクリックして、コピー操作の作成ウィンドウおよび割当てウィンドウを閉じます。

    プロセスは、次のようになります。

    注文承認
    図wf_orderapproval1_2.gifの説明

  23. 「ファイル」メイン・メニューから「保存」を選択します。

  24. 「-」記号をクリックして、「taskSwitch」Switchアクティビティを閉じます。

11.2.1.6 注文承認プロセスの検証、コンパイルおよびデプロイ

  1. 「アプリケーション・ナビゲータ」セクションに移動します。

  2. 「OrderApproval」を右クリックします。

  3. 「デプロイ」my_integration_server_connection「defaultドメインにデプロイ」の順に選択します。

    これでBPELプロセスがコンパイルされます。 ウィンドウ下部のボタンをクリックしてエラーの有無を確認します。エラーが発生していなければ、デプロイは成功しています。 デプロイに失敗した場合は、手順4を参照してください。

11.2.1.7 注文承認プロセスの実行

  1. 「スタート」「すべてのプログラム」「Oracle - Oracle_Home「Oracle BPEL Process Manager」「BPEL Control」の順に選択し、Oracle BPEL Controlにログインします(すでに開いている場合はページをリフレッシュします)。

    Oracle BPEL Controlの「ダッシュボード」タブが表示されます。

  2. Oracle BPEL Controlにログインするために次の情報を入力して「ログイン」をクリックします。

    フィールド
    ユーザー名 oc4jadmin
    パスワード password

    passwordは、インストール時に入力した値です。

    「ダッシュボード」タブにTaskActionHandlerおよびTaskManagerサービスが表示されていると、すべてのサービスが実行中です。

  3. 「デプロイ済のBPELプロセス」リストでOrderApprovalをクリックします。

  4. 「HTMLフォーム」のすべてのフィールドに詳細を入力します。テキスト・エディタを使用して、OrderBookingPO_1.xmlファイルの内容からこれらの詳細をコピーし、貼り付けることもできます。


    注意:

    Internet ExplorerまたはMozilla Firefoxからコピーして貼り付けないでください。このタスクは、テキスト・エディタを使用して実行する必要があります。

    1. 「XMLソース」ラジオ・ボタンをクリックします。

    2. 表示されたフィールドに、OrderBookingPO_1.xmlの内容をコピーして貼り付けます。

  5. 「XMLメッセージの転送」をクリックします。

    「BPELプロセス」タブに次のようなメッセージが表示されます。

    テスト・インスタンスが開始されました
    
    
  6. 画面上部の「インスタンス」タブをクリックします。

  7. OrderApprovalインスタンスをクリックします。

    このインスタンスがアクティブであることを示すメッセージが表示されます。

  8. 「スタート」「すべてのプログラム」「Oracle - Oracle_Home「Oracle BPEL Process Manager」「Sample Worklist Application」を選択して、Oracle BPEL Worklist Applicationのログイン・ウィンドウにアクセスします。

  9. jcooper/welcome1としてログインします。

    Oracle BPEL Worklist Applicationが表示されます。承認待ちのタスクが表示されます。

  10. 承認するタスクの「Actions」「Claim」を選択します。

  11. 「Go」をクリックします。

    タスクの詳細およびペイロード情報が表示されます。このタスクは2人のユーザーによって承認されるように構成されているため、このタスクが承認される場合、jcooperのマネージャであるjsteinにルートされます。このタスクが却下された場合、OrderApprovalプロセスでは、このタスクは却下されたものとみなし、処理を完了します。

  12. 情報を確認します。たとえば、OrderBookingPO_1.xmlのコンテンツをコピーおよび貼り付けた場合、次の情報が表示されます。

    wf_worklist.gifの説明
    図wf_worklist.gifの説明

  13. 「Task Action」リストから「Approve」を選択し、「Go」をクリックします。

  14. ユーザーjcooperとしてログアウトします。

  15. Oracle BPEL Worklist Applicationにjstein/welcome1としてログインします。

  16. 「Actions」リストから「Approve」を選択し、「Go」をクリックします。

    処理後、Oracle BPEL Worklist Applicationにはいずれのタスクも表示されません。

  17. ログアウトします。

  18. Oracle BPEL Controlに戻ります。

  19. 画面上部の「インスタンス」タブをクリックします。

  20. OrderApprovalインスタンスをクリックします。

    このインスタンスが完了したことを示すメッセージが表示されます。

  21. 「監査」および「フロー」リンクをクリックし、完了したOrderApprovalの他の詳細を確認します。

11.2.2 注文承認サービス用パートナ・リンクの作成


概要:

ここでは、OrderApprovalサービス用のパートナ・リンクを作成します。

  1. OrderBookingプロセスが選択されていることを確認してください。

  2. 「OrderBooking.bpel」をダブルクリックします。

  3. 「コンポーネント・パレット」セクションから「Services」を選択します。

  4. 「コンポーネント・パレット」セクションからDesignerのウィンドウの右側にPartnerLinkアクティビティをドラッグ・アンド・ドロップします。

  5. 次の値を入力して、OrderApprovalサービス用パートナ・リンクを作成します。


    注意:

    次の「WSDLファイル」フィールドでは、懐中電灯(左から2番目にある「サービス・エクスプローラ」という名前のアイコン)をクリックしてサービス・エクスプローラ・ウィンドウにアクセスすると、OrderApprovalサービスが自動的に選択されます。

    フィールド
    名前 POAService
    WSDLファイル 「サービス・エクスプローラ」の懐中電灯アイコンをクリックし、BPELサービスmy_ integration_server_connection「プロセス」「デフォルト」→「OrderApproval」の順に開いて選択することで次のURLにアクセスします。

    http://localhost:8888/orabpel/default/OrderApproval/OrderApproval?wsdl

    関連項目: サービス・エクスプローラ・ウィンドウでWSDLファイルを追加しようとして解析エラーが表示された場合は、「Oracle JDeveloperのWebブラウザ設定でのホスト名の設定」を参照してください。

    パートナ・リンク・タイプ OrderApproval
    パートナ・ロール OrderApprovalProvider
    マイ・ロール OrderApprovalRequester

  6. 「OK」をクリックします。

  7. 「ファイル」メイン・メニューから「保存」を選択します。

11.2.3 Scopeアクティビティの作成


概要:

ここでは、Scopeアクティビティを作成して、実行する論理的な手順を形成するすべてのアクティビティをグループ化します。

  1. 「コンポーネント・パレット」セクションから「SelectSupplier」Switchアクティビティの下にScopeアクティビティをドラッグ・アンド・ドロップします。

  2. scopeアイコンをダブルクリックして、Scopeウィンドウを表示します。

  3. 「一般」タブの「名前」フィールドにUserApprovalと入力します。

  4. 「OK」をクリックします。

    このフェーズでは、このScopeアクティビティの中にInvokeReceiveおよびAssignアクティビティを作成します。

  5. +記号をクリックして、Scopeアクティビティを開きます。

  6. 「ファイル」メイン・メニューから「保存」を選択します。

11.2.4 InvokeおよびReceiveアクティビティの作成

  1. 「コンポーネント・パレット」セクションから「UserApproval」Scopeアクティビティの中にInvokeアクティビティをドラッグ・アンド・ドロップします。

  2. Invokeアイコンをダブルクリックして、Invokeウィンドウを表示します。

  3. 次の詳細を入力します。

    フィールド
    名前 invokePOAService
    パートナ・リンク POAService

    「操作」フィールドには、値(initiate)が自動的に入力されます。

  4. 「入力変数」フィールドの右側にある最初のアイコンをクリックします。これは変数自動作成アイコンです。

  5. 表示される変数の作成ウィンドウで「OK」をクリックします。

    invokePOAService_initiate_InputVariableという変数が、「入力変数」フィールドに自動作成されます。この変数は、OrderApprovalRequestMessageというメッセージ・タイプに自動的に割り当てられます。

  6. 「OK」をクリックします。

  7. 「UserApproval」Scopeアクティビティの中の「invokePOAService」Invokeアクティビティの下にReceiveアクティビティをドラッグ・アンド・ドロップします。

  8. Receiveアイコンをダブルクリックして、Receiveウィンドウを表示します。

  9. 次の詳細を入力します。

    フィールド
    名前 receivePOAService
    パートナ・リンク POAService

    「操作」フィールドには、値(onResult)が自動的に入力されます。

  10. 「変数」フィールドの右側にある最初のアイコンをクリックします。これは変数自動作成アイコンです。

  11. 表示される変数の作成ウィンドウで「OK」をクリックします。

    receivePOAService_onResult_InputVariableという変数が、「変数」フィールドに自動的に作成されます。この変数は、OrderApprovalResponseMessageというメッセージ・タイプに自動的に割り当てられます。

  12. 「OK」をクリックします。

  13. 「ファイル」メイン・メニューから「保存」を選択します。

11.2.5 第1のAssignアクティビティの作成

  1. 「コンポーネント・パレット」セクションから「invokePOAService」Invokeアクティビティの上、および「UserApproval」Scopeアクティビティの中にAssignアクティビティをドラッグ・アンド・ドロップします。

  2. Assignアイコンをダブルクリックして、割当てウィンドウを表示します。

  3. 「一般」タブの「名前」フィールドにassignPOADataInと入力します。

  4. 「適用」をクリックします。

  5. 「コピー操作」タブをクリックします。

  6. 「作成」をクリックし「コピー操作」を選択して、コピー操作の作成ウィンドウを表示します。

  7. 次の詳細を入力します。

    フィールド
    送信元
    • タイプ
    変数
    • 変数
    「変数」「inputVariable」「ペイロード」の順に開いて選択します。
    宛先
    • タイプ
    変数
    • 変数
    「変数」「invokePOAService_initiate_inputVariable」「ペイロード」の順に開いて選択します。

  8. 「OK」をクリックして、コピー操作の作成ウィンドウおよび割当てウィンドウを閉じます。

  9. 「ファイル」メイン・メニューから「保存」を選択します。

11.2.6 第2のAssignアクティビティの作成

  1. 「コンポーネント・パレット」セクションから「receivePOAService」Receiveアクティビティの下、および「UserApproval」Scopeアクティビティの中にAssignアクティビティをドラッグ・アンド・ドロップします。

  2. Assignアイコンをダブルクリックして、割当てウィンドウを表示します。

  3. 「一般」タブの「名前」フィールドにUserResponseと入力します。

  4. 「適用」をクリックします。

  5. 「コピー操作」タブをクリックします。

  6. 「作成」をクリックし「コピー操作」を選択して、コピー操作の作成ウィンドウを表示します。

  7. 次の詳細を入力します。

    フィールド
    送信元
    • タイプ
    変数
    • 変数
    「変数」「receivePOAService_onResult_InputVariable」「ペイロード」「ns1:PurchaseOrder」「ns1:OrderInfo」「ns1:OrderComments」の順に開いて選択します。

    注意: このネームスペースの数値(ns1ns2など)は変わる場合があります。自動的に表示されるネームスペース値を使用してください。

    宛先
    • タイプ
    変数
    • 変数
    「変数」「inputVariable」「ペイロード」「ns1:PurchaseOrder」「ns1:OrderInfo」「ns1:OrderStatus」の順に開いて選択します。

  8. 「OK」をクリックします。

  9. 「コピー操作」タブで再度「作成」をクリックして「コピー操作」を選択し、コピー操作の作成ウィンドウを表示します。

  10. 次の詳細を入力して2番目の文を作成します。


    注意:

    式を手動で入力するかわりに、「式」フィールドで[Ctrl]キーを押しながら[Space]バーを押して入力することもできます。表示される値のリストをスクロールし、該当する値をダブルクリックします。必要に応じて値を編集します。情報を入力すると、末尾にスラッシュが表示される場合があります。これは、追加情報の入力が求められていることを意味します。追加情報を入力するか、[Esc]キーを押して末尾のスラッシュを削除し、情報の入力を終了します。

    フィールド
    送信元
    • タイプ
    concat(bpws:getVariableData('inputVariable','payload','/ns1:PurchaseOrder/ns1:OrderInfo/ns1:OrderComments'), ', User Review Complete')
    宛先
    • タイプ
    変数
    • 変数
    「変数」「inputVariable」「ペイロード」「ns1:PurchaseOrder」「ns1:OrderInfo」「ns1:OrderComments」の順に開いて選択します。

  11. 「OK」をクリックして、コピー操作の作成ウィンドウおよび割当てウィンドウを閉じます。

    完了後、Designerのウィンドウには次のように表示されます。

    obph10.gifの説明
    図obph10.gifの説明

  12. 「-」記号をクリックして、「UserApproval」Scopeアクティビティを閉じます。

  13. 「ファイル」メイン・メニューから「保存」を選択します。

11.2.7 注文プロセスの検証、コンパイルおよびデプロイ

  1. 「アプリケーション・ナビゲータ」セクションに移動します。

  2. 「OrderBooking」を右クリックします。

  3. 「デプロイ」my_integration_server_connection「defaultドメインにデプロイ」の順に選択します。

  4. 要求に応じてプロジェクトのバージョン番号を増やし(たとえば、1.7と入力)、「OK」をクリックします。

    これでBPELプロセスがコンパイルされます。 ウィンドウ下部のボタンをクリックしてエラーの有無を確認します。エラーが発生していなければ、デプロイは成功しています。 デプロイに失敗した場合は、手順4を参照してください。

11.2.8 注文プロセスの実行および確認

  1. 「スタート」「すべてのプログラム」「Oracle - Oracle_Home「Oracle BPEL Process Manager」「BPEL Control」の順に選択し、Oracle BPEL Controlにログインします(すでに開いている場合はページをリフレッシュします)。

  2. Oracle BPEL Controlにログインするために次の情報を入力して「ログイン」をクリックします。

    フィールド
    ユーザー名 oc4jadmin
    パスワード password

  3. プロセス(OrderApprovalOrderBookingおよびTaskActionHandlerなど、その他の全プロセス)がデプロイされていることを確認します。OrderApprovalでは、SelectManufacturingで使用されている単純なTaskManagerに比べ、より高度なユーザー相互作用のフローを備えたTaskActionHandlerを使用します。

  4. 次のいずれかの方法で、適切なOrderBookingバージョンのインスタンスを起動します。

    • SOA_Oracle_Home\bpel\samples\tutorials\127.OrderBookingTutorial\PracticeFiles\OrderBookingPO_1.xmlを一時ディレクトリ(Windowsオペレーティング・システムの場合はdrive_letter:\temp、UNIXオペレーティング・システムの場合は/temp)にコピーします。

    • プロセスをクリックし、次のいずれかの方法でデフォルトのグラフィカル・ユーザー・インタフェースで入力を行います。

      • 「HTMLフォーム」のすべてのフィールドに詳細を入力し、「XMLメッセージの転送」をクリックします。

      • 「XMLソース」ラジオ・ボタンをクリックします。テキスト・エディタを使用して、OrderBookingPO_1.xmlファイルの内容をコピーし、表示されるフィールドに貼り付けます。「XMLメッセージの転送」をクリックします。


        注意:

        Internet ExplorerまたはMozilla Firefoxからコピーして貼り付けないでください。このタスクは、テキスト・エディタを使用して実行する必要があります。

      • http://localhost:8888/CreateOrderBookingUIで、提供されているCreateOrderBookingUIアプリケーションを開いて入力し、プロセスを開始します。

  5. OrderBookingプロセスが開始されたことを確認します。

  6. 次のグラフィカル・ユーザー・インタフェースで、SelectManufacturingの価格の見積りを入力します。

    http://localhost:8888/SelectManufacturingUI
    
    
    
    

    見積りの入力後、プロセス・インスタンスにより、ユーザーの承認サービスがOrderApprovalで呼び出されたかどうか確認します。 Oracle BPEL Controlに移動し、OrderApprovalTaskActionHandlerの両方のプロセスが開始されたかどうか確認します。

  7. 「スタート」「すべてのプログラム」「Oracle - Oracle_Home「Oracle BPEL Process Manager」「Sample Worklist Application」を選択して、Oracle BPEL Worklist Applicationのログイン・ウィンドウにアクセスします。

  8. jcooper/welcome1としてログインします。デフォルト・ユーザーは、インストール時に次の構成ファイルで指定されます。

    SOA_Oracle_Home\bpel\system\appserver\oc4j\j2ee\home\config\jazn-data.xml
    
    
    obph10bpm1.gifの説明
    図obph10bpm1.gifの説明

    このリストには、ユーザー処理待機中のタスクが表示されます。

  9. 「Actions」リストから「Claim」を選択し、「Go」をクリックしてタスクを申告します。

  10. タスクの詳細、コメント・セクションなどを確認します。

  11. 「タスク・アクション」リストから「承認」または「却下」を選択してタスクを承認あるいは却下し、「Go」をクリックします。

  12. ユーザーjcooperとしてログアウトします。却下された場合は直接プロセスに戻りますが、承認されたタスクの場合は、次のレベルの承認が必要となります。

  13. jstein/welcome1(手順8でリストしたjazn-data.xml構成ファイルで定義された階層内におけるjcooperのデフォルト・マネージャ)としてログインします。

    このリストには、ユーザー処理待機中のタスクが表示されます。

    obph10bpm3.gifの説明
    図obph10bpm3.gifの説明

  14. タスクの詳細、コメント・セクションなどを確認します。

  15. 「アクション」リストのタスクを承認または却下し、「実行」をクリックします。

    jsteinのコメントの後に、jcooperの承認タスクがプロセスに返されます。

  16. Oracle BPEL Control、データベース表またはユーザー指定の一時ディレクトリ(Windowsオペレーティング・システムの場合はdrive_letter:\temp、UNIXオペレーティング・システムの場合は/temp)で、このプロセスの完了を確認します。

11.3 まとめ

注文の手動承認または却下処理を行うユーザー・タスクを追加しました。このフェーズでは、前のプロジェクトの手順を拡張し、ヒューマン・タスク機能を使用して外部の手動サービスをコールしました。これには、ヒューマン・タスクを処理し、ユーザー処理用に事前定義済(デフォルト)のグラフィカル・ユーザー・インタフェース画面を使用する他のサービスへのコールアウトが含まれました。次の主要タスクを実行しました。