4.3. プロセスデザイナーでの BPMN2 タスク
タスクは、プロセスモデルに定義されている自動アクティビティーで、プロセスフロー内で最小の作業単位です。BPMN 2 仕様に定義されているタスクタイプで、Red Hat Process Automation Manager のプロセスデザイナーパレットで利用できるのは以下のとおりです。
- ビジネスルールタスク
- スクリプトタスク
- ユーザータスク
- サービスタスク
- タスクなし
表4.9 タスク
| ビジネスルールタスク |
|
| スクリプトタスク |
|
| ユーザータスク |
|
| サービスタスク |
|
| タスクなし |
|
さらに、BPMN2 仕様では、カスタムタスクの作成が可能になります。カスタムタスクの詳細は、「プロセスデザイナーでの BPMN2 カスタムタスク」を参照してください。
ビジネスルールタスク
ビジネスルールタスクは、DMN モデルまたはルールフローグループを使用して、意思決定を行う方法を定義します。

プロセスが DMN モデルで定義したビジネスルールタスクに到達したら、プロセスエンジンが、入力された内容を使用して DMN モデルを実行します。
プロセスがルールフローグループで定義したビジネスルールタスクに到達したら、プロセスエンジンは、定義済みのルールフローグループでルールの実行を開始します。ルールフローグループにアクティブなルールがない場合、実行は次の要素に移動します。ルールフローグループの実行中は、アクティブなルールフローグループに所属するアクティベーションは、他のルールで変更されるため、新たにアジェンダに追加できます。
スクリプトタスク
スクリプトタスクは、プロセス実行中に実行されるスクリプトを表します。

関連付けられたスクリプトは、プロセス変数やグローバル変数にアクセスできます。スクリプトタスクを使用する前に以下の一覧をレビューしてください。
- プロセスでは詳細にわたる実装の内容は回避してください。スクリプトタスクは、変数の操作に使用できますが、より複雑な操作をモデル化する場合にサービスタスクまたはカスタムタスクの使用を検討してください。
- スクリプトがすぐに実行されることを確認してください。すぐに実行しない場合は、非同期サービスタスクを使用してください。
- スクリプトタスクを使用して外部のサービスの問い合わせを回避してください。サービスタスクを使用して、外部サービスとの通信をモデル化します。
- スクリプトで例外が出力されないようにしてください。ランタイムの例外はスクリプト内などで、キャッチし、管理するか、プロセス内で処理できるシグナルまたはエラーに変換する必要があります。
実行中にスクリプトタスクに到達したら、スクリプトが実行され、外向きフローに移動します。
ユーザータスク
ユーザータスクは、システムで自動的に実行できないプロセスワークフローに含まれるタスクであるため、ユーザー (人間)、つまりアクターの介入が必要です。

実行時に、ユーザータスク要素は、1 つ以上のアクターのタスク一覧に表示されるタスクとしてインスタンス化されます。ユーザータスク要素で Groups 属性が定義されている場合に、このユーザータスク要素は、グループに所属する全ユーザー一覧に表示されます。このグループに所属するメンバーは誰でもタスクを要求できます。
タスクがクレームされると、他のユーザーのタスク一覧からこのタスクは消失します。
ユーザータスクは、ドメイン固有のタスクとして実装され、カスタムタスクのベースとして機能します。
サービスタスク
サービスタスクは、人間の介入を必要としないタスクです。これらは、外部のソフトウェアサービスによって自動的に完了します。

タスクなし
アクティベーション時に完了するタスクはありません。これは概念モデルのみです。タスクなしは、IT システムによって実際に実行されることはありません。
