33 適応型ケース管理の使用

ケース管理定義を作成および構成する方法を学習します。

33.1 適応型ケース管理の概要

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

次の特性が関連する作業のパターンをモデル化する場合、適応型ケース管理を使用します。

  • 人、コンテンツおよびポリシーの複雑な相互作用

  • 複雑な意思決定および判断

  • ケースの進行状況は、ユーザーの決定、アクション、イベントおよびポリシーに依存します

  • 実行時の変更(新しいステークホルダーを追加すると新しいアクションが有効になるなど)。

  • コンテキストドリブンの割当て(特定のアナリストが解決するケースの数およびそれらの解決にかかった時間に基づく割当てなど)

ケース管理を使用すると、構造化されていない非定型のプロセスを処理することができます。プロセスのコンテンツと情報を利用することで、ユーザーは情報に基づくビジネス・デシジョンを行うことができるようになります。ケース管理では、ワーカーの知識に依存したり、参加者が必要となる、予期しないビジネス・プロセスに焦点を合わせます。

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

  • 人。通常はケース・ワーカーまたはナレッジ・ワーカーと呼ばれます。

  • データ

  • ドキュメント

  • コラボレーション

  • レポート作成

  • 履歴

  • イベント

  • ポリシー

  • プロセス

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

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

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

  • ヒューマン・タスク

  • BPMNプロセス

  • カスタムJavaクラス

33.1.1 適応型ケース管理とビジネス・プロセスの違い

適応型ケース管理ではエンド・ユーザーが実行時にケース・フローを定義できますが、ビジネス・プロセスでは設計時にフローを定義する必要があります。適応型ケース管理では、ドキュメントとコンテキスト情報を使用して、実行時にケースのフローが決定されます。

表33-1は、適応型ケース管理とビジネス・プロセスの違いを示しています。

表33-1 適応型ケース管理とビジネス・プロセスの違い

適応型ケース管理 ビジネス・プロセス

データ中心

プロセス中心

ケースの作成からその終了状態までの、構造化されていない非定型の進行状況

プロセス・インスタンスが事前定義済ワークフローに従う

非確定的 - ケース・フローが実行時に動的に決定される

プロセス・フロー・ロジックが実行時に定義される

ケースはプロセスおよび分離されたタスクの集合で構成される

フロー・ロジックはプロセス・モデルで表現される

フローが目的によって決定され、ケース・ワーカーが特定の目標を満たすためにアクションを選択する

プロセスを自動化および改善して効率性が向上するようにフローが設計される

ナレッジ・ワーク・ベース

ルーチン・ワーク・ベース

コラボレーション環境

コラボレーション要件は優先事項ではない

ドキュメントに強く依存する

構造化データを使用する

33.1.2 適応型ケース管理のアーティファクト

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

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

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

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

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

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

  • ケース・ライフサイクル: ケース・ライフサイクルはケース状態(アクティブ、失効、一時停止中、中断済、クローズ済のいずれか)により反映されます。

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

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

  • サブケース: ケースの子タスクであり、親ケースの処理の一部として追加のアクティビティを生成する必要がある場合に使用されます。サブケースは実行時にインスタンス化され、ケース・アクティビティと似ていますが、親ケースからのみのデータを継承するという点が異なります。

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

33.1.3 ユースケース

適応型ケース管理は、多種の業界およびシナリオにおけるビジネス・プロセスをモデル化する場合に適しています。

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

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

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

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

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

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

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

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

33.1.4 ケース状態モデル

次の図は、作成からクローズまでの様々な状態を経過するケースのライフサイクルを示しています。

図33-1 ケース状態モデル

図33-1の説明が続きます
「図33-1 ケース状態モデル」の説明

33.2 ケースの作成

まだ1つもケースが含まれていない既存のBPMプロジェクトにケースを追加したり、ケースに新規のBPMプロジェクトを作成することもできます。

BPMプロジェクトごとに1つのケースのみを定義できます。

33.2.1 ケースの作成方法

ケースを作成するには、BPMプロジェクトを開くか新しいBPMプロジェクトを作成してから、ケースを作成する必要があります。BPMプロジェクトの作成方法の詳細は、「プロジェクトの作成および使用」を参照してください。

ケースを作成するには:

  1. 「ファイル」を選択します。
  2. 「新規」を選択します。
  3. 「BPM層」を選択します。
  4. 「ケース管理の作成」を選択します。

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

  5. ケースを識別する名前を入力します。
  6. オプションでネームスペースを入力します。
  7. 「OK」をクリックします。

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

33.3 ケースの構成

ケースを構成するには、ケース管理エディタを使用します。

図33-2は、ケース管理エディタを示しています。

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

図33-2の説明が続きます
「図33-2 ケース管理エディタ」の説明

33.3.1 ケースの編集方法

ケースを編集するには、ケース管理エディタを使用します。新しく作成したケースは、自動的にケース管理エディタに表示されます。既存のケースを編集するには、次の説明に従ってケース・ファイルを開きます。

