JBPM2.0 vs WFMOpen1.3
史朗
2023-12-01
以下是本人在学习两个工作流系统时做了一些粗略的对比,不对之处请指正!
JBPM与WFMOPEN规范的比较
JBPM
采用自己的流程定义(JPDL),虽然针对性强,灵活度高,但由于没有提供规范接口,从而不易于与其它工作流引擎进行交互使用.
WFMOPEN
整体构架严格遵循WFMC与OMG制定的接口标准.
JBPM与WFMOPEN流程定义语言的比较
JBPM(JPDL)
商务逻辑定义采用自己定义的JPDL.
JBPM把整个业务流程看成UML状态图(图).
JPDL描述的是流程的过程,是通过状态表示,流程由以下元素组成(图)
JBPM与WFMOPEN流程定义语言的比较
WFMOPEN(XPDL)
商务逻辑定义采用业界标准XPDL.
XPDL把一个业务流程看成一个UML活动图(图)
JBPM与WFMOPEN辅助工具的比较
JBPM
对于JBPM来说最大的缺点就是辅助工具太少,很多东西要自己定义.
表现在:
没有图形画的流程监控工具.
流程图形画定义工具太弱.
与其他系统集成时是需要特别编写代码
WFMOPEN
同JBPM相比,WFMOPEN有较强的流程图形化定义工具(JAWE).
WFMOPEN还提供一个管理平台以便对流程进行监控以及一个工作平台.
可以通过AGENT TOOL方便的与其他业务系统集成
JBPM与WFMOPEN运行机制的比较
角色的分配
JBPM
角色在processdefinition.xml 被定义,当流程到了某一个State时,可以通过调用已定义的AssignmentHandler进行识别和分配.
WFMOPEN
首先根据人来创建一个资源,然后根据这个资源来得到与这个资源相关的Activity.
JBPM与WFMOPEN运行机制的比较
与Application的交互
JBPM
如果流程中的某一步需要调用一个外部应用时, 必须在ActionHandler实现调用.
WFMOPEN
提供了一组工具代理(JBPM所不具备的),工具代理就相当于给工作流引擎加了一个Wrapper,加上它又支持业界标准,能够做到与Application分开,也就是说当Application要参与到流程中时,只需在应用集中扩展相应属性即可.
结论
虽然现在出的JBPM3.0 Alpha比起JBPM2.0有了不少改进,如提供流程编辑器,JPDL中多引进了一些元素,但本质上还是没有什么变化,并不支持规范标准,尽管有预测JBPM3.0最终将支持BPEL4WS,但目前还没有,此外它是Alpha版的, 综合上述,WFMOPEN更接近于一个成熟的工作流产品.