第8章 タスク管理

JBPM の中心的な役割は、プロセスの実行を永続化 することです。この機能はタスクやユーザー向けのタスクリストを管理したい場合に大変有用です。JBPM は全体的なプロセスを記述するソフトウェアのコンポーネントを指定することができます。このようなソフトウェアのコンポーネントではヒューマンタスクに対して待機状態を持つことができます。

8.1. タスク

タスクはプロセス定義の一部で、プロセス実行中にどのようにタスクインスタンスを作成、割り当てるかを定義します。
タスクは、task-nodeprocess-definition 内で定義できます。 最も一般的な方法は、1つ以上のtasktask-nodeで定義することです。その場合、task-node は、 ユーザが行うタスクを表現し、プロセス実行は、アクターがタスクを終了するまで待機するはずです。 アクターがタスクを終了した時、プロセス実行は、継続します。 task-node により多くのタスクが定義されたとき、 デフォルトの動作は、すべてのタスクが終了するまで待機します。
タスクは、process-definition上にも指定できます。 プロセス定義に指定されたタスクは、 名前でルックアップされ、task-node の中から参照されるか、 またはアクションの中から利用することができます。 実は、すべての名前付きタスク(task-nodeでも)は、process-definition内で名前でルックアップできます。
タスク名は、プロセス定義全体で一意でなければいけません。 また、タスクには、priority を設定できます。 このタスク向けに作成された各タスクインスタンスに対し、優先順位の初期値として利用されます (後ほど、この初期の優先順位を変更することも可能です)。