[jbpm]WS-HumanTask ナナメ読み

今日もナナメ読みー
http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel4people/WS-HumanTask_v1.pdf

1 Introduction

2 Language Design

3 Concepts

3.1 Generic Human Roles

次のようなロールがある。Task stakeholdersとBusiness administratorsがちょっとピンとこない

  • Task initiator
  • Task stakeholders
  • Potential owners
  • Actual owner
  • Excluded owners
  • Business administrators
  • Notification recipients
3.2 Assigning People

人をタスクにアサインします

3.2.1 Using Logical People Groups

グループを定義。実行時にグループが評価され、タスクに実際の人がアサインされる。

3.3 Task Rendering

人間がタスクを扱う際にはUIが必要です

  • Task-description UI
  • Task list UI
  • Task-UI
3.4 Task Instance Data

データは以下の3カテゴリ

3.4.1 Presentation Data

表示用

3.4.2 Context Data

ステートとかロールのvalueとか

3.4.3 Operational Data

インプット、アウトプットデータとか

4 Human Tasks

要素の定義。

4.6 Elements for Handling Timeouts and Escalations

タスク開始およびタスク完了に対してDeadlineを決められる。守れなければエスカレーション発生

4.7 Human Task Behavior and State Transitions

タスクのライフサイクル。重要。図あり。
基本の流れは (生成されたら)-> Created (複数のpotential ownerがいれば)-> Ready (ひとりのpotential ownerがいれば)-> Reserved (タスクをstartしたら)-> InProgress (タスクが完了したら)-> Completed
あとタスクを

  • Release (タスクを放棄してReadyに戻す)
  • Delegate (他人にやらせる。Reservedになる)
  • Forward (自分をpotential ownerから除いて、他人をpotential ownerに突っ込む。Ready状態で行う)
  • Suspend (タスクを中断)
  • Resume (Suspendから復帰)
  • Skip (このタスクはもういらない、とする。タスクはObsoleteになる。これは good outcome)
  • Terminate (このタスクはもういらない、とする。タスクはObsoleteになる。Skipといまいち違いが分からん)

できる。
エラーになったらErrorステート。

5 Notifications

Notificationします

6 Programming Interfaces

6.1 Operations for Client Applications

クライアントアプリが使うオペレーション、そのAuthorizationなどがずらずら

7 Interoperable Protocol for Advanced Interaction with Human Tasks

WS-Coordinationに則ったプロトコルって言い方で合ってんのかなー。後回しだー

8 Providing Callback Information for Human Tasks

WS-AddressingのEPR(endpoint reference)のモデルを拡張します。そんで、コールバック(呼出側は、タスク処理のレスポンスをコールバックで受け取る必要がある)に使います。

9 Security Considerations

セキュリティの実装方法に特に指定無し

Appendix長い。スキーマWSDL、サンプルなど。