BPEL4People的全称是WS-BPEL Extension for People,是
BPEL在人工活动方面的扩展。
简介
BPEL4People扩展了
BPEL,从只能编排
Web服务,扩展为同时支持对Web服务和基于角色的人工活动进行编排。
历史
2005年7月,IBM和SAP在一个联合白皮书中提出BPEL4People。2007年6月,Active Endpoints, Adobe, BEA, IBM, Oracle和SAP共同发布了BPEL4People和WS-HumanTask规范,描述了BPEL过程中如何进行人员的交互。
目标
在业务流程方面, BPEL4People通过以额外的独立语法和
语义扩展BPEL,提供了支持基于角色的人员交互、提供将人员活动指派给人员角色的方法等功能。
BPEL4People 规范对四种人工交互模式都提供了相应的支持方案:
1.四只眼原则
四眼原则也称之为职责划分原则,是在两个或两个以上人员独立参与决策的业务情形中常见的一种业务场景,尤其在银行金融、医疗保险等行业领域中。在这些业务场景中,由于考虑安全因素,用户可能不允许知道其他哪些人参与到决策中,从而避免人员之间的共谋。
2.任务任命
任务表示了人员所要执行的工作,它也描述了任务启动或完成所期望的特定时间范围。如果任务没有按照预期执行,例如执行该任务的人员突然生病不能坚持工作,或者任务工作量远远大于预期工作承受度,那么此时就需要任务升级的机制。
当任务没有按照预期执行,任务升级就会发生,通过人员分配机制告知一个或多个人员被作为任务升级的接收人。通知的机制既可以是及时通讯如聊天等,也可以是非及时通许如发送 E-Mail、短信息等。
任务升级还可以形成一个升级链,例如第一个升级可能是给一线经理的,如果任务仍然落后于时间进度,那么第二个升级则可能会给二线经理。这样任务升级在不同的阶段、不同情形下赋予给不同的人员,从而形成了任务升级链。
3.任务升级
有时候具体由谁执行任务并不明确,这种情形往往表现为任务的监管人员根据任务的性质、人员的技能等,手动指定任务的执行者。更复杂的业务场景则可能是这种指定规则本身也需要一个协作的决策制定过程。也就是说,人员任命需要多人共同参与决定。
4.执行链
任务执行链是指同一个人员按照一定顺序步骤执行的流程片断。这种流程片断有的可能在执行前预知,但也有的是在流程的执行过程中才决定的。人员在执行完每一步任务之后,需要返回到任务列表并刷新,才能发现新的任务项。BPEL4People规范提供了一种“短路”的机制,允许用户执行诸如“完成并宣称下一个任务”等并发的动作。基于该规范实现的工具也会提供基于向导的用户界面,帮助用户更好地按照一定顺序执行任务。