如果比较人工活动,WS-BPEL会说:我的主人没安排过我做这个工作呀。
BPEL的主要是用来支持基于Web service的自动化业务流程,没有任何有关人工活动的内容。但构成业务流程的活动的种类超过WS-BPEL的定义,如业务流程往往需要人工参与执行, WS-BPEL也没有考虑任务列表等问题。
为了支持人工交互的流程,需要对WS-BPEL进行扩展。事实上大多数WS-BPEL厂商的产品都自行扩展了human workflow的支持,一般借助是BPEL异步服务调用的方式变通实现。
WS-BPEL的制定者(IBM/SAP/BEA)最近也制定了BPEL4People、WS-HumanTask等规范进行补充,并与2007年8月发布草稿供业界预览,尚未正式提交给OASIS组织。
BPEL4People的提交为解决SOA在业务流程人工活动类型方面的难题向前迈了一步,但有一个很大的问题是,BPEL4People作为BPEL的 扩展,仍然难以改变其基础的块状底层语言结构,BPEL4People相关规范更多是在宏观方面对人工活动进行了描述,其宏观场景也超过了WfMC,但作 为最初草案其对人工活动的支持细节方面距离WfMC还有些差距。
下面这段是翻译过来的(从一个XPDL的极端支持者那里,SORRY,出处忘记了):
目前,BPEL4People不足以表述现实世界中人工流程的复杂交互场景。例如,该规范没有任何流程版本或流程移植的内容。在现实情况中,一个业务流程 往往持续很长时间,而这期间,来自法律、客户或竞争对手的各种变化需要这些流程进行调整,人工交互的系统对此有非常迫切的需求。 然而从另外一个方面,如果相信80/20原则,创造机遇的流程往往是一些简单的常用的任务,不需要复杂的BPM逻辑。相比使用BPM级别的业务流程,这些 任务使用服务编排可能已经足够了。