ケースを編集するには:

  1. 「アプリケーション・ナビゲータ」を選択します。
  2. BPMNプロセスが含まれているプロジェクトを開きます。
  3. BPMNコンテンツ・フォルダを開きます。
  4. ケース・ファイルをダブルクリックします。

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

  5. ケースを編集します。参照:

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

ケースの一般プロパティを構成するには、「一般」タブを使用します。

「一般」タブには次のセクションが含まれています。

  • 一般プロパティ - このセクションを使用して、「タイトル」、「サマリー」(ケースの内容のテキスト・サマリー)、「優先度」(1(高)から5(低)までの値)、「カテゴリ」(「プレーン・テキスト」または「変換」に設定)を含むケースのプロパティを構成します。「ケースの一般プロパティの構成方法」を参照してください

  • 期限時刻 - 「期間」の値を使用してケース期日を指定します。

    「期間」は、静的な値(「値別」を選択)またはXPath式(「式別」を選択)として表すことができます。ケース期日は、ケースの開始日時から計算されます。

    「ビジネス・カレンダの使用」を選択し、組織単位を指定した場合(次を参照)、ケース期日は組織単位に関連付けられたビジネス・カレンダを使用して計算されます。それ以外の場合、通常のカレンダが使用されます。「ケース期限」を参照してください。

  • 組織単位 - ケースに関連付ける組織単位を選択します。これは静的な値(「値別」を選択)またはXPath式(「式別」を選択)として表すことができます。指定した組織単位のメンバーのみが、このメンバーが同時にステークホルダーとして指定されていても、ケースにアクセスできます。

  • マイルストン - ケースのマイルストンおよびそのプロパティを指定します。

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

    マイルストンにアクティビティまたは作業が直接関連付けられることはありません。

    マイルストンが失効可能であることを示すには、「失効可能」チェック・ボックスを使用します。失効できるのは、すでに実行が完了しているマイルストンのみです。これは、ケースの他の実行済マイルストンに影響しません。

    マイルストンの「期間」は、値またはXPath式を使用して設定できます。これは、マイルストンの開始日時に基づいてマイルストン期限を計算するために使用されます。「ケース期限」を参照してください。

    マイルストンの追加、編集、削除および並替えは、パネル内のコントロールを使用して行います。このパネルを使用して、マイルストンの「名前」、「Can be Revoked」の値、「期間タイプ」および「期間」を構成します。「ケース・マイルストンの追加方法」を参照してください。

  • 結果 - このセクションで、ケース結果を作成、編集および削除します。

    結果は、ケースの完了時にそのケースに割り当てられるユーザー定義の値です。たとえば、医療ケースの結果として考えられるのは、入院、退院、要再検などです。

    それぞれの結果に名前および表示名が含まれます。「ケース結果の定義方法」を参照してください。

33.4.1 ケース期限

ケースでは、2つのタイプの期限(ケース期日およびマイルストン期限)がサポートされています。これらはどちらも期間として表され、値またはXPath式として指定します。期間は、ケース管理エディタの「一般」タブで構成します。

ケース期日は、ケースの開始日時に基づいて、「期限時刻」パネルの「期間」フィールドで指定された値を使用して計算されます。ケース期日に到達すると、ケース期限イベントが発生します。

「ビジネス・カレンダの使用」を選択し、組織単位を指定した場合、ケース期日は組織単位に関連付けられたビジネス・カレンダを使用して計算されます。それ以外の場合、通常のカレンダが使用されます。

マイルストン期限は、マイルストンの開始日時に基づいて、「マイルストン」パネルのマイルストンの「期間」フィールドで指定された値を使用して計算されます。マイルストン期限に到達した時点でなおマイルストンがアクティブになっている場合、マイルストン期限イベントが発生します。

33.4.2 ケースの「一般」プロパティの構成方法

ケース管理エディタの「一般」タブを使用して、ケースの一般情報を指定します。

一般プロパティを構成するには:

  1. ケースを編集します。
  2. 「一般」タブを選択します。
  3. ケースのタイトルを指定します。
  4. 「優先度」リストから、優先度を選択します。

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

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

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

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

33.4.3 ケース・マイルストンの追加方法

ケースの進行状況を追跡するためのマイルストンを作成します。マイルストン名の間には空白を含めないでください。

マイルストンを追加するには:

  1. ケースを編集します。
  2. 「一般」タブを選択します。
  3. 「マイルストン」セクションを開きます。
  4. 「追加」をクリックします。
  5. マイルストンの名前を入力します。
  6. 「OK」をクリックします。

33.4.4 ケース結果の定義方法

ケース結果を定義する手順は次のとおりです。

  1. ケースを編集します。
  2. 「一般」タブを選択します。
  3. 「結果」セクションを開きます。
  4. 「追加」をクリックします。
  5. マイルストンの名前を入力します。
  6. 「OK」をクリックします。

33.5 ケースのデータおよびドキュメントの構成

