载入中
|
| 我的分类 |
载入中 |
| 日志更新 |
|
|
| 最新评论 |
|
|
| 站内搜索 |
载入中 |
| 留言板 |
载入中 |
| 链接 |
|
| 管理我的BLOG |
载入中 |
| Blog信息 |
载入中 |
(推荐!)
(不推荐)
|
|
| |
BPEL4People, HumanTask和BPEL2.0之间的关系
翔 发表于 2007-8-24 14:24:00 |
作为对BPEL的扩展,BPEL4People本来打算做一份规范,但是做到后面做成了两份,即BPEL4People和HumanTask,这两个规范要一起使用。下面我们用一个简单的例子说明它们之间的关系。
WS-BPEL2里定义了"extensionActivity",支持对标准BPEL进行扩展。BPEL4People则定义了一种特殊的extensionActivity,叫做peopleActivity,如下所示: <sequence> <extensionActivity> <b4p:peopleActivity name="electEmployeeOfTheMonth" inputVariable="candidates" outputVariable="vote" isSkipable="yes"> <htd:task name="votingTask"> ... </htd:task> <b4p:scheduledActions>...</b4p:scheduledActions> </b4p:peopleActivity> </extensionActivity> <assign> <copy> <from>$vote</from> <to>$electionResult/votes[i]</to> </copy> </assign> </sequence> 这个sequence先执行了一个peopleActivity,然后做了个赋值。注意peopleActivity是放在extensionActivity里面的,好让BPEL2.0引擎知道它是一个扩充活动。
BPEL4People仅仅定义了peopleActivity的接口,比如输入/输出变量,跟<invoke>的功能差不多,当然还定义了一些API函数用于取得一个peopleActivity的参数,比如可以通过getActualOwner得知,已经执行完毕的某个peopleActivity究竟是由哪个人做的。
而一个peopleActivity的主要细节,是通过WS-HumanTask来定义的,见上面例子中的<htd:task>部分。换句话说,BPEL4People规范的作用仅仅是连接WS-BPEL2.0和WS-HumanTask。下面是该HumanTask的具体内容: <htd:task name="votingTask"> <htd:interface operation="vote" portType="el:votingPT"/> <htd:peopleAssignments> <htd:potentialOwners> <htd:from>$voters/users/user[i]</htd:from> </htd:potentialOwners> </htd:peopleAssignments> <htd:presentationElements/> </htd:task> 这里只定义了该任务的potentialOwner,即哪些人有权限执行该任务;在<htd:task>里还可以定义很多细节,比如过多久之后会超时,超时后要执行什么动作(Escalation),等等。
可以说凡是跟“人”有关的东西,都定义在WS-HumanTask中。每个business process中可能需要定义一些角色,和一些人;这些"角色"和"人"也是由WS-HumanTask定义的,此外还预定义了几种角色,比如Administrator, Task initiator等。
总结一下,WS-HumanTask专注于“人”,与BPEL规范没有一点关系,甚至连名字都不一样——在BPEL中叫做Activity的东西到了这儿就变成了Task;而BPEL4People就是BPEL 2.0和HumanTask之间的桥梁。
要学习这两个规范,我建议先看WS-BPEL4People规范中的Appendix - D,这里给了个完整的例子。看过例子再读规范,就清楚得多了。
相关链接:BPEL4People规范阅读笔记
|
|
Re:BPEL4People, HumanTask和BPEL2.0之间的关系
zhaiyl(游客)发表评论于2007-8-29 9:51:00 |
不错,说得挺明白了 省了不少去读规范的时间了 |
|
Re:BPEL4People, HumanTask和BPEL2.0之间的关系
zhou(游客)发表评论于2007-8-27 16:47:00 |
哈哈哈哈哈哈哈.....完全不懂 |
|
Re:BPEL4People, HumanTask和BPEL2.0之间的关系
$(游客)发表评论于2007-8-27 16:22:00 |
哈哈哈哈哈哈.....完全不懂 |
|
|