Java开源工作流比较

来源:互联网 发布:mtcnn tensorflow 编辑:程序博客网 时间:2024/06/05 15:56

    1.大多数的工作流引擎并不能实现全部的接口,而且每个引擎的优点都分布在不同的接口上。如OBE的接口2实现的比较好,但没有实现接口4;Shark的接口5的实现是其它工作流引擎望尘莫及的。

    Process Definition Tool与Work Flow Enactment Service之间的接口就Interface 1------客户端程序通过Interface 2与引擎交互-----调用工作流机之外的功能,这时可通过定义好的Interface 3来完成

    2.WfMC和BPMI在2002年6月26日宣布将合作制定业务流程和工作流标准,即采用BPML来描述工作流过程,同时采用XPDL所定义的工作流模型。

开源工作流引擎--》

(1)用XML:   
    OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。其中包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。OFBiz先前的工作流引擎基于WfMC和OMG的规范,使用XPDL作为流程定义语言,OFBiz新版的工作流引擎采用Shark工作流引擎,我们不建议再去学习OFBiz自身的工作流引擎。
    OBE 是由Adrian Price主持开发的一个开放源码的Java工作流引擎,支持WfMC规范,包括接口1(XPDL)、接口2/3(WAPI)和接口5。OBE主要基于J2EE实现。OBE的接口1实现得非常好。OBE至今没有release版,很是可惜。
    Shark是完全根据WFMC规范实施的,可扩展功能的工作流引擎,它利用xpdl来定义流程,同时还包括服务器端的用于活动节点执行的WFMC工具代理API。Shark和XPDL定义工具的事实标准JAWE同出名门,市场前景被很多人看好。OFBiz新版的工作流引擎采用Shark工作流引擎.

(2)用Web服务:
    OpenebXML
    OpenebXML项目致力于提供一个ebXML框架,主要支持 UN/CEFACT和OASIS发布的ebXML规范2.0版。
    Bonita(**重点**结合Petri网模型)
    Bonita是一个符合WfMC规范、灵活的协同工作流系统。Bonita基于浏览器、使用SOAP和XML数据绑定技术的Web Services封装了已有的工作流业务方法并将它们以基于J2EE的Web Service形式发布。
    Twister
    Twister的目标是提供新一代、易集成、应用Java领域中最新成果、面向B2B的工作流解决方案。流程引擎基于BPEL业务流程规范和Web Service标准。
    ActiveBpel
    ActiveBPEL引擎是一个于今年7月发布的健壮的运行时环境,它能执行用户按BPWL4WS规范编写的业务流程。ActiveBPEL引擎由Active Endpoints公司开发和维护,该公司同时在它的多个商业产品中使用了该技术。本人将密切观注ActiveBPEL引擎的技术发展和产品状态。

(3)自由派:
    OSWorkflow
    OSWorkflow的最大特点是灵活
    OpenWFE
    OpenWFE是一个开放源码的Java工作流引擎。 它的思想来源于 Scheme,包括可升级的三个组件:引擎、工作列表和Web界面。
    jBpm(**研究一下**)
    jBpm是tom baeyens编写的一个灵活可扩展的工作流管理系统。jBmp将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBmp包括一个Web应用程序和一个日程安排程序。jBmp是一组J2SE组件,可以作为J2EE应用集群部署。国内目前有部分人研究jBpm。
    总结:
    1.Shark工作流引擎与XPDL定义工具JAWE关系密切,是研究重点之一。而MS/IBM/BEA等跨国巨头越来越主推BPEL4WS标准,并且已经发布基于BPEL4WS标准的系列产品,而且,他们还主推Integration/Portal的概念.
    2.可以看twister源码的基础上,做自己的工作流引擎。现在在做BPEL解析这部分,用dom4j解析器
    [引用]
    NativeXML的应用,在对XML文件进行create/query/update都比较多时很有用 BPEL的应用中,建模应该是在定义期的,运行期主要是query,这是一个开发模式问题而不是技术问题,所以采用前者可能对bpel的create和query的操作不是同一个人或同一组人,这样,我认为应该用前者.
    楼上说的好,虽然BPEL的目的并不只是workflow,但是我认为随着企业各种应用的增多,以WEBSERVICE为基础的BPM最终成为企业的首选;至于workflow,只能成为BPM的一部分而已。