データおよびドキュメントの格納は、ケース管理エディタの「データとドキュメント」タブで構成します。

ドキュメントがエンタープライズ・コンテンツ・マネージャに格納されるようにケースを構成できます。

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

ケースには1つ以上の関連ドキュメントを含めることができます。ステークホルダーは、適切な権限を持つ他のステークホルダーのみが表示または削除できるケース・ドキュメントをアップロードできます。

ドキュメントに対する操作を実行するには、Oracle Fusion Middleware Business Process Management Suite Java APIリファレンスで説明されているようにCaseStreamServiceを使用します。

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

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

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

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

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

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

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

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

  • BPMデータベース

    BPM DBをドキュメント・ストアとして使用している場合は、何も構成せずにケース・ドキュメントに対する権限タグを設定できます。「データ格納でのBPMデータベースの使用」を参照してください。

  • Oracle WebCenter Content

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

33.5.3 データ格納でのBPMデータベースの使用

データ格納にBPMデータベースを使用する場合は、動作にいくつかの違いがあります。

  • ケース設計で親ルート・フォルダおよびインスタンス・フォルダが指定されていない場合、ドキュメントの格納に使用されるフォルダは、ルート・フォルダと同様にスラッシュとして表示されます(たとえば、/)。

  • ケース設計で親ルート・フォルダおよびインスタンス・フォルダが指定されていない場合、ケースの起動中にcaseHeaderペイロード内のecmFolderタグの使用をオーバーライドすると(たとえば、caseroot)、ドキュメントの格納に使用されるフォルダは、ルート下のフォルダとして表示されます(たとえば、/caseroot)。

  • ケース設計で親ルート・フォルダおよびインスタンス・フォルダが指定されている場合、ドキュメントの格納に使用されるフォルダは、/parentFolderName/InstanceFolderNameです。ただし、親フォルダとインスタンス・フォルダがペイロードからオーバーライドされると、そのペイロードで指定されているフォルダが表示されます。

33.5.4 WebCenterケース・ドキュメントのケース・リンク

WebCenterに格納するケース・ドキュメントには、起点となるケースの詳細を表示するためのWebブラウザ・リンクを含めることができます。

この機能を使用する前に、WebCenterでCaseManagementLinkという名前のカスタム属性を作成する必要があります。「Oracle WebCenter Contentでのケース・フィールドの作成」を参照してください。

ケース・ドキュメントがWebCenterにアップロードされると、CaseManagementLinkが移入されます。

33.5.5 WebCenterケース・ドキュメントのケース・リンクのカスタマイズ

CaseManagementLinkプロパティの値は、Enterprise Managerの「ワークフロー」プロパティ構成で変更でき、これによりカスタム・ケース管理ユーザー・インタフェースの様々な使用方法がサポートされます。

ドキュメントが格納されてCaseManagementLinkプロパティが移入されたときに置換されるライブ値に、プレースホルダを使用できます。たとえば、ホスト名を表すために$hostを使用し、ポート番号を表すために$portを使用できます。これらのプレースホルダ値は、mdm-url-resolver.xml内で定義する必要があります。

mdm-url-resolver.xmlで追加の構成を行わなくても、$caseId$caseNumberの値はそれぞれの値で置換されます。

33.5.6 Oracle WebCenter Contentでのケース・フィールドの作成

Oracle WebCenterで、ケース情報をサポートするフィールドを使用前に作成する必要があります。これは、CaseManagementPermissionTagフィールドおよびCaseManagement Linkフィールドに適用されます。「ケース・ドキュメントの権限タグの指定」および「WebCenterケース・ドキュメントのケース・リンク」を参照してください。

Oracle WebCenter Contentでフィールドを作成するには:

  1. 「管理アプレット」ページで「構成マネージャ」アプレットを起動します。
  2. 「追加...」ボタンをクリックします。
  3. 「メタデータ・フィールド名」フィールドで名前を指定します(CaseManagementPermissionTagCaseManagementLinkなど)。
  4. 「OK」をクリックします。
  5. 「値が必要」チェック・ボックスが選択されていないことを確認し、「OK」をクリックしてデフォルト値を維持します。

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

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

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

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

ノート:

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

  • システム・スキーマ・タイプまたはシステム・タイプ(StartCaseInputMessageなど)に基づくケース・データの作成はサポートされていません。これにより、適応型ケース管理プロジェクトが破損する可能性があります。

ケース・データを構成するには:

  1. ケースを編集します。
  2. 「データとドキュメント」タブを選択します。
  3. 「データ」セクションを開きます。
  4. 「追加」をクリックします。

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

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

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

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

    ノート:

    • ケース・データでは単純データ・タイプがサポートされないため、リストに表示されません。

    • ADFで作成されるプロジェクトのケースまたはケース・アクティビティ・フォームのデータのみがリストに表示されます。

    • ケース・データ入力メッセージには、ケース・モデルで定義された名前とタイプを使用します。ルール・ファクトの初期化と対応するルールの実行は、ケース・データ・オブジェクトの名前とケース・データ・オブジェクトのタイプが一致するときにのみ正しく行われます。

    • dateTime要素がスキーマで選択されている場合、ケース・アクティビティとケース・データ・フォームには日付のみが表示され、時刻は表示されません。

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

