Hitachi

uCosminexus Service Coordinator Interactive Workflow BPMN連携機能 使用の手引


1.3.3 BPMN要素のCSCIWでの扱われ方

〈この項の構成〉

(1) BPMN要素とCSCIWの変換概要

BPMN要素とCSCIWの変換について説明します。

BPMN要素であるタスクやイベントは,CSCIWの業務ステップ定義および作業定義に変換されます。変換された業務ステップ定義および作業定義の定義名は,変換元のBPMN要素のname属性値とid属性値を「_」(半角アンダースコア)でつないだ名称になります。ただし,以降の変換イメージの図では,定義名のid部分を省略して説明しています。

図1‒6 BPMN 要素とCSCIWの変換概要

[図データ]

注※1

サブプロセス(マルチインスタンス)に含まれるタスクやイベントの場合,業務ステップ定義名は「IW<インデクス>_<BPMN要素のname属性>_<BPMN要素のid属性>」となります。

注※2

タスクがマルチインスタンスである場合,作業定義名は「IWMW_STEP1_101」となります。

基本的に,タスクやイベントから変換された業務ステップ定義には,対応する作業定義が1つ生成されます。次の場合,作業定義は複数生成されます。

  1. 境界イベントが定義されている場合

    次の業務ステップ定義の場合,境界イベントを受信するための作業定義が追加されます。

    • 境界イベント(境界中断(メッセージ),境界非中断(メッセージ),または境界中断(エラー))が定義されたアクティビティ内のタスクやイベントから変換された業務ステップ定義

    • 境界中断(タイマー)または境界非中断(タイマー)が定義されたタスクから変換された業務ステップ定義

    追加する対象は,次のタスクやイベントから変換された業務ステップ定義です。

    • ユーザタスク

    • サービスタスク

    • ビジネスルールタスク

    • コールアクティビティ

    • キャッチ(メッセージ)

    • スロー(メッセージ)

    • 終了(メッセージ)

    • 排他イベントゲートウェイ

    • 終了(エラー)

  2. 排他イベントゲートウェイの場合

    排他イベントゲートウェイから変換された業務ステップ定義に,遷移先のすべてのイベントに対応した作業が生成されます。詳細は,「1.3.4 BPMN要素のCSCIWビジネスプロセス定義への変換の詳細」の「(28) 排他イベントゲートウェイ」を参照してください。

  3. マルチインスタンスの場合

    マルチインスタンスが定義されたアクティビティのタスクから変換された業務ステップ定義には,作業を動的に生成するための作業定義(並列作業)および作業定義(一般作業)が生成されます。生成される対象は,次のタスクから変換された業務ステップ定義です。

    • ユーザタスク(シーケンシャルマルチインスタンス)

    • ユーザタスク(パラレルマルチインスタンス)

    • サービスタスク(シーケンシャルマルチインスタンス)

    • サービスタスク(パラレルマルチインスタンス)

    • ビジネスルールタスク(シーケンシャルマルチインスタンス)

    • ビジネスルールタスク(パラレルマルチインスタンス)

    • コールアクティビティ(シーケンシャルマルチインスタンス)

    • コールアクティビティ(パラレルマルチインスタンス)

(2) BPMN要素とCSCIWの作業者

CSCIWの作業の作業者に設定される文字列について説明します。

CSCIWの作業の作業者には,ユーザタスクの場合はレーン名が,イベントの場合はmessageReferrorRefなどから生成された文字列が設定されます。ユーザタスクの作業者の決定方法については,「1.3.4 BPMN要素のCSCIWビジネスプロセス定義への変換の詳細」の「(1) ユーザタスク」を参照してください。

CIWServerクラスのgetWorkItemsListメソッドのフィルター条件に状態と作業者を指定することで,指定したユーザの作業(ユーザタスク)の一覧や,指定したイベントを受信待ちしている作業(キャッチなど)の一覧を取得できます。

表1‒4 BPMN要素とCSCIWの作業の作業者に設定される値

BPMN 要素

作業者

ユーザタスク

<レーン名>

サービスタスク

IWTOPE_<operationRef>

ビジネスルールタスク

IWTOPE_<operationRef>

コールアクティビティ

IWCALL_GLOBALBP

キャッチ(メッセージ)

IWRMSG_<messageRef>

境界中断(メッセージ)[受信用]

IWRMSG_<messageRef>

スロー(メッセージ)

IWTMSG_<messageRef>

終了(メッセージ)

IWTMSG_<messageRef>

排他イベントゲートウェイ[キャッチ(メッセージ)]

IWRMSG_<messageRef>

境界中断(エラー)[受信用]

IWRERR_<errorRef>

終了(エラー)

IWTERR_<errorRef>

境界非中断(メッセージ)[受信用]

IWRMSG_<messageRef>

キャッチ(タイマー)

IWTTIM_IWTransit

境界中断(タイマー)[受信用]

IWTTIM_IWTransit

境界非中断(タイマー)[受信用]

IWTTIM_IWTransit

イベント・サブプロセス中断開始(タイマー)[受信用]

IWTTIM_IWTransit

イベント・サブプロセス非中断開始(タイマー)[受信用]

IWTTIM_IWTransit

注※

<レーン名>の決定方法については,「1.3.4 BPMN要素のCSCIWビジネスプロセス定義への変換の詳細」の「(1) ユーザタスク」を参照してください。

(3) BPMNビジネスプロセス定義のCSCIWでの実行例

BPMNビジネスプロセス定義の実行例で使用する,BPMNビジネスプロセス定義の例を次の図に示します。

図1‒7 BPMNビジネスプロセス定義の例

[図データ]

図に示したビジネスプロセス定義で,申請結果受信が実行中の場合の業務ステップ一覧の例を示します。現在実行中のタスク・イベントに対応する業務ステップの状態は「d(実行中)」になります。実行済みのタスク・イベントに対応する業務ステップの状態は「t(遷移済)」になります。

表1‒5 BPMNのビジネスプロセスとCSCIWの業務ステップ一覧の例

案件ID

業務ステップID

業務ステップ定義名

状態

開始日時

終了日時

1001

2001

申請データ登録_101

t(遷移済)

2016/08/01

2016/08/01

1001

2002

審査_102

t(遷移済)

2016/08/01

2016/08/10

1001

2003

申請結果送信_103

t(遷移済)

2016/08/10

2016/08/15

1001

2004

申請結果受信_104

d(実行中)

2016/08/15

-

注※

実際の開始日時および終了日時には,時刻まで含まれます。

作業一覧の例を示します。現在実行中のタスク・イベントに対応する作業の状態は「j(実行開始可能)」になります。実行済みのタスク・イベントに対応する作業の状態は「r(実行済)」になります。

表1‒6 BPMNのビジネスプロセスとCSCIWの作業一覧の例

案件ID

作業ID

作業定義名

作業者

状態

作成日時

終了日時

1001

2001

申請データ登録_101

IWTOPE_operef001

r(実行済)

2016/08/01

2016/08/01

1001

2002

審査_102

審査者

r(実行済)

2016/08/01

2016/08/10

1001

2003

申請結果送信_103

IWTMSG_msgref001

r(実行済)

2016/08/10

2016/08/15

1001

2004

申請結果受信_104

IWRMSG_msgref002

j(実行開始可能)

2016/08/15

-

注※

実際の作成日時および終了日時には,時刻まで含まれます。

CIWServerクラスのgetWorkItemsListメソッドのフィルター条件に,「ProcessInstanceID=1001 AND Participant='IWRMSG_msgref002' AND StateCode='j'」と指定すると,指定したメッセージで受信待ちしている作業(イベント)を検索できます。