ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド
11g リリース1 (11.1.1.7)
B61409-07
  目次へ移動
目次

前
 
次
 

31 ケース管理の使用

この章では、ケース管理定義を作成および構成する方法について説明します。

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

31.1 ケース管理の概要

ケース管理は、非常に柔軟性の高いデータ処理集中型のビジネス・プロセスをモデル化するための1つの方法です。

ケース管理を使用すると、構造化されていない非定型プロセスとそのコンテンツおよび情報を処理できるため、ビジネス上の最善の意思決定を行うことができます。ケース管理では、ワーカーの知識に依存したり、参加者が必要となる、予期しないビジネス・プロセスに焦点を合わせます。ケース管理は、参加者の意思決定の役に立つコンテンツと情報に依存します。

ケース管理には、次のものが関係します。

ケースは、情報、プロセス、タスク、ルール、サービスの集合です。ケースは、ワーカーの知識、関与および積極的なコラボレーションを必要とします。

ケース管理では、ワークフロー・プロセスを定義せずに目標を達成するためにユーザーが実行できる様々なアクティビティを定義することができるだけです。ただし、動的ワークフロー、構造化プロセスおよびその両方の組合せがサポートされています。

ケース定義には、ケースのコンテキスト内でユーザーが実行できる様々な作業を表す各種のケース・アクティビティが含まれています。Oracle BPMでは、次のものに基づいてケース・アクティビティを定義できます。

31.1.1 ケース管理の主要概念

ケース管理の主要なアーティファクトは次のとおりです。

  • ケース: ビジネス上の意思決定を行うために使用される、構造化プロセス、半構造化プロセス、非構造化プロセス、情報および相互作用の集合です。

  • ケース・モデル: ケースの定義をモデル化します。ケースには、名前、タイプ、各種マイルストンなどの、複数の属性があります。また、動作コンテナやルート・フォルダなどのアソシエーションも含まれています。ケースの定義は、これらの属性とアソシエーションの集合です。

  • ケース・インスタンス: ケース・モデルのインスタンスは、ケースの処理とケースの進行状況の監査に使用されるドキュメント、データおよびケース・アクティビティの集合です。

  • ケース・フォルダ: ケース情報が格納されるコンテンツ管理システ内のフォルダです。

  • ケース・データ: BPM Databaseに格納されたケースのデータです。

  • ケース・ライフサイクル: ケースのステータスは、アクティブ、中断済、クローズ済のうちのいずれかです。

  • マイルストン: 成果物の完成または一連の関連成果物を表します。ケースの進行状況を示すチェックポイントです。ステークホルダーはマイルストンを使用してケースのステータスの概要を把握できます。

  • ケース・アクティビティ: ケースのコンテキスト内で実行できる作業です。ケース・アクティビティには、アクティビティの動作を定義できる様々なプロパティが含まれています。ケース・アクティビティは、必須、条件付き、オプションのいずれかに設定できます。ケース・アクティビティは、手動または自動に設定できます。手動のケース・アクティビティはケース・ワーカーが開始する必要がありますが、自動のケース・アクティビティはケース・ランタイムによって開始されます。ケース・アクティビティは、BPMNプロセス、ヒューマン・タスクまたはカスタムJavaクラスを使用して実装できます。

  • ケース・イベント: ケース・ライフサイクルの変更、ケース・マイルストンの変更、ケース・アクティビティの変更およびその他の手動ケース・イベントが含まれます。手動のケース・イベントは、ケースの処理中に発生する各種の手動アクションに対応する、ケース内にモデル化されているイベントです。

31.1.2 ユース・ケース

次のリストに、ケース管理を使用してビジネス・プロセスをモデル化できるユース・ケースの例を示します。

  • 金融サービス: ローンの組成、クレジット/デビット・カード係争管理、金融犯罪管理(不審活動報告)、資産管理、委託売買、トレーディング、新規ビジネス・アカウント開設、電子バンク口座開設、買掛金、売掛金およびB2B受注管理。

  • 保険: 損害保険請求処理、保険契約管理、保険サービシング、引受、保険詐欺防止、顧客オンボーディング。

  • 医療: 保険者請求処理、方針および手続きの管理、仮想患者記録の管理、メンバー・サービス管理、プロバイダ・サービス管理、グループ・セールス管理、健康保険プランに関する洞察、臨床および運営面での洞察。

  • エネルギー/公益事業: プロセス安全管理、FERC電子関税申告、送電プロセス、SOP処理。

  • 公共部門: 給付金受給資格および給付金申請手続き、助成金管理、治安、納税申告、裁判および司法問題。

  • 人事: 従業員オンボーディング、従業員オフボーディング、従業員の勤務評定、福利厚生管理。

  • 法務: 契約管理、訴訟管理、監査およびコンプライアンス。

  • 顧客サービス: 顧客対応、コール・センター、有権者サービス。

31.1.3 ケース状態モデル

次のダイアグラムは、ケースが開始してからユーザーがそのケースをクローズするまでに、ケースが通過する可能性のある様々な状態を示しています。

図31.1 ケース状態モデル

このダイアグラムはケースの様々な状態を示しています。

31.2 ケースの作成

BPMプロジェクトごとに1つのケースのみを定義できます。既存のBPMプロジェクトを使用するか、新しいプロジェクトを作成することができます。

31.2.1 ケースの作成方法

ケースを作成する手順は次のとおりです。

  1. 「ファイル」を選択します。

  2. 「新規」を選択します。

  3. 「BPM層」を選択します。

  4. 「ケース管理の作成」を選択します。

    「ケース管理の作成」ダイアログが表示されます。

  5. ケースを識別する名前を入力します。

  6. オプションでネームスペースを入力します。

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

    BPM Studioによって、指定した新しいケースが作成され、構成できるようにケース・エディタに表示されます。

31.3 ケースの構成

Oracle BPM Studioでは、ケース管理エディタを使用して作成したケースを構成できます。図31-2は、ケース管理エディタを示しています。

図31-2 ケース管理エディタ


31.3.1 ケースの編集方法

ケースは、ケース・エディタを使用して編集できます。ケースを作成した後、BPM Studioのケース・エディタにそのケースが表示され、構成できるようになります。既存のケースを編集する場合は、この項で説明する手順に従う必要があります。

ケースを編集する手順は次のとおりです。

  1. 「アプリケーション・ナビゲータ」を選択します。

  2. BPMNプロセスが含まれているプロジェクトを開きます。

  3. BPMNコンテンツ・フォルダを開きます。

  4. ケース・ファイルをダブルクリックします。

    ケース・ファイルには、.case拡張子が付いています。BPMプロジェクトごとに1つのケース・ファイルのみがあります。

  5. 次のうちの1つ以上を編集します。

31.4 ケースの一般プロパティの構成

ケース・エディタが開くと、「一般」タブが表示されます。このタブで、ケースの一般プロパティおよびケース権限の構成、マイルストンの追加、および可能な結果の定義を行うことができます。

31.4.1 「一般」プロパティの構成方法

ケースを作成した後、タイトル、優先度、カテゴリなどの基本プロパティを構成できます。

一般プロパティを構成する手順は次のとおりです。

  1. ケースを編集します。

  2. 「一般」タブを選択します。

  3. ケースのタイトルを指定します。

  4. 「優先度」リストから、優先度を選択します。

    優先度の値は1から5まであります。最も高い優先度は1で、最も低い優先度は5です。

    ケース・ワーカーは、優先度によってケースの重要度がわかるため、作業するケースを決定できます。

  5. カテゴリを入力します。

    カテゴリを使用すると、類似したケースをグループ化できます。

  6. さらに、権限の構成、マイルストンの追加、および結果の定義を行うことができます。

    詳細は、次を参照してください。