33.5.8 ケース・フレックス・フィールドの構成

ケース・ペイロード・データにマップするフレックス・フィールドを構成できます。ケース管理エディタの「データとドキュメント」タブの「フレックス・フィールド」セクションを使用して、フレックス・フィールド変数をケース内のデータとリンクするフレックス・フィールド・マッピングを作成および編集します。

「更新可能」チェック・ボックスをクリアすると、フレックス・フィールドを変更不可に設定でき、これにより作成後も変更されないデータ(シリアル番号など)をサポートできます。

ケース・データを永続化すると、フレックス・フィールド・マッピングがチェックされて、リンクされたデータも永続化されます。

ケース・ペイロード・データへのマッピングを作成するだけでなく、実行時タスク構成でフレックス・フィールドをタスク・フィールドにマップする必要があります。

33.5.9 ケース・フレックス・フィールドの作成方法

ケース・フレックス・フィールド・マッピングを作成するには:

  1. ケースを編集します。
  2. 「データとドキュメント」タブを選択します。
  3. 「フレックス・フィールド」セクションを開きます。
  4. 「追加」をクリックします。

    「フレックス・フィールドの作成」ダイアログが表示されます。

  5. 「名前」、「タイプ」、「列名」および「ソース」に適切な情報を入力します。

    「タイプ」は、「文字列」、「数値」、「日付」のいずれかです。

  6. 「ソース」を指定します。「ソース」にXPath式を使用する場合は、「XPath」をクリックして「式ビルダー」ダイアログ・ボックスを開きます。
  7. フレックス・フィールド・データを作成後に変更可能にする場合は、「更新可能」を選択します。顧客IDやシリアル番号など変更しないデータの場合は、チェックを外したままにします。
  8. 「OK」をクリックします。

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

ケース管理エディタの「データとドキュメント」タブの「ドキュメント」セクションを使用して、ドキュメントの場所を構成します。ドキュメントの場所は、エンタープライズ・コンテンツ管理システム内のフォルダです。このフォルダに、ケース・インスタンスに関連するすべてのドキュメントが格納されます。このフォルダには他のフォルダが含まれることもあります。

ケース・ドキュメントのフォルダ名は、親フォルダ名と、ユーザーが指定したケース・インスタンスのフォルダ名を連結して作成されます。ケース・インスタンス・フォルダ名を指定する必要があり、そうしない場合は実行時に例外がトリガーされます。

ドキュメントの場所を構成するには:

  1. ケースを編集します。
  2. 「データとドキュメント」タブを選択します。
  3. 「ドキュメント」セクションを開きます。
  4. 「親フォルダ」フィールドで、次のいずれかのオプションを使用してケースのベース・フォルダ名を指定します。
    • 「名前別」を選択して、静的テキストを使用して親フォルダの場所を指定します。

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

    ノート:

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

  5. 「ケース・インスタンス・フォルダ」フィールドで、次のいずれかのオプションを使用して各ケース・インスタンスのフォルダ名を指定します。
    • 「名前別」を選択して、静的テキストを使用して親フォルダの場所を指定します。

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

    一般的には、XPATH式を使用して行われます。

    ノート:

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

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

    ノート:

    確実に「ケース・インスタンス・フォルダ」および「親フォルダ」を作成して指定した後に、コンテンツ管理システムを構成します。CMSが構成されない場合、ケースは作成されません。
  7. ドキュメント・プロパティを追加するには、「ドキュメントのプロパティ」パネルで「追加」をクリックします。

    「名前」、「値タイプ」(「値別」または「式別」)および「値」(値またはXPath式)を指定し、「OK」をクリックします。

33.5.11 Enterprise Content Managementの構成方法

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

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

  • Oracle WebCenter

  • Alfresco CMIS

これらのコンテンツ・マネージャを使用するには、BPMのインストール後にEMを使用してこれらを手動で構成する必要があります。

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

  • Oracle WebCenter

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

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

  • Alfresco CMIS

    エンドポイントURLの形式はhttp://alfresco_host:8080/alfresco/cmisatomにしてください

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

33.6 ケース・ユーザー・イベントの構成

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

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

33.6.1 ユーザー・イベントの追加方法

イベントを追加するには:

  1. ケースを編集します。
  2. 「ユーザー・イベント」タブを選択します。
  3. ダイアログの「ユーザー・イベント」セクションで、「追加」をクリックします。

    「ユーザー・イベントの作成」ダイアログ・ボックスが表示されます。

  4. イベントを識別する名前および表示名を入力します。
  5. 「OK」をクリックします。

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

33.6.2 ケース・ユーザー・イベントの公開方法

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

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

