9 プロセス・プレーヤの使用
プロセス・プレーヤを使用してBusiness Process Management (BPM)プロジェクト内のビジネス・プロセスをテストします。
9.1 プロセス・プレーヤの概要
プロセス・プレーヤを使用すると、プロセスベースのビジネス・アプリケーション内のBusiness Process Model and Notation (BPMN)プロセスを効率的にテストできます。プロセス・プレーヤは、Oracle Business Process Composerからアクセス可能なランタイム環境を使用して、ビジネス・プロセスの実際の動作をエミュレートします。アプリケーションを実行すると、BPMNプロセスが視覚的に表示され、プロセス・インスタンスがプロセス・フローを通過するパスが示されます。これにより、プロセス設計者は、BPMプロジェクトを保存およびデプロイしてプロセス・ワークスペースに表示しなくても、プロセスの作成、テストおよび改訂を簡単に行うことができます。
プロセス・プレーヤでは、図9-1に示すように、プロセス・エディタ内にBPMNプロセスが表示されます。
プロセス・インスタンスがプロセス・フローを通過する際に、プロセス・プレーヤではプロセスの動作がアニメーションで表示されます。アウトラインは、プロセス・インスタンスがプロセスのフロー・オブジェクトおよびシーケンス・フローを通過するパスを示します。プロセスを経由したインスタンスの特定のパスは、様々なフロー・オブジェクトに対して指定した入力データによって異なります。詳細は、プロセス・プレーヤでのプロセスのフロー・オブジェクトの処理方法を参照してください。
ビジネス・プロセスでプロセス・プレーヤを実行すると、Oracle Business Process Composerによってプロジェクトが検証され、BPMプロジェクトの現在のドラフト・バージョンがOracle Business Process Management (Oracle BPM)ランタイム環境のプレーヤ・パーティションにデプロイされます。プロセス・プレーヤを使用する際、プロセスの設計中に変更を表示するために、プロジェクトを公開したり手動でデプロイする必要はありません。
プロセス・プレーヤを使用して、プロセス・インスタンスの作成および動作をテストできます。プロジェクト内の各プロセスの複数のインスタンスを作成できます。
ノート:
プロセス・プレーヤは、BPMプロジェクトを現在編集中である場合にのみ使用できます。
9.1.1 プロセス・プレーヤでのプロセスのフロー・オブジェクトの処理方法
プロセス・プレーヤでプロセスを実行すると、プロセス内の一部のフロー・オブジェクトの実行時動作がエミュレートされます。
-
ユーザー・タスク
プロセス・プレーヤが処理中のユーザー・タスクに達すると、そのかわりに選択するロールまたはユーザーが表示されます。考えられるすべての結果がアクションとして表示され、Webフォームがタスクに関連付けられている場合は、Webフォームを起動するオプションまたは結果を手動で選択するオプションも提供されます。Webフォームの起動を選択すると、Oracle Business Process ComposerによってWebフォームがデプロイされ、別のビューアに表示されます。
フォームが割り当てられていない場合は、プロセス・プレーヤが一時停止して、そのタスクを実行するロールを選択できます。そのヒューマン・タスクに対して定義されている結果の1つを選択するように求められます。「承認」と「却下」がデフォルトの結果として定義されています。
ただし、結果のリストは、ヒューマン・タスクで結果がどのように定義されているかによって異なります。ヒューマン・タスクでの結果の定義の詳細は、「基本タスク・プロパティの構成方法」を参照してください。結果を選択すると、プロセス・プレーヤはプロセスの次のフロー・オブジェクトに進みます。
Oracle Application Development Framework (Oracle ADF)フォームがヒューマン・タスクに割り当てられている場合、プロセス・プレーヤで表示できるように、Oracle JDeveloperを使用してランタイム環境にデプロイする必要があります。Oracle ADFフォームがデプロイされると、プロセス・プレーヤ・パーティションへのデプロイ時にOracle Business Process Composerがフォームにアクセスできます。
WebフォームまたはOracle ADFフォームを表示した後、引き続きプロセスを実行するには、フォーム・ビューア・ウィンドウを手動で閉じる必要があります。
-
メッセージ送信イベントと送信タスク
プロセス・プレーヤがプロセス内のメッセージ送信イベントまたは送信タスクに達すると、これらが自動的に実行されます。その後、引き続きプロセスのインスタンスをコールし、対応するメッセージ・キャッチ・イベントまたは受信タスクで一時停止します。どちらの場合も、手動で親プロセスに戻る必要があります。たとえば、送信/受信ペアが同じプロジェクトの異なるプロセスでインスタンスを作成している場合、プロセス・プレーヤのホームに戻って、そのプロセスの新しいインスタンスを選択し、子プロセスを実行して、親プロセスに戻ることができます。送信/受信ペアが外部Webサービスをコールする場合、プロセスの実行を続行するには、必要なWebサービス・メッセージを手動で入力する必要があります。
-
タイマー・イベント
プロセス・プレーヤは、プロセス内のタイマー・イベントに到達すると一時停止し、ユーザーがフロー・オブジェクトの「実行」アイコンをクリックするまで待機します。プロセス・プレーヤはプロセスの次のフロー・オブジェクトに進みます。
-
コール・アクティビティ
プロセス・プレーヤがコール・アクティビティに達すると、子プロセスをコールし、プロセスの新しいインスタンスを作成します。子プロセスを表示するには、ドリルダウン・アイコンをクリックします。
-
終了イベント
プロセス・プレーヤが終了イベントに達すると、一時停止し、ドリルアップ・アイコンを表示します。このアイコンをクリックすると、プロセス・プレーヤは親プロセスに戻ります。現在のプロセスに親が存在しない場合は、プロセス・プレーヤのホームに戻り、プロセス・インスタンスは削除されます。
-
その他のフロー・オブジェクト
プロセス・プレーヤが到達した別のフロー・オブジェクトで、一部の操作や外部イベントをインスタンスが待機する処理が発生すると、プロセス・プレーヤは一時停止します。プロセスの実行を続行するには、プロセス・プレーヤ・ホームの上部にある「リフレッシュ」アイコンをクリックします。
9.1.2 Oracle Business Process Composerのプロセス・プレーヤの有効化
プロセス・モデラーがプロセス・プレーヤを使用してBPMプロジェクトのプロセスをテストするには、管理者がプロセス・プレーヤを有効にする必要があります。詳細は、「プロセス・プレーヤを有効にするためのSOA管理者資格証明の定義」を参照してください。
9.2 プロセス・プレーヤを使用したビジネス・プロセスの動作のテスト
プロセス・プレーヤ機能が有効になったら、プロジェクトのようこそページからプロセス・プレーヤにアクセスし、これを使用してプロセスの動作をテストできます。
プロセス・プレーヤには、メイン・メニューおよびプロジェクトのようこそページのツールバーからアクセスできます。プロセス・プレーヤが有効な場合、プロジェクトの編集中に、プロセス・プレーヤにアクセスするためのアイコンがプロジェクト・ツールバーに表示されます。
9.2.1 プロセス内で定義されたロールを組織のユーザーにマップする方法
プロセス・プレーヤを使用する前に、プロセス内で定義されたロールを、ランタイム環境で定義された組織インフラストラクチャのユーザーまたはグループにマップする必要があります。プロセス・プレーヤは、組織の情報を使用して、実際の状況におけるビジネス・プロセスの動作を模倣します。
ロールを組織のユーザーにマップするには:
-
プロジェクトを開きます。
-
プロセス・プレーヤを起動します。
-
「組織」ペインで、マップするプロセスのロールをドロップダウン・リストから選択します。
図9-2に示すように、プロセスで定義されているすべてのロールがドロップダウン・リストに表示されます。
-
マップするユーザーまたはグループを選択します。
-
「選択」をクリックします。
-
ドロップダウン・リストから「ユーザー」または「グループ」を選択します。
-
検索するユーザーまたはグループの名前を入力して、「検索」をクリックします。
すべてのユーザーまたはグループのリストを表示するには、テキスト領域を空白にしたまま「検索」をクリックします。
-
表で、マップするユーザーまたはグループを選択します。
ユーザーまたはグループを選択すると、選択したウィンドウの下部に表示されます。
-
「OK」をクリックします。
-
-
「マッピングの追加」をクリックします。
プロセス・ロールにマップしたユーザーまたはグループが、マッピング表に表示されます。
ノート:
少なくとも1つのユーザーまたはグループを、プロセス内の各ロールにマップする必要があります。マップされていないロールがあるユーザー・タスクをプロセス・プレーヤが検出した場合、ヒューマン・タスクを越えてプロセスの実行を続行することはできません。
9.2.2 プロセス・プレーヤを使用してビジネス・プロセスを実行する方法
プロセス・プレーヤを使用してビジネス・プロセスの動作をテストする前に、プロセス内のすべてのロールを、組織内の少なくとも1つのユーザーまたはグループにマップ済であることを確認してください。詳細は、プロセス内で定義されたロールを組織のユーザーにマップする方法を参照してください。
プロセス・プレーヤを使用するには:
-
プロジェクトを開きます。
-
プロセス・プレーヤにアクセスします。
-
プロセスを選択します。
-
プロセスの開始イベントにある「再生」アイコンをクリックします。
プロセス・プレーヤがプロセスの実行を開始します。各フロー・オブジェクトおよびシーケンス・フローを通過する際、プロセスでたどったパスが描画されます。
プロセス・プレーヤがプロセスの実行を続行しているときに、プロセス・インスタンスが次のいずれかのフロー・オブジェクトに到達すると、プロセス・プレーヤは停止します。
-
ユーザー・タスク
-
コール・アクティビティ
-
メッセージ・イベント
-
タイマー・イベント
プロセス・プレーヤがプロセスの実行を続行する前に、これらの各フロー・オブジェクトに入力を提供する必要があります。詳細は、プロセス・プレーヤでのプロセスのフロー・オブジェクトの処理方法を参照してください。
-
-
プロセス・プレーヤがユーザー・タスクで一時停止した場合:
-
ユーザー・タスクの「再生」アイコンをクリックします。
-
タスクを実行するユーザーを選択します。
ノート:
ユーザーのリストが空で表示される場合は、プロセスのすべてのロールが正しくマップ済であることを確認してください。
-
「実行」をクリックし、結果をリストから選択します。
可能性がある結果は、現在のユーザー・タスクに関連付けられているヒューマン・タスクによって定義されます。
結果を選択すると、プロセス・プレーヤはプロセス内の次のフロー・オブジェクトに進みます。
-
-
プロセス・プレーヤがメッセージ・キャッチ・イベントまたは受信タスクで一時停止した場合、子プロセスのインスタンスを作成します。
-
「実行」アイコンをクリックします。
-
「プロジェクト・プレーヤ」タブを選択します。
-
「インスタンス」表で、新しく作成されたインスタンスを選択します。
元のプロセスのプロセス・プレーヤ・タブを閉じるかどうかを確認するメッセージが表示されます。このタブを閉じても、プロセス・インスタンスには影響しません。
-
「OK」をクリックします。
プロセス・プレーヤにより、新しいプロセス・インスタンスが開かれ、親プロセスからコールされたメッセージ開始イベントからプロセスの実行が開始されます。
-
これまでのステップに記載されているように、プロセス・プレーヤを一時停止するフロー・オブジェクトについて「実行」アイコンをクリックします。
-
プロセス・プレーヤがプロセスのメッセージ終了イベントに達したら、図9-3に示すように、ドリルアップ矢印をクリックして親プロセスに戻ります。
プロセス・プレーヤにより、このプロセスのタブが閉じられ、プロセス・インスタンスはインスタンスのリストから削除されます。
-
プロセス・インスタンスのリストから、親プロセスのプロセス・インスタンスを開きます。
親プロセスのプロセス・インスタンスを再度開くと、プロセス・プレーヤは、子プロセスがコールされた地点からプロセスの実行を続行します。
-
-
プロセス・プレーヤがプロセス内の終了イベントに到達したら、「ドリル・アップ」アイコンをクリックして(図9-3を参照)、プロセス・インスタンスを終了します。
プロセス・プレーヤはプロセス・プレーヤ・エディタに戻り、プロセス・インスタンスは削除されます。