31.4.2 マイルストンの追加方法

ケースでは、様々なマイルストンを定義できます。マイルストンは、成果物の完成または一連の関連成果物を表します。ケースの進行状況を示すチェックポイントです。ステークホルダーはマイルストンを使用してケースのステータスの概要を把握できます。

マイルストンには、アクティビティや作業は直接関連付けられていません。

マイルストンを追加する手順は次のとおりです。

  1. ケースを編集します。

  2. 「一般」タブを選択します。

  3. 「マイルストン」セクションを開きます。

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

  5. マイルストンの名前を入力します。

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

31.4.3 可能な結果の定義方法

ケースでは、様々な可能な結果を定義できます。

結果は、ケースの完了時にそのケースに割り当てられるユーザー定義の値です。たとえば、医療ケースでは、ケースの完了時の結果は、治療済、経過観察なし、誤診、慢性、治療不能などがあります。

可能な結果を定義する手順は次のとおりです。

  1. ケースを編集します。

  2. 「一般」タブを選択します。

  3. 「結果」セクションを開きます。

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

  5. マイルストンの名前を入力します。

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

31.5 ケース・アクティビティの作成

ケース・アクティビティは、ケースのコンテキスト内の特定の作業を表します。

ケース・アクティビティは、ケースから呼び出すことができるタスクです。ケース・アクティビティは、ヒューマン・タスク、BPMNプロセス、カスタム・ケース・アクティビティのいずれかです。

ケースは、様々なケース・アクティビティで構成されています。BPMプロセスまたはヒューマン・タスクに基づいてこれらのケース・アクティビティを作成することも、カスタム・ケース・アクティビティを作成することもできます。

ケース・アクティビティは、次の方法で作成できます。

31.5.1 ケース・アクティビティの属性

ケース・アクティビティの次の属性で、ケース・アクティビティの動作を定義できます。

  • 自動/手動

    自動ケース・アクティビティは、システムによって自動的に呼び出されます。手動ケース・アクティビティは、タスク・ライブラリに表示されます。ユーザーはこのライブラリから手動アクティビティを呼び出すことができます。

  • 繰返し可能/繰返し不可

    繰返し可能ケース・アクティビティは、1つのケース内で複数回呼び出すことができます。繰返し不可ケース・アクティビティは、1回のみ呼び出すことができます。すでに呼び出されている手動ケース・アクティビティは、ライブラリには表示されません。

  • 必須/任意

    必須アクティビティは、ケースがクローズされる前に少なくとも1回呼び出される必要があります。

  • 条件付き可用性

    条件なしの手動アクティビティは、ユーザーによって呼び出されるまではデフォルトでライブラリに表示されます。繰返し可能アクティビティは、呼び出された後もライブラリに表示されます。条件付き手動アクティビティは、ビジネス・ルールによってアクティブ化された場合にライブラリに表示されます。条件なしの自動アクティビティは、Oracle Business Process Managerによってケースが開始された後に呼び出されます。.条件付き自動アクティビティは、ルールによってアクティブ化された場合に呼び出されます。

31.5.2 タスク・ライブラリ

タスク・ライブラリには、ケースの使用可能な手動アクティビティがすべて表示されます。タスク・ライブラリには、すべてのグローバル・アクティビティも表示されます。ケース・アクティビティの可用性は、そのケース・アクティビティの属性と、ケース・アクティビティがすでに呼び出されているかどうかによっても決まります。

31.5.3 事前定義済ケース・アクティビティ

タスク・ライブラリには、デフォルトで次のケース・アクティビティが含まれています。

  • 単純ワークフロー

    このアクティビティを使用して、単純なヒューマン・タスクを作成できます。タスクのタイトル、優先度、期日、コメント、割当てタイプおよび割当て先を構成できます。サポートされている割当てタイプは、単純、順次、パラレルおよびFYIです。

    キーSimpleWFActivityPayloadを使用してペイロード入力をメソッドinitiateCaseActivityに渡す必要があります。第31.18.1項「単純ワークフロー・ペイロード・スキーマ」に示したスキーマのペイロードを使用する必要があります。

  • 電子メール通知

    このアクティビティを使用して電子メール通知を送信できます。電子メール通知が適切に動作するようにワークフロー通知をEMAILに設定する必要があります。

    キーEmailActivityPayloadを使用してペイロード入力をメソッドinitiateCaseActivityに渡す必要があります。第31.18.2項「電子メール通知ペイロード・スキーマ」に示したスキーマのペイロードを使用する必要があります。


    注意:

    添付ファイルとして送信できるのは、グローバル・ケース・アクティビティの電子メール通知アクティビティ内のケース・ドキュメントのみです。ファイル・システム内にあるドキュメントはサポートされていません。


31.5.4 ケース・アクティビティの評価

すべてのケース・アクティビティは、1から5までの値で評価できます。評価は、すべてのケースまたは特定のケース・インスタンスに適用されるアクティビティ定義レベルで実行できます。

アクティビティ定義の評価が行われた場合、すべての評価の平均がライブラリに表示されます。

31.5.5 ケース・アクティビティの順序の指定

別のケース・アクティビティの後にケース・アクティビティを実行する場合は、2番目のアクティビティで、最初のアクティビティが完了した後にそのアクティビティを実行することを示す条件を定義する必要があります。

条件の定義の詳細は、第31.15項「ビジネス・ルールの使用」を参照してください。

31.5.6 BPMNプロセスをケース・アクティビティに昇格させる方法

BPMNプロセスに基づいてケース・アクティビティを作成できます。これによって、BPMNプロセスはケース・アクティビティとして公開されます。ケース・アクティビティは、ケース・ワーカーが実行できる単一の項目です。

ケース・アクティビティを作成すると、Oracle BPM Studioによって、BPMNプロセスの複数のエンド・ポイントのすべての引数に対して出力引数が生成されます。ただし、複数のスタート・ポイントが含まれるプロセスの入力引数に対応する場合は、スタート・ポイントごとにケース・アクティビティを作成する必要があります。

BPMNプロセスがすでに存在している必要があります。同期および非同期のBPMNプロセスを使用できます。ケース・アクティビティでは、メッセージのスタート・ポイントとエンド・ポイントのみがサポートされます。

BPMNプロセスをケース・アクティビティに昇格させる手順は次のとおりです。

  1. 「アプリケーション・ナビゲータ」を選択します。

  2. BPMNプロセスが含まれているプロジェクトを開きます。

  3. BPMNコンテンツ・フォルダを開きます。

  4. 「プロセス」フォルダを開きます。

  5. ケース・アクティビティに昇格させるBPMNプロセスを右クリックします。

  6. 「ケース・アクティビティとして促進」を選択します。

    「ケース・アクティビティの作成」ダイアログが表示されます。

  7. ケース・アクティビティを識別する名前を入力します。

  8. ケースのユーザー・インタフェースに表示される表示名を入力します。

  9. 「操作名」リストから、開始操作を選択します。

  10. ケース・アクティビティを同期にするには、「同期」チェック・ボックスを選択します。

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

    BPM Studioによってケース・アクティビティが作成され、ユーザーが構成できるように「ケース・アクティビティ」エディタに表示されます。

    デフォルトでは、Oracle BPM Studioによって、BPMNプロセスの入力引数と出力引数に基づいて入力パラメータと出力パラメータが作成されます。BPMNプロセスに複数のエンド・ポイントが含まれている場合は、複数のエンド・ポイントの出力引数ごとに1つの出力パラメータが作成されます。


注意:

ケース・アクティビティは基礎となるBPMNプロセスに入力パラメータを渡すことができます。BPMNプロセスの出力引数を読み取ってその値を格納するようにケース・アクティビティを構成することもできます。