ケース・イベントを公開するには:

  1. ケース管理エディタでケースをオープンします。
  2. 「ユーザー・イベント」タブを選択します。
  3. 「ケース・イベントの公開」を選択します。

ノート:

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

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

33.7 ケースのステークホルダーおよび権限の定義

ケース管理エディタの「ステークホルダーと権限」タブを使用して、ステークホルダーおよびそれに関連する権限を作成、編集および削除します。権限モデルを使用すると、ステークホルダー権限とタグ権限の両方を定義できます。

定義するケースごとに複数のステークホルダーを定義できます。ケース・オブジェクトに対してアクションを実行できるのは、ステークホルダーのみです。ケースに組織単位を指定した場合は、指定した組織単位のメンバーのみが、このメンバーが同時にステークホルダーとして指定されていても、ケースにアクセスできます。

ステークホルダーの「メンバー・タイプ」は、「ユーザー」、「グループ」、「アプリケーション・ロール」または「プロセス・ロール」として構成できます。これらのステークホルダーの値は、「メンバー・タイプ」に適しています。たとえば、「ユーザー」ステークホルダーでは特定のユーザーIDを指定し、「グループ」ステークホルダーではLDAPディレクトリからの特定のユーザー・グループを指定します。

ステークホルダーの「値」は、特定の値を入力するか、またはXPATH式により指定できます。

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

ノート:

weblogicステークホルダーは、BPMOrganizationAdminロールの一部であり、すべての権限があります。このロールの一部であるユーザーには管理者権限があります。weblogicステークホルダーは、ユーザーがケースに追加されない場合でも、ケースの表示やケースに対するアクションの実行が可能です。

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

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

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

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

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

ノート:

ケース・ヘッダーのREAD権限はどこでも使用されず、権限の変更が影響を及ぼすことはありません。

33.7.1 ケース・ステークホルダーの追加方法

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

図33-3は、ケース管理エディタの「ステークホルダーと権限」タブを示しています。

ステークホルダーを追加するには:

  1. ケースを編集します。
  2. 「ステークホルダーと権限」タブを選択します。
  3. 「追加」をクリックします。

    「ステークホルダーの作成」ダイアログ・ボックスが表示されます。

  4. ステークホルダーを識別する名前および表示名を入力し、「OK」をクリックします。
  5. ステークホルダーを新しく作成する場合は、「追加」をクリックしてメンバーを追加し、「ユーザーの追加」、「グループの追加」、「アプリケーション・ロールの追加」または「プロセス・ロールの追加」のいずれかを選択します。
  6. 「メンバー・タイプ」リストから、メンバー・タイプを選択します。
  7. 「値タイプ」リストから、値フィールドの定義方法(「値別」または「式別」)を選択します。
  8. 「値タイプ」の選択内容に適した値(静的文字列またはXPath式)を指定します。

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

ノート:

ケース・ステークホルダー定義を削除しても、その基礎となる組織内のユーザー、ロール、グループまたはロールは削除されません。

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

図33-3の説明が続きます
「図33-3 Case Management Editorの「ステークホルダー」タブ」の説明

33.7.2 ケース権限の追加方法

ケース管理エディタの「ステークホルダーと権限」タブの「権限」セクションを使用して、ケースに固有の権限を定義します。

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

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

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

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

ノート:

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

権限を追加するには:

  1. ケースを編集します。
  2. 「ステークホルダーと権限」タブを選択します。
  3. 「権限」セクションを開きます。
  4. 「追加」をクリックします。
  5. 権限を識別する名前および表示名を入力します。
  6. 「OK」をクリックします。

33.7.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

33.8 ケース・タグ権限の定義

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

たとえば、PUBLIC、RESTRICTEDおよびHIGHLY_CONFIDENTIALという権限タグを指定してケースを定義できます。

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

たとえば、EURentというケースでEURent.RESTRICTED.UPDATEアクションを使用して、EURent.RESTRICTED.UPDATE.Roleロールをユーザーに付与する場合、ドキュメントにRESTRICTED権限タグを割り当てることができます。EURent.RESTRICTED.READ.Roleロールを持つユーザーのみが、そのドキュメントにアクセスできます。

ノート:

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

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

33.8.1 ケース・タグ権限の管理方法

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

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

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

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

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

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

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

33.9 ケースのローカライズ

実行時に表示されるときに様々な言語を使用するようにケースを構成できます。

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

  • ケース・タイトル

  • ケース・カテゴリ

  • マイルストン名

  • 結果

  • データ

  • ユーザー・イベント

  • ステークホルダー

  • 権限

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

ノート:

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

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

図33-4 マイルストン作成時の表示名の構成

図33-4の説明が続きます
「図33-4 マイルストン作成時の表示名の構成」の説明

ケース・タイトル

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

  • リソース・バンドルのキー

  • 変換対象のテキスト

  • タイトルを動的にするためのパラメータ(該当する場合)

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

図33-5 ケース・タイトルのローカライズ

図33-5の説明が続きます
「図33-5 ケース・タイトルのローカライズ」の説明

ケース・カテゴリ

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

33.9.1 ケース・ローカライゼーションの構成方法

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

ローカライゼーション・キーを追加するには:

  1. ケースを編集します。
  2. 「変換」タブを選択します。
  3. 「変換」セクションを開きます。

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

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

  4. 「追加」をクリックします。
  5. キーを識別する名前を入力します。
  6. デフォルト言語の値を入力します。
  7. 指定した言語の翻訳を入力します。

33.9.2 ケース・オブジェクトのローカライズ

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

  • CaseData

  • CaseDocumentObject

  • CaseEvent

  • CaseHeader

  • CaseMilestone

  • CaseStakeHolder

  • コメント

  • DatabaseDocument

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

  • Id

  • CaseId

  • ObjectName

  • ObjectDisplayName

  • ObjectType

  • UpdatedBy

  • UpdatedByDisplayName

  • UpdatedDate

  • PermissionTag

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

ノート:

初期状態では、UpdateByとUpdatedByDisplayNameには、CaseObjectを作成したユーザーの名前が含まれています。ユーザーがケースを更新すると、これらのフィールドには、そのケースを最後に更新したユーザーの名前が含まれます。

33.10 ケース・アクティビティおよびサブケース

ケース・アクティビティは、エンド・ユーザーがケースの一部として実行できるタスクをモデル化したものです。ケース・アクティビティは、ヒューマン・タスク、BPMNプロセスまたはカスタム・ケース・アクティビティのいずれかです。ケース・アクティビティは、ケース・ワーカーが実行する必要がある特定の作業を表します。

ケース・アクティビティはサブケースをモデル化できます。「サブケースの作成」を参照してください。

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

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

33.10.1 ケース・アクティビティおよびサブケースの属性

ケース・アクティビティおよびサブケースは、次の属性によって定義されます。

  • 手動でアクティブ化/自動的にアクティブ化

    手動でアクティブ化したケース・アクティビティはケース内で使用可能になり、ユーザーが呼び出すことができます。自動でアクティブ化されたケース・アクティビティは、システムによって呼び出されます。

  • 必須

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

  • 繰返し可能

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

  • 条件付きで使用可能

    条件付きで使用可能な手動アクティビティは、ビジネス・ルールによってアクティブ化されると、ライブラリ内で使用可能になります。条件なしで使用可能な手動アクティビティは、デフォルトで、ユーザーによって呼び出されるまでライブラリ内で使用可能です。

    繰返し可能アクティビティは、呼び出された後もライブラリに表示されます。条件なしの自動アクティビティは、Oracle BPMによってケースが開始された後に呼び出されます。

  • 権限

    「権限」の値は、ケース・アクティビティへのアクセスを指定します(たとえば、PUBLICまたはPRIVATE)。

ケース・アクティビティに入力パラメータおよび出力パラメータを指定できます。詳細は、「ケース・アクティビティの入力パラメータの追加方法」および「ケース・アクティビティの出力パラメータの追加方法」を参照してください。

サブケースではデータ・マッピングはサポートされておらず、その親ケースからのみデータが継承されます。「サブケースの作成」を参照してください

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

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

  • 単純ワークフロー

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

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

  • 電子メール通知

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

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

    ノート:

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

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

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

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

33.10.4 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プロセスの出力引数を読み取ってその値を格納するようにケース・アクティビティを構成することもできます。

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

33.10.5 BPMNプロセスの表示方法

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

ヒューマン・タスク操作を表示するには:

  1. ケースを開きます。

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

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

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

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

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

図33-7の説明が続きます
「図33-7 BPMNプロセスに基づいたケース・アクティビティの「拡張」タブ」の説明

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

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

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

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

  1. 「アプリケーション・ナビゲータ」を選択します。
  2. ヒューマン・タスクが含まれているプロジェクトを開きます。
  3. 「SOAコンテンツ」フォルダを開きます。
  4. ケース・アクティビティに昇格させるヒューマン・タスクを右クリックします。
  5. 「ケース・アクティビティとして促進」を選択します。

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

  6. ケース・アクティビティを識別する名前を入力します。
  7. ケースのユーザー・インタフェースに表示される表示名を入力します。
  8. 「OK」をクリックします。

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

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

ノート:

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

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

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

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

ヒューマン・タスク操作を表示するには:

  1. ケースを開きます。
  2. 「詳細設定」タブを選択します。
  3. ヒューマン・タスクを開くには、サービス参照をクリックします。

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

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

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

ケース・アクティビティを作成するには:

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

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

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

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

  5. ケース・アクティビティを識別する名前を入力します。
  6. ケースのユーザー・インタフェースに表示される表示名を入力します。
  7. 「クラス名」フィールドにJavaコールバック・クラスの名前を入力します。

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

    コールバック・クラスはコンポジットの一部である必要があります。そうでない場合は、ワークフロー・カスタマイズ・クラスパスにコールバック・クラスを追加する必要があります。

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

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

ノート:

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

33.10.9 サブケースの作成

サブケースを使用して、親ケースの解決に寄与するアクティビティを管理します。サブケースはケース・アクティビティと似ており、親ケースのコンテキスト内で実行時にインスタンス化されます。

たとえば、停電ケースのサブケースとしては回線修理が考えられます。親の停電ケースの進行中に、親ケースの作業で発見された必要な修理を促進するために、1つまたは複数の回線修理サブケースが開始されることがあります。

サブケースは、親ケース・プロジェクトから独立したコンポジットとしてデプロイされます。これらは、ケース・リンク・メカニズムを使用して親にリンクされます。サブケース・コンポジット・バージョンは常に、親コンポジットのアクティブ・バージョンです。

サブケースではデータ・マッピングはサポートされておらず、その親ケースからのみデータが継承されます。

サブケースが完了すると、アクティビティ完了イベントが発生します。ケース・アクティビティに適用される制約と同じ制約が、サブケース・アクティビティにも適用されます。

33.10.10 サブケースの作成方法

サブケースを作成するには:

  1. 「ファイル」を選択します。
  2. 「ギャラリから新規」を選択します。

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

  3. 「BPM層」を選択します。
  4. 「サブケース」を選択します。

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

  5. 「名前」、「プロジェクト名」および「ケース名」の値を指定します。
  6. 「OK」をクリックします。

    BPM Studioによってサブケース・アクティビティが作成され、ケース・アクティビティ・エディタに表示されます。「ケース・アクティビティおよびサブケースの属性」を参照してください。

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

入力パラメータは、ケース・データまたはユーザー入力にすることができます。

入力パラメータは、デフォルトでケース・データから値を取り込みます。ユーザー入力からその値が取り込まれるように、これを変更できます。

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

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

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

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

図33-8 BPMNプロセスに基づいたケース・アクティビティの入力パラメータ

図33-8の説明が続きます
「図33-8 BPMNプロセスに基づいたケース・アクティビティの入力パラメータ」の説明

33.11.1 ケース・アクティビティの入力パラメータの追加方法

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

ケース・アクティビティの入力パラメータを追加するには:

  1. 「ケース・アクティビティ入力」セクションを開きます。
  2. 「追加」をクリックします。
  3. パラメータを識別する名前を入力します。
  4. 必要に応じて、「ストア・データ」オプションを選択します。

    ノート:

    ケース・アクティビティの入力パラメータを追加した後にアクティビティ・フォームを再生成すると、データ・コントロールのみが生成されます。データ・コントロールの再生成オプションでは、jspxへのカスタマイズを保護するためのjspxは生成されません。

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

デフォルトでは、Oracle BPM Studioによって、BPMNプロセスまたはヒューマン・タスクの引数に基づいて出力引数が作成されます。編集可能なヒューマン・ワークフロー引数のみが出力引数としてケース・アクティビティに表示されます。

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

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

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

図33-9 BPMNプロセスに基づいたケース・アクティビティの出力パラメータ

図33-9の説明が続きます
「図33-9 BPMNプロセスに基づいたケース・アクティビティの出力パラメータ」の説明

33.12.1 ケース・アクティビティの出力パラメータの追加方法

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

出力パラメータを追加するには:

  1. 「出力」セクションを開きます。
  2. 「追加」をクリックします。
  3. パラメータを識別する名前を入力します。
  4. ネームスペースを入力します。
  5. 必要に応じて、「ストア・データ」オプションを選択します。

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

ケース・アクティビティを作成した後、BPM Studioの「ケース・アクティビティ」エディタにケースが表示され、構成できるようになります。

ケース・アクティビティのプロパティを構成することにより、ケース・ワークフロー中に様々方法で動作するようにケース・アクティビティを構成できます。

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

ケース・アクティビティを編集するには:

  1. 「アプリケーション・ナビゲータ」を選択します。
  2. BPMNプロセスが含まれているプロジェクトを開きます。
  3. BPMNコンテンツ・フォルダを開きます。
  4. ケース・アクティビティ・ファイルをダブルクリックします。

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

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

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

33.13.2 ケース・アクティビティの基本プロパティの構成

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

  • 自動

  • 必須

  • 繰返し可能

  • 条件付きで使用可能

これらの属性の詳細は、「ケース・アクティビティおよびサブケースの属性」を参照してください。

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

33.14 グローバル・ケース・アクティビティの作成

グローバル・ケース・アクティビティは、スコープ内でグローバルで、どのコンポジットの一部にもなっていないカスタム・ケース・アクティビティです。グローバル・アクティビティは、タイプに関係なくすべてのケースに適用されます。

グローバル・アクティビティはグローバル・フラグtrueによって識別されます。Oracle BPM Studioを使用してグローバル・アクティビティを設計することはできません。

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

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

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

例33-1は、グローバル・ケース・アクティビティの登録方法を示しています。

例33-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";

33.15 ケースでのビジネス・ルールの使用

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

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

適切なプラクティスとして、イベントに対してケース管理ルールを定義します。ケース管理ルールは、ルールのイベントで発生します。そのため、条件ではなくイベントで発生するルールを定義することをお薦めします。

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

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

  • マイルストン・イベント

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

  • データ・イベント

  • ドキュメント・イベント

  • コメント・イベント

  • ユーザー・イベント

ノート:

次の順序でルールをモデリングします
  1. イベント・タイプ

  2. アクティビティ名

  3. アクティビティ状態

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

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

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

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

  • ケース・インスタンス

  • ケース・データ

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

表33-3 ケース・イベント

名前 説明 属性

CaseLifeCycleEvent

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

state、lifecycleEvent

CaseMilestoneEvent

マイルストン・イベント

milestone、type

CaseActivityEvent

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

activityName、type

CaseDataEvent

データ・イベント

dataName

CaseDocumentEvent

ドキュメント・イベント

document、documentName、type

CaseCommentEvent

コメント・イベント

コメント

UserDefinedEvent

ユーザー・イベント

eventName、event

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

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

図33-10の説明が続きます
「図33-10 ビジネス・ルール・ファクト」の説明

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

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

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

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

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

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

    ノート:

    条件なしの手動アクティビティは取り下げられません。取り下げることができるのは、条件付き手動アクティビティだけです。
  • ビジネス・ルールからマイルストンを実行および取り消す

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

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

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

ケース・ビジネス・ルール・ディクショナリを生成するには:

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

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

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

  2. ケース・ビジネス・ルール・ディクショナリを開きます。
  3. ビジネス要件に従ってビジネス・ルールを作成します。

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

表33-4 ルール関数

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

activateActivity(String activityName)

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

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

withdrawActivity(String activityName)

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

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

setActivityRelevance(String activityName, String comments, tActivityRelevance relevance, tCaseActivityStatus caseAction)

ケース・アクティビティを評価します(評価の理由を含む)。

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

comments: 評価の理由。

relevance: ケース・アクティビティの評価(NONE、LOW、NORMALまたはHIGH)。

caseAction: 戻り時に関数により移入されます。

setActivityRepeatability(String activityName, Bool value, tCaseActivityStatus caseAction)

ケース・アクティビティが繰返し可能かどうか(true、false)を設定します。

activityName: ケース・アクティビティの名前。

value: TRUE - ケース・アクティビティは繰返し可能です。FALSE - ケース・アクティビティは繰返し不可です。

caseAction: 戻り時に関数により移入されます。

setActivityRequirement(String activityName, Bool value, tCaseActivityStatus caseAction)

ケース・アクティビティが必須かどうかを設定します。

activityName: ケース・アクティビティの名前。

value: TRUE - 必須のケース・アクティビティです。FALSE - 必須ではありません。

caseAction: 戻り時に関数により移入されます。

setActivityInitiationModel(String activityName, Bool value, tCaseActivityStatus caseAction)

ケース・アクティビティが自動的に開始されるかどうかを設定します。

activityName: ケース・アクティビティの名前。

value: TRUE - 自動的に開始されます。FALSE - 手動で開始します。

caseAction: 戻り時に関数により移入されます。

reachMilestone(String milestoneName, String comments)

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

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

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

revokeMilestone(String milestoneName, String comments)

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

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

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

33.16 ケースのクローズ

どのステークホルダーも、ケース内の必須アクティビティがすべて完了していれば、ケースをクローズできます。追加の権限を持つユーザーは、保留中の必須アクティビティがあっても、ケースを強制的にクローズできます。

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

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

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

ノート:

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

33.17 Oracle BPMとの統合

Oracle BPMと統合するには、BPMNプロセスからケースを呼び出すか、ケース・イベントをOracle EDNに公開します。

次に、これらのイベントに反応するプロセスを作成します。

33.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属性にも値を割り当てます。

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

    ノート:

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

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

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

ケース・イベントとの相関を使用するには:

  1. 別のプロセスをトリガーする送信タスクを含むBPMNプロセスを作成します。
  2. 作成したプロセスのデータ・アソシエーションを編集して、事前定義済変数caseIdの値を送信タスクの引数に割り当てます。
  3. BPMNプロセスをケース・アクティビティに昇格させます。
  4. 相関イベントをリスニングするBPMNプロセスを作成します。

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

  5. メッセージ開始イベントのプロパティを編集し、CaseId引数を定義します。
  6. 相関定義を編集して、CaseId引数を使用するように構成します。「開始」オプションを選択します。
  7. メッセージ・キャッチ・イベントのプロパティを編集し、CaseId変数を使用するように相関定義を構成します。

33.18 スキーマ・リファレンス

この項では、単純ワークフロー・スキーマ、電子メール通知スキーマ、およびグローバル・ケース・アクティビティ・メタデータ・スキーマの例を示します。

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

例33-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>

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

例33-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="ject" 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>

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

例33-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>

33.18.4 CaseEvent.edl

例33-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>