詳細は、第31.6項「入力パラメータ・ケース・アクティビティの定義」および第31.7項「ケース・アクティビティの出力パラメータの定義」を参照してください。


31.5.7 BPMNプロセスの表示方法

「拡張」タブには、ケース・アクティビティを作成するために使用されるサービス参照と操作が表示されます。

ヒューマン・タスク操作を表示する手順は次のとおりです。

  1. ケースを開きます。

  2. 「詳細設定」タブを選択します。

    図31-3に、「拡張」タブを示します。

  3. BPMNプロセスを開くには、サービス参照をクリックします。

  4. 操作を変更するには、「リフレッシュ」ボタンをクリックします。

図31-3 BPMNプロセスに基づいたケース・アクティビティの「拡張」タブ

この図は、BPMNに基づいたケース・アクティビティの「拡張」タブを示しています。

31.5.8 ヒューマン・タスクをケース・アクティビティに昇格させる方法

ヒューマン・タスクに基づいてケース・アクティビティを作成できます。

ヒューマン・タスクがすでに存在している必要があります。

BPMNプロセスをケース・アクティビティに昇格させる手順は次のとおりです。

  1. 「アプリケーション・ナビゲータ」を選択します。

  2. ヒューマン・タスクが含まれているプロジェクトを開きます。

  3. 「SOAコンテンツ」フォルダを開きます。

  4. ケース・アクティビティに昇格させるヒューマン・タスクを右クリックします。

  5. 「ケース・アクティビティとして促進」を選択します。

    「ケース・アクティビティの作成」ダイアログが表示されます。

  6. ケース・アクティビティを識別する名前を入力します。

  7. ケースのユーザー・インタフェースに表示される表示名を入力します。

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

    BPM Studioによってケース・アクティビティが作成され、ユーザーが構成できるように「ケース・アクティビティ」エディタに表示されます。

    デフォルトでは、Oracle BPM Studioによって、ヒューマン・タスクのペイロード引数に基づいて入力パラメータと出力パラメータが作成されます。


注意:

ケース・アクティビティは基礎となるヒューマン・タスクに入力パラメータを渡すことができます。ヒューマン・タスクの出力パラメータを読み取ってその値を格納するようにケース・アクティビティを構成することもできます。

詳細は、第31.6項「入力パラメータ・ケース・アクティビティの定義」および第31.7項「ケース・アクティビティの出力パラメータの定義」を参照してください。


31.5.9 ヒューマン・タスクの表示方法

「拡張」タブには、ケース・アクティビティを作成するために使用されるヒューマン・タスクが表示されます。

ヒューマン・タスク操作を表示する手順は次のとおりです。

  1. ケースを開きます。

  2. 「詳細設定」タブを選択します。

  3. ヒューマン・タスクを開くには、サービス参照をクリックします。

31.5.10 カスタム・ケース・アクティビティの作成方法

Javaクラスに基づいてカスタム・ケース・アクティビティを作成できます。

カスタム・ケース・アクティビティを使用すると、ユーザーは独自のケース・アクティビティ(スケジューラなど)を作成できます。エンド・ユーザーにとっては、その他のタイプのケース・アクティビティと何の違いもありません。

ケース・アクティビティを作成する手順は次のとおりです。

  1. 「ファイル」を選択します。

  2. 「新規」を選択します。

    「新規ギャラリ」ダイアログが表示されます。

  3. 「BPM層」を選択します。

  4. 「カスタム・ケース・アクティビティ」を選択します。

    「ケース・アクティビティの作成」ダイアログが表示されます。

  5. ケース・アクティビティを識別する名前を入力します。

  6. ケースのユーザー・インタフェースに表示される表示名を入力します。

  7. 「クラス名」フィールドにJavaコールバック・クラスの名前を入力します。

    Javaクラスは、oracle.bpm.casemgmt.caseactivity.ICaseActivityCallbackインタフェースを実装する必要があります。

    コールバック・クラスはコンポジットの一部である必要があります。そうでない場合は、ワークフロー・カスタマイズ・クラスパスにコールバック・クラスを追加する必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Process Management Business Process Composerユーザーズ・ガイド』を参照してください。

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

    BPM Studioによってケース・アクティビティが作成され、ユーザーが構成できるように「ケース・アクティビティ」エディタに表示されます。


注意:

入力パラメータおよび出力パラメータをカスタム・ケース・アクティビティに追加できます。入力パラメータには、ケース・データまたはユーザー入力の値を割り当てることができます。出力パラメータの値をケース・データとして格納することもできます。


31.6 入力パラメータ・ケース・アクティビティの定義

入力パラメータは次のいずれかのタイプです。

デフォルトでは、入力パラメータにはケース・データの値が含まれています。これは、ユーザーからの入力が実行されたらユーザー入力を使用するように変更できます。

また、.caseファイルにケース・データを定義する必要もあります。ケース・データを定義しないと、ケース・アクティビティを作成するときに、Oracle BPM Studioによって必須タイプの新しいケース・データが作成されます。

BPMNプロセスまたはヒューマン・タスクの入力引数と同じ順序でケース・アクティビティの入力パラメータを定義する必要があります。

Oracle BPM Studioを使用して入力パラメータの名前を変更できます。ケース・データまたは入力データ要素の名前は、BPMプロセスまたはヒューマン・タスクの引数要素の名前と一致する必要があります。

入力パラメータがユーザー入力タイプである場合は、この値をケース・データとして保存できます。

図31-4は、BPMNプロセスに基づいたケース・アクティビティの入力パラメータの入力引数と、BPMNプロセスの開始イベントの引数を示しています。ケース・アクティビティの入力パラメータの名前は、BPMNプロセスの引数の名前と一致する必要があります。

図31-4 BPMNプロセスに基づいたケース・アクティビティのヒューマン・タスク入力パラメータ

この図は、ケース・アクティビティの入力パラメータとBPMNプロセスの入力引数を示しています。

31.6.1 入力パラメータの追加方法

ケース・アクティビティの入力パラメータを定義できます。

入力パラメータを追加するには、次の手順を実行します。

  1. 「入力」セクションを開きます。

  2. 「追加」をクリックします。

  3. パラメータを識別する名前を入力します。

  4. 必要に応じて、「ストア・データ」オプションを選択します。

31.7ケース・アクティビティの出力パラメータの定義

デフォルトでは、Oracle BPM Studioによって、BPMNプロセスまたはヒューマン・タスクの引数に基づいて出力引数が作成されます。ケースを作成した後、出力パラメータの名前を変更できます。

ヒューマン・タスクに基づいたケース・アクティビティの場合は、出力引数の名前はワークロード・ペイロード引数の名前です。編集可能なヒューマン・ワークフロー引数のみが出力引数としてケース・アクティビティに表示されます。

出力パラメータの値をケース・データとして保存できます。これを行うには、ケース・アクティビティの出力パラメータの名前がBPMNプロセスまたはヒューマン・タスクの引数のルート要素名と一致している必要があります。

図31-5は、BPMNプロセスに基づいたケース・アクティビティの出力パラメータの出力引数と、BPMNプロセスの終了イベントの引数を示しています。ケース・アクティビティの出力パラメータの名前は、BPMNプロセスの引数の名前と一致する必要があります。

出力は、ケース・データとして保存できます。デフォルトでは、同じタイプのケース・データが使用可能な場合に、UIによってケース・データが移入されます。それ以外の場合は、UIによって同じタイプの新しいケース・データが.caseファイルに作成されます。

図31-5 BPMNプロセスに基づいたケース・アクティビティのヒューマン・タスク出力パラメータ


31.7.1 出力パラメータの追加方法

ケース・アクティビティの出力パラメータを定義できます。

出力パラメータを追加する手順は次のとおりです。

  1. 「出力」セクションを開きます。

  2. 「追加」をクリックします。

  3. パラメータを識別する名前を入力します。

  4. ネームスペースを入力します。

  5. 必要に応じて、「ストア・データ」オプションを選択します。

31.8 ケース・アクティビティの構成

定義されている様々なプロパティの値を指定してケース・アクティビティを構成できます。

31.8.1 ケース・アクティビティの編集方法

ケース・アクティビティは、「ケース・アクティビティ」エディタを使用して編集できます。ケース・アクティビティを作成した後、BPM Studioの「ケース・アクティビティ」エディタにケースが表示され、構成できるようになります。既存のケース・アクティビティを編集する場合は、この項で説明する手順に従う必要があります。

ケース・アクティビティを編集する手順は次のとおりです。

  1. 「アプリケーション・ナビゲータ」を選択します。

  2. BPMNプロセスが含まれているプロジェクトを開きます。

  3. BPMNコンテンツ・フォルダを開きます。

  4. ケース・アクティビティ・ファイルをダブルクリックします。

    ケース・ファイルには、.caseactivity拡張子が付いています。

    「ケース・アクティビティ」エディタが表示されます。

  5. 「ケース・アクティビティ」エディタで、次のものを構成できます。

31.8.2 基本プロパティの構成

作成したケース・アクティビティの次の基本プロパティを構成できます。

  • 自動

  • 必須

  • 繰返し可能

  • 条件付きで使用可能

これらの属性の詳細は、第31.5.1項「ケース・アクティビティの属性」を参照してください。

ケース・アクティビティの入力パラメータおよび出力パラメータを追加することもできます。第31.6.1項「入力パラメータの追加方法」および第31.7.1項「出力パラメータの追加方法」を参照してください。

31.9 グローバル・アクティビティの作成

グローバル・アクティビティは、グローバルで、コンポジットの一部ではないカスタム・ケース・アクティビティです。グローバル・アクティビティは、タイプに関係なくすべてのケースに適用されます。グローバル・アクティビティはグローバル・フラグtrueによって識別されます。Oracle BPM Studioを使用してグローバル・アクティビティを設計することはできません。

グローバル・アクティビティのコールバックJavaクラスをワークフロー・カスタマイズ・クラスパスに追加する必要があります。

第31.18.3項「グローバル・ケース・アクティビティ・メタデータ・スキーマの例」に、グローバル・アクティビティ・メタデータのメタデータの例を示します。isGlobal属性の値はtrueに設定されます。

グローバル・ケース・アクティビティを作成した後、Oracle Fusion Middleware Business Process Management Suite Java APIリファレンスのregisterCaseActivityクラスを使用して、そのグローバル・ケース・アクティビティを登録する必要があります。これを行うには、ケース・アクティビティ・ドキュメントをアンマーシャルし、CaseActivityをパラメータとして渡す必要があります。

グローバル・ケース・アクティビティの登録方法を示します。

例31-1 グローバル・ケース・アクティビティの登録

InputStream  is = classLoader.getResourceAsStream(<file>);
 
public static CaseActivity unmarshall(InputStream inputStream)
                                throws JAXBException, IOException {
       try {
           // create a document
           DOMParser p = new DOMParser();
           p.retainCDATASection(true);
           p.parse(inputStream);
           Document    doc = p.getDocument();
           
           JAXBContext jaxbContext = JAXBContext.newInstance(JAXB_CONTEXT);
           
           //return unmarshal(doc);
           return (CaseActivity) jaxbContext.createUnmarshaller().unmarshal(doc);
           
       } catch (oracle.xml.parser.v2.XMLParseException e) {
           throw new JAXBException(e);
       } catch (org.xml.sax.SAXException e) {
           throw new JAXBException(e);
       }
}
 
private static final String JAXB_CONTEXT = "oracle.bpm.casemgmt.metadata.activity.model";

31.10 データ記憶域の構成

エンタープライズ・コンテンツ・マネージャにケース・ドキュメントを格納することもできます。これを行うには、ケースをエンタープライズ・コンテンツ・マネージャ・データで構成する必要があります。

31.10.1 ケース・ドキュメント操作

ケースには1つ以上の関連ドキュメントを含めることができます。ステークホルダーは、適切な権限を持つ他のステークホルダーのみが表示または削除できるケース・ドキュメントをアップロードできます。ケース・ドキュメントは、ケースの開発時に指定したフォルダに格納されます。ドキュメントに対する操作を実行するには、Oracle Fusion Middleware Business Process Management Suite Java APIリファレンスのCaseStreamServiceを使用します。

31.10.2 ケース・ドキュメントの権限タグの指定

権限タグを使用すると、ドキュメントの読取りと更新を行うことができるユーザーを構成できます。権限タグの詳細は、第31.13項「タグ権限の定義」を参照してください。

権限タグは、次の状況で指定できます。

  • CaseDocumentStreamServiceクラスのメソッドuploadDocument()を使用して新しいドキュメントを作成する場合

  • CaseServiceクラスのメソッドsetPermissionTag()を使用して、権限タグ・パラメータに適切な値を渡して、既存のドキュメントに対する権限を変更する場合

ドキュメントに対する権限タグのサポートは、ドキュメント・ストアのタイプによって異なります。

  • Oracle以外のコンテンツ管理システム

    この機能は、Oracle Web Center Content以外のコンテンツ管理システムではサポートされていません。

  • BPMデータベース

    BPM DBをドキュメント・ストアとして使用している場合は、何も構成せずにケース・ドキュメントに対する権限タグを設定できます。

  • Oracle Web Center Content

    ドキュメントの権限タグを設定すると、CaseManagementPermissionTagのメタデータ情報フィールドにその値が格納されます。ドキュメントに対する権限タグを使用する前に情報フィールドを作成する必要があります。情報フィールドを作成するには、第31.10.2.1項「Oracle Web Center Contentの情報フィールドの作成」を参照してください。既存のドキュメントに対して権限タグを設定しようとすると、失敗します。

31.10.2.1 Oracle Web Center Contentの情報フィールドの作成

ドキュメントに対する権限タグを使用する前に情報フィールドを作成する必要があります。このフィールドを定義していない場合、ドキュメントをアップロードするときに権限タグが設定されません。

Oracle Web Center Contentの情報フィールドを作成する手順は次のとおりです。

  1. 管理アプレットページで構成マネージャアプレットを起動します。

  2. 「追加...」ボタンをクリックします。

  3. 「メタデータ・フィールド名」フィールドにCaseManagementPermissionTagを入力します。

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

  5. 「値が必要」:「必須」チェック・ボックスが選択されていないことを確認し、「OK」をクリックしてデフォルト値を維持します。

    新しい情報フィールドCaseManagementPermissionTagが表示されます。

  6. 「データベース設計の更新」をクリックして変更を保存します。

31.10.3 ケース・データの更新方法

データは、ケースのペイロードを表し、ケースの入力パラメータを定義します。データは、ケース内の情報の一部を表します。


注意:

XSDまたはビジネス・オブジェクトに基づいて作成されたケース・データは、XSDまたはビジネス・オブジェクトに定義されているデフォルト値で初期化されることはありません。


ケース・データを構成する手順は次のとおりです。

  1. ケースを編集します。

  2. 「データとドキュメント」タブを選択します。

  3. 「データ」セクションを開きます。

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

    データの追加ダイアログが表示されます。

  5. ケース・データを識別する名前を入力します。

    名前は一意ではありません。別のケース・データに同じ名前を付けることができます。

  6. 要素またはタイプを選択します。

  7. ケース・データを編集可能にする場合は、「編集可能」チェック・ボックスを選択します。

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

31.10.4 ドキュメントの場所の構成方法

ドキュメントの場所は、エンタープライズ・コンテンツ管理システム内のフォルダです。このフォルダに、ケース・インスタンスに関連するすべてのドキュメントが格納されます。このフォルダにサブフォルダを含めることができます。

ケース・ドキュメントのフォルダ名は、親フォルダ名と、ユーザーが指定したケース・インスタンスのフォルダ名を連結して作成されます。

ドキュメントの場所を構成する手順は次のとおりです。

  1. ケースを編集します。

  2. 「データとドキュメント」タブを選択します。

  3. 「ドキュメント」セクションを開きます。

  4. 「親フォルダ」フィールドで、次のいずれかのオプションを使用してケースのベース・フォルダ名を指定します。

    • 「名前別」を選択して、静的テキストを使用して親フォルダの場所を指定します。

    • 「式別」を選択して、XPATH式を使用して親フォルダの場所を指定します。


    注意:

    フォルダがすでに存在している必要があります。


  5. 「ケース・インスタンス・フォルダ」フィールドで、次のいずれかのオプションを使用して各ケース・インスタンスのフォルダ名を指定します。

    • 「名前別」を選択して、静的テキストを使用して親フォルダの場所を指定します。

    • 「式別」を選択して、XPATH式を使用して親フォルダの場所を指定します。

    一般的には、XPATH式を使用して指定します。


    注意:

    フォルダがすでに存在している必要があります。


  6. 必要に応じて、Oracle BPM Suiteの「ケース・インスタンス・フォルダの作成」を選択して、Enterprise Content Managementストアにケース・フォルダを作成します。

31.10.5 Enterprise Content Managementの構成方法

デフォルトでは、Oracle BPM SuiteはOracle Databaseドキュメント・ストアを使用するように構成されます。エンタープライズ・コンテンツ・マネージャにアクセスできない場合は、プロジェクトの開発時にこのデフォルト構成を使用できます。この場合は、Oracle SOA Serverでの構成は必要ありません。

ケース・ドキュメントの格納に使用できるエンタープライズ・コンテンツ・マネージャは次のとおりです。

  • Oracle UCM

  • Alfresco CMIS

これらのコンテンツ・マネージャを使用するには、BPMのインストール後にEMを使用してこれらを手動で構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

次のリストに、サポートされているエンタープライズ・コンテンツ・マネージャの構成を示します。

  • Oracle UCM

    エンドポイントURLをidc://ucm_host:4444の形式にする必要があります。

    管理者ユーザーをweblogicとすることができます。

  • Alfresco CMIS

    エンドポイントURLをhttp://alfresco_host:8080/alfresco/service/cmisの形式にする必要があります。

    管理者ユーザーをweblogicとすることができます。

31.11 イベントの構成

ケースの処理中に発生する可能性のある手動アクションを表すカスタム・イベントを定義できます。

ケース・ワーカーはイベントを発生させて、何かが起きていることを示します。イベントが発生すると、ケース・アクティビティのアクティブ化がトリガーされるか、またはマイルストンが完了済としてマークされます。たとえば、ケースでユーザーがFAXを待っている場合に、FAXが到着すると、ケース・ワーカーはFAXの到着を示すイベントを発生させることができます。

31.11.1 イベントの構成方法

ケースでは、ケースの処理中に発生する可能性のある手動アクションを表す様々なイベントを定義できます。

イベントを追加する手順は次のとおりです。

  1. ケースを編集します。

  2. 「イベント」タブを選択します。

  3. 「追加」をクリックします。

    「イベントの追加」ダイアログが表示されます。

  4. イベントを識別する名前を入力します。

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

    新しいイベントが「イベント」セクションに表示されます。

31.12 ステークホルダー権限の定義

権限モデルを使用すると、ステークホルダー権限とタグ権限を定義できます。

定義するケースごとに複数のステークホルダーを定義できます。ケースの一部であるケース・オブジェクトに対してアクションを実行できるのは、ステークホルダーのみです。

管理者は、各ステークホルダーが実行できるアクションを決定します。デフォルトでは、デプロイ時にOracle BPMによって使用可能なすべての権限がステークホルダーに付与されます。デプロイ後に、管理者は関連のない権限を削除できます。

将来のデプロイで、新しいステークホルダー・アプリケーション・ロールと新しい権限タグ・ロールを追加される可能性がありますが、既存のロールは影響を受けません。ケースをアンデプロイしても、権限付与またはアプリケーション・ロールには影響しません。

表31-1に、ケース・オブジェクト別のデフォルト権限を示します。

表31-1 ケース・オブジェクト別の権限

番号 リソース(ケース・オブジェクト) 許可されたアクション

1

CASE

READ、UPDATE

2

COMMENT

READ、UPDATE

3

DOCUMENT

READ、UPDATE

4

DATA

READ、UPDATE

5

EVENT

INVOKE

6

ACTIVITY

INVOKE

7

MILESTONE

READ、UPDATE

8

STAKEHOLDER

READ、UPDATE

9

HEADER

READ、UPDATE


31.12.1 ステークホルダーの追加方法

ステークホルダーは、ケースの処理に関与する様々な人です。これらの人は、ケースを表示して、ケースに取り組むことができるケース・ワーカーです。

図31-6は、Case Management Editorの「ステークホルダー」タブを示しています。

ステークホルダーを追加する手順は次のとおりです。

  1. ケースを編集します。

  2. 「ステークホルダー」タブを選択します。

  3. 「追加」をクリックします。

    ステークホルダーの追加ダイアログが表示されます。

  4. ステークホルダーを識別する名前を入力します。

  5. 「メンバー・タイプ」リストから、メンバー・タイプを選択します。

  6. 「値タイプ」リストから、値フィールドの定義方法を選択します。

  7. 選択した値タイプに応じて、静的文字列またはXPATH式を入力して値を定義します。

    この値で、実際にステークホルダーとして活動するユーザーを指定します。ケースを処理する実際のユーザー、グループまたはロールです。

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

    新しいイベントが「イベント」セクションに表示されます。


注意:

ステークホルダーを削除しても、基礎となる組織内のロールは削除されません。


図31-6 Case Management Editorの「ステークホルダー」タブ

この図は、Case Management Editorの「ステークホルダー」タブを示しています。

31.12.2 権限の追加方法

権限を使用すると、ケースを更新できるユーザーを定義できます。権限のタグが付いたケース・オブジェクトの表示または更新が可能なのは、読取り/書込みOPSS権限を持つユーザーのみです。

ドキュメントやデータなどのケース・オブジェクトに権限を割り当てることができます。

ユーザー独自の権限を定義できます。UIには、デフォルト権限のPUBLICとRESTRICTEDが表示されます。これらのデフォルト権限を変更できます。

通常使用される権限の例としては、internal、public、press releaseなどがあります。


注意:

電子メールおよび単純ワークフローは、グローバル・ケース・アクティビティであるため、権限タグはグローバルです。


権限を追加する手順は次のとおりです。

  1. ケースを編集します。

  2. 「一般」タブを選択します。

  3. 「権限」セクションを開きます。

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

  5. 権限を識別する名前を入力します。

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

31.12.3 権限の管理方法

Oracle Enterprise Managerを使用して、各ステークホルダーに割り当てられた権限を管理できます。

権限を管理する手順は次のとおりです。

  1. Oracle Enterprise managerの「WebLogicドメイン」で、soainfraを右クリックし、「セキュリティ」「アプリケーション・ポリシー」の順に選択します。

  2. 「アプリケーション・ポリシー」ページで、次の検索基準で検索を実行します。

    1. 「アプリケーション・ストライプ」フィールドに、OracleBPMPRocessRolesAppと入力します。

    2. 「プリンシパル・タイプ」フィールドに、Application Roleと入力します。

    3. 「名前が次で始まる:」フィールドにケースの名前を入力するか、フィールドを空白のままにしておきます。

  3. 検索結果から、権限を編集するステークホルダーに対応するアプリケーション・ロールを1つ選択します。

  4. 「編集」ボタンをクリックします。

    「アプリケーション権限の編集」ダイアログが表示されます。

  5. 「権限」表で、権限を選択して「編集」をクリックします。


注意:

Oracle Enterprise Managerでは、アクション文字列は検証されないため、正確なアクション文字列を指定する必要があります。



注意:

複数のアクションを割り当てる場合は、空白を挿入せずにカンマで区切ります。例: READ,UPDATE


31.13 タグ権限の定義

ステークホルダーは、実行時にケース・オブジェクトに追加の権限を割り当てることができます。Oracle BPM Studioでケースを設計するときにこのオプションを使用できるようにするには、権限タグを作成する必要があります。たとえば、PUBLIC、RESTRICTEDおよびHIGHLY_CONFIDENTIALという権限タグを指定してケースを定義できます。

デプロイ時に、ケースに定義されている権限タグに対応するアプリケーション・ロールがOracle Business Process Managerによって作成されます。

たとえば、EURent.RESTRICTED.UPDATE.Roleロールが付与されているユーザーは、ドキュメントにRESTRICTEDタグを割り当てることができます。EURent.RESTRICTED.READ.Roleロールを持つユーザーのみが、そのドキュメントにアクセスできます。


注意:

タグ権限は、ステークホルダー権限と連携して動作します。たとえば、ケース・オブジェクトの読取りや更新を行うためには、ステークホルダーにREAD/UPDATE権限が付与されており、ケース・オブジェクトには自身の読取りまたは更新を許可する適切なタグが割り当てられている必要があります。

ステークホルダー権限の詳細は、第31.12項「ステークホルダー権限の定義」を参照してください。


31.13.1 タグ権限の管理方法

  1. Oracle Enterprise managerの「WebLogicドメイン」で、soainfraを右クリックし、「セキュリティ」「アプリケーション・ポリシー」の順に選択します。

  2. 「アプリケーション・ポリシー」ページで、次を指定します。

    1. 「アプリケーション・ストライプ」フィールドに、OracleBPMPRocessRolesAppと入力します。

    2. 「名前が次で始まる:」フィールドにケースの名前を入力するか、フィールドを空白のままにしておきます。

  3. 「アプリケーション・ロール」ページで、権限タグ・ロールを選択して「編集」をクリックします。

    「アプリケーション・ロールの編集」ダイアログが表示されます。

  4. 追加」をクリックして、このアプリケーション・ロールに、ユーザー、グループまたはアプリケーション・ロール・メンバーを追加します。

31.14 ケースのローカライズ

ユーザー・インタフェースを表示するときに様々な言語を使用するようにケースを構成できます。

ローカライズできるケースのアーティファクトは次のとおりです。

ケース・タイトルとケース・カテゴリを除き、これらのアーティファクトはすべて、表示名を定義できます。表示名はデフォルト・ロケールのリソース・バンドルに格納されます。


注意:

複数のアーティファクトに同じ表示名を付けることができます。ただし、わかりやすく、表示されるデータをすぐに識別できるような表示名を使用するよう努めてください。


図31-7は、表示名の構成が可能なマイルストンの作成ダイアログを示しています。

図31-7 表示名の構成

この図は、マイルストンの作成ダイアログを示しています。

ケース・タイトル

「プレーン・テキスト」オプションまたは「変換」オプションを使用してケース・タイトルを指定できます。「変換」オプションを選択した場合は、次のものを定義する必要があります。

図31-8は、「変換」オプションを使用して指定したタイトルを示しています。この例では、リソース・バンドルのキーはCaseTitleです。変換対象のテキストには、2つのパラメータ(Car rental for %1 %2)が含まれています。パラメータ値は、「引数」表に指定されています。

図31-8 ケース・タイトルのローカライズ・ダイアログ

この図は、ケース・タイトルのローカライズ・ダイアログを示しています。

ケース・カテゴリ

「プレーン・テキスト」オプションまたは「変換」オプションを使用してケース・カテゴリを指定できます。「変換」オプションでは、単純な変換文字列のみがサポートされています。

31.14.1 ローカライゼーションの構成方法

ケースを定義する各キーを指定してローカライズできます。

キーを追加してローカライズする手順は次のとおりです。

  1. ケースを編集します。

  2. 「変換」タブを選択します。

  3. 「変換」セクションを開きます。

    「変換」エディタが表示されます。

    図31-9に、「変換」エディタを示します。

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

  5. キーを識別する名前を入力します。

  6. デフォルト言語の値を入力します。

  7. 指定した言語の翻訳を入力します。

図31-9 「変換」エディタ

この図は、「変換」エディタを示しています。

31.14.2 CaseObjectのローカライズ

次のクラスは、CaseObjectクラスのサブタイプです。

  • CaseData

  • CaseDocumentObject

  • CaseEvent

  • CaseHeader

  • CaseMilestone

  • CaseStakeHolder

  • Comment

  • DatabaseDocument

CaseObjectクラスには、サブタイプと共有する次の属性が含まれています。

  • Id

  • CaseId

  • ObjectName

  • ObjectDisplayName

  • ObjectType

  • UpdatedBy

  • UpdatedByDisplayName

  • UpdatedDate

  • PermissionTag

このリストでは、ObjectDisplayNameにはローカライズされたObjectNameの値が含まれ、UpdatedByDisplayNameにはローカライズされたUpdatedByの値が含まれています。


注意:

初期状態では、UpdateByとUpdatedByDisplayNameには、CaseObjectを作成したユーザーの名前が含まれています。次に、ケースを最後に更新したユーザーの名前が格納されます。


31.15 ビジネス・ルールの使用

ビジネス・ルールを使用して、自動開始または手動開始のためにアクティブ化するケース・アクティビティを決定できます。また、ルールを使用してマイルストンを実行済または取消し済としてマークすることもできます。

ケースを作成すると、Oracle BPM Studioによって関連するビジネス・ルール・ディクショナリが自動的に生成されます。

Oracle BPMでは、すべてのケース・イベントに対してビジネス・ルールを適用します。ケース・イベントは、ケースの実行時に発生する論理イベントです。次のリストに、使用可能なケース・イベントを示します。

31.15.1 ビジネス・ルールの条件の定義

次のものに基づいてビジネス・ルールの条件を定義できます。

  • ビジネス・ルールを起動したイベント

    表31-2に、ビジネス・ルールを起動する可能性のある各種のイベントを示します。

  • ケース・インスタンス

  • ケース・データ

    ケースに構成されているケース・データは、ビジネス・ルール・ディクショナリ内のファクトとして使用できます。ルールは、ケース管理関連のファクトと組み合せたケース・データに基づいて作成できます。

表31-2 ケース・イベント

名前 説明 属性

CaseLifeCycleEvent

ライフサイクル・イベント

state、lifecycleEvent

CaseMilestoneEvent

マイルストン・イベント

milestone、type

CaseActivityEvent

アクティビティ・イベント

activityName、type

CaseDataEvent

データ・イベント

dataName

CaseDocumentEvent

ドキュメント・イベント

document、documentName、type

CaseCommentEvent

コメント・イベント

comment

UserDefinedEvent

ユーザー・イベント

eventName、event


図31-10は、ケース管理システム関連のデータに基づいたビジネス・ルールの条件の定義に使用できるファクトを示しています。

図31-10 ビジネス・ルール・ファクト

この図は、ビジネス・ルール・ファクトを示しています。

31.15.2 ケース内のビジネス・ルール・ディクショナリについて

ケースの作成時に作成されたビジネス・ルール・ディクショナリは、Oracle MDS内の共通ベース・ディクショナリにリンクされます。共通ベース・ディクショナリには、図31-10に示されているファクトがすべて含まれています。ベース・ディクショナリの名前は、CaseManagementBaseDictionaryです。

ケース・ビジネス・ルール・ディクショナリでは、次の操作がサポートされています。

  • ビジネス・ルールから条件付き自動アクティビティを自動的に起動する

  • ビジネス・ルールから条件付き手動アクティビティをタスク・ライブラリに公開する

  • ビジネス・ルールからアクティビティを取り消す

  • ビジネス・ルールからマイルストンを実行および取り消す

これらの操作の実行に使用する関数の詳細は、表31-3を参照してください。

31.15.3 ケース・ビジネス・ルール・ディクショナリの生成方法

ケースを作成すると、Oracle BPMによって関連するビジネス・ルール・ディクショナリが自動的に生成されます。このケース・ビジネス・ルール・ディクショナリを使用すると、ケースに基づいたルール条件でビジネス・ルールを定義できます。

ケース・ビジネス・ルール・ディクショナリを生成する手順は次のとおりです。

  1. ケースを作成します。

    ケースの作成方法の詳細は、第31.2.1項「ケースの作成方法」を参照してください。

    ケース・ルール・ディクショナリが表示されます。

  2. ケース・ビジネス・ルール・ディクショナリを開きます。

  3. ビジネス要件に従ってビジネス・ルールを作成します。

    表31-3に、ビジネス・ルール条件の作成時に使用できる各種の関数を示します。

表31-3 ルール関数

ルール関数 説明 パラメータ

activateActivity(String activityName)

条件付き自動ケース・アクティビティと条件付き手動ケース・アクティビティを起動します。

activityName: 起動するアクティビティの名前です。

withdrawActivity(String activityName)

ケース・アクティビティを取り消します。

activityName: 取り消すアクティビティの名前です。

reachMilestone(String milestoneName, String comments)

マイルストンを実行済としてマークします。

milestoneName: 実行済としてマークするマイルストンの名前です。

comments: このマイルストンを実行済としてマークする理由を示すコメントです。

revokeMilestone(String milestoneName, String comments)

マイルストンを取り消します。

milestoneName: 取り消すマイルストンの名前です。

comments: このマイルストンを取り消す理由を示すコメントです。


31.16 ケースのクローズ

ステークホルダーはケースをクローズできます。ケースのクローズは、ケースのステータスをクローズ済としてマークする論理操作です。CaseInstanceServiceクラスのcloseCaseメソッドを呼び出して、ケースをクローズできます。ケースをクローズするときに、オプションの結果パラメータとコメントを指定できます。

ケースの現在の状態およびケース・アクティビティの状態に関係なく、ケースをクローズできます。

ケースをクローズすると、そのケースの状態はCLOSEDに設定されます。queryCase APIを使用して取得するユーザーのケースのリストには、クローズ済ケースが含められます。


注意:

ケースをクローズまたは一時停止した後でも、マイルストンを実行または取り消すことができます。


31.17 Oracle BPMとの統合

31.17.1 BPMNプロセスからのケースの呼出し

BPMNプロセスからケースを呼び出すことができます。

BPMNプロセスからケースを呼び出す手順は次のとおりです。

  1. BPMプロセスにサービス・タスクを追加します。

  2. サービス・タスクを右クリックします。

  3. 「プロパティ」を選択します。

  4. 「実装」タブをクリックします。

  5. 「サービス・コール」lセクションで、「サービス」フィールドの隣の参照ボタンをクリックします。

  6. ケースを選択します。

  7. 「操作」リストから操作を選択します。

    使用可能な操作: abortCase、closeCase、reopenCase、suspendCase、resumeCase、attainMilestone、revokeMilestone

  8. データ・アソシエーションを使用して、case ID属性およびcomment属性に値を割り当てます。マイルストン操作の場合は、milestone属性にも値を割り当てます。

    データ・アソシエーションの詳細は、第II部「データ・アソシエーション・エディタの概要」を参照してください。


    注意:

    ケースIDは、ケースからBPMNプロセスを呼び出すときに自動的に値が割り当てられる事前定義済変数として用意されています。


31.17.2 ケース・イベントの公開方法

ケース管理エンジンは、イベントをOracle EDNに公開します。これらのイベントは、ケース内のシステム・イベントおよびユーザー・イベントをキャプチャします。システム・イベントには、ケース・ライフサイクル、ケース・アクティビティ・ライフサイクル、マイルストン、ドキュメントおよびコメント関連のイベントが含まれます。

これらのイベントをリスニングして、イベントに反応するようにプロセスを設計できます。Oracle BPMでのイベントの使用方法の詳細は、第V部「特定のシグナルに反応するプロセスの構成方法」を参照してください。

ケース・イベントを公開する手順は次のとおりです。

  1. ケース・エディタでケースを開きます。

  2. 「ユーザー・イベント」タブを選択します。

  3. 「ケース・イベントの公開」を選択します。


注意:

ケース・イベント定義は、oramds:/soa/shared/casemgmt/CaseEvent.edlにあります。

ケース・イベント・スキーマの詳細は、第31.18.4項「CaseEvent.edl」を参照してください。


31.17.3 ケース・イベントとの相関の使用方法

特定のイベントとの相関を使用する場合は、BPMNに基づいたケース・アクティビティからBPMNプロセスをトリガーできます。プロセスを開始するメッセージにcaseIdを渡し、それを相関キーとして使用する必要があります。

ケース・イベントとの相関を使用する手順は次のとおりです。

  1. 別のプロセスをトリガーする送信タスクを含むBPMNプロセスを作成します。

  2. 作成したプロセスのデータ・アソシエーションを編集して、事前定義済変数caseIdの値を送信タスクの引数に割り当てます。

  3. BPMNプロセスをケース・アクティビティに昇格させます。

  4. 相関イベントをリスニングするBPMNプロセスを作成します。

    メッセージ開始イベントでこのプロセスを開始し、メッセージ・キャッチを使用して相関イベントを受信できます。

  5. メッセージ開始イベントのプロパティを編集し、CaseId引数を定義します。

  6. 相関定義を編集して、CaseId引数を使用するように構成します。「開始」オプションを選択します。

  7. メッセージ・キャッチ・イベントのプロパティを編集し、CaseId変数を使用するように相関定義を構成します。

31.18 スキーマ例

この項には、次のスキーマが含まれています。

31.18.1 単純ワークフロー・ペイロード・スキーマ

例31-2

<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:extension="http://xmlns.oracle.com/bpm/case/metadata/extension"
            xmlns="http://xmlns.oracle.com/bpm/case/activity/custom"
            targetNamespace="http://xmlns.oracle.com/bpm/case/activity/custom"
            xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
            elementFormDefault="qualified" blockDefault="#all">
 <xsd:annotation>
  <xsd:documentation>Simple WF Activity Schema</xsd:documentation>
  <xsd:appinfo>
   <jaxb:schemaBindings>
    <jaxb:package name="oracle.bpm.casemgmt.customactivity.simplewf.model"/>
   </jaxb:schemaBindings>
   <jaxb:globalBindings generateElementClass="true" generateIsSetMethod="true">
    <jaxb:serializable uid="123456"/>
   </jaxb:globalBindings>
  </xsd:appinfo>
 </xsd:annotation>
 <xsd:import namespace="http://xmlns.oracle.com/bpm/case/metadata/extension"
             schemaLocation="ExtensibleElements.xsd"/>
 
<xsd:element name="SimpleWorkflowPayload" type="tSimpleWorkflowPayload"/>
 
<xsd:complexType name="tSimpleWorkflowPayload">
  <xsd:complexContent>
    <xsd:extension base="extension:tExtensibleElements">
       <xsd:sequence>
         <xsd:choice minOccurs="1" maxOccurs="1">
           <xsd:element name="simpleAssignmentType" type="tSimpleAssignmentType"/>
           <xsd:element name="sequentialAssignmentType" type="tSequentialAssignmentType"/>
           <xsd:element name="parallelAssignmentType" type="tParallelAssignmentType"/>
           <xsd:element name="fyiAssignmentType" type="tFyiAssignmentType"/>
         </xsd:choice>
         <xsd:element name="title" type="xsd:string" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="dueDate" type="xsd:date" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="priority" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="payloadType" type="tPayloadType" minOccurs="0" maxOccurs="1"/>
       </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>
 
<xsd:complexType name="tSimpleAssignmentType">
   <xsd:complexContent>
    <xsd:extension base="extension:tExtensibleElements">
      <xsd:sequence>
         <xsd:element name="assigneeType" type="tAssigneeType" minOccurs="1" maxOccurs="1"/>
      </xsd:sequence>
    </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>
 
<xsd:complexType name="tSequentialAssignmentType">
    <xsd:complexContent>
     <xsd:extension base="extension:tExtensibleElements">
       <xsd:sequence>
          <xsd:element name="assigneeType" type="tAssigneeType" minOccurs="1" maxOccurs="unbounded"/>
       </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
 
<xsd:complexType name="tFyiAssignmentType">
    <xsd:complexContent>
     <xsd:extension base="extension:tExtensibleElements">
        <xsd:sequence>
             <xsd:element name="assigneeType" type="tAssigneeType" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
 
<xsd:complexType name="tParallelAssignmentType">
    <xsd:complexContent>
     <xsd:extension base="extension:tExtensibleElements">
        <xsd:sequence>
          <xsd:element name="assigneeType" type="tAssigneeType" minOccurs="1" maxOccurs="unbounded"/>
          <xsd:element name="defaultOutcome" type="tOutcomeTypeEnum" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="completionCriteriaType" type="tCompletionCriteriaType" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="waitForAllVotes" type="xsd:boolean"/>
      </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
 
<xsd:complexType name="tCompletionCriteriaType">
 <xsd:complexContent>
  <xsd:extension base="extension:tExtensibleElements">
   <xsd:sequence>
      <xsd:element name="outcome" type="tOutcomeTypeEnum" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="outcomePercentage" type="xsd:integer" minOccurs="1" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>
 
<xsd:simpleType name="tOutcomeTypeEnum">
    <xsd:restriction base="xsd:string">
        <xsd:enumeration value="APPROVE"/>
        <xsd:enumeration value="REJECT"/>
    </xsd:restriction>
</xsd:simpleType>
 
<xsd:complexType name="tAssigneeType">
    <xsd:complexContent>
     <xsd:extension base="extension:tExtensibleElements">
       <xsd:sequence>
           <xsd:element name="identityName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           <xsd:element name="identityType" type="tIdentityTypeEnum" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
     </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>
 
<xsd:simpleType name="tIdentityTypeEnum">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="USER"/>
      <xsd:enumeration value="GROUP"/>
      <xsd:enumeration value="APPROLE"/>
    </xsd:restriction>
</xsd:simpleType>
 
 
<xsd:complexType name="tPayloadType">
    <xsd:complexContent>
     <xsd:extension base="extension:tExtensibleElements">
       <xsd:sequence>
           <xsd:element name="parameter" type="tParameterType" minOccurs="1" maxOccurs="unbounded"/>
       </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
 
 
<xsd:complexType name="tParameterType">
    <xsd:complexContent>
     <xsd:extension base="extension:tExtensibleElements">
       <xsd:sequence>
           <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           <xsd:element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
 
</xsd:schema>

31.18.2電子メール通知ペイロード・スキーマ

例31-3 電子メール通知ペイロード・スキーマ

<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:extension="http://xmlns.oracle.com/bpm/case/metadata/extension"
            xmlns="http://xmlns.oracle.com/bpm/case/activity/custom"
            targetNamespace="http://xmlns.oracle.com/bpm/case/activity/custom"
            xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
            elementFormDefault="qualified" blockDefault="#all">
 <xsd:annotation>
  <xsd:documentation>Email Activity Schema</xsd:documentation>
  <xsd:appinfo>
   <jaxb:schemaBindings>
    <jaxb:package name="oracle.bpm.casemgmt.customactivity.notification.model"/>
   </jaxb:schemaBindings>
   <jaxb:globalBindings generateElementClass="true" generateIsSetMethod="true">
    <jaxb:serializable uid="123456"/>
   </jaxb:globalBindings>
  </xsd:appinfo>
 </xsd:annotation>
 <xsd:import namespace="http://xmlns.oracle.com/bpm/case/metadata/extension"
             schemaLocation="ExtensibleElements.xsd"/>
 
 <xsd:element name="emailPayload" type="tEmailPayload"/>
  <xsd:complexType name="tEmailPayload">
   <xsd:complexContent>
    <xsd:extension base="extension:tExtensibleElements">
     <xsd:sequence>
       <xsd:element name="from" type="xsd:string" minOccurs="1" maxOccurs="1"/>
       <xsd:element name="to" type="xsd:string" minOccurs="1" maxOccurs="1"/>
       <xsd:element name="replyTo" type="xsd:string" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="cc" type="xsd:string" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="bcc" type="xsd:string" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="subject" type="xsd:string" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="message" type="xsd:string" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="attachments" type="tAttachment" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
 </xsd:complexType>
 
 <xsd:complexType name="tAttachment">
  <xsd:complexContent>
   <xsd:extension base="extension:tExtensibleElements">
    <xsd:sequence>
       <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
       <xsd:element name="mimeType" type="xsd:string" minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
   </xsd:extension>
  </xsd:complexContent>
 </xsd:complexType>
</xsd:schema>

31.18.3グローバル・ケース・アクティビティ・メタデータ・スキーマの例

例31-4 グローバル・ケース・アクティビティ・メタデータ・スキーマの例

<caseActivity targetNamespace="http://xmlns.oracle.com/bpm/case/activity"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://xmlns.oracle.com/bpm/case/activity ../../../../../interface/src/main/resources/schemas/CaseActivity.xsd"
              xmlns="http://xmlns.oracle.com/bpm/case/activity">
 <documentation xmlns="http://xmlns.oracle.com/bpm/case/metadata/extension"/>
 <name>SimpleWorkflowActivity</name>
 <activityDefinitionId>http://xmlns.oracle.com/bpm/case/activity/SimpleWFActivityDefinition</activityDefinitionId>
 <activityType>CUSTOM</activityType>
 <repeatable>true</repeatable>
 <required>false</required>
 <manual>true</manual>
 <isGlobal>true</isGlobal>
 <isConditional>false</isConditional>
 <caseAssociations>
   <documentation xmlns="http://xmlns.oracle.com/bpm/case/metadata/extension"/>
   <allCases/>
  </caseAssociations>
 <globalActivity>
  <definition>
   <documentation xmlns="http://xmlns.oracle.com/bpm/case/metadata/extension"/>
   <className>oracle.bpm.casemgmt.customactivity.simplewf.SimpleWFActivityCallback</className>
  </definition>
 </globalActivity>
</caseActivity>

31.18.4 CaseEvent.edl

例31-5 CaseEvent.edl

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://schemas.oracle.com/events/edl" targetNamespace="http://xmlns.oracle.com/bpm/case/event">
    <schema-import location="oramds:/soa/shared/casemgmt/CaseEvent.xsd" namespace="http://xmlns.oracle.com/bpm/case/event"/>
    <event-definition name="CaseEvent">
        <content xmlns:ns0="http://xmlns.oracle.com/bpm/case/event" element="ns0:caseEvent"/>
    </event-definition>
</definitions>