2024年4月20日发(作者:)

项目

服务商

标准

版本

开源

资源文档

学习成本

灵活性

扩展性

设计器

用户模型

后台服务

持久层

JBPM

JBOSS

1.自定义的jPDL标准

2.支持BPEL/BPEL4WS扩展

3.基于状态图+活动图+PetriNet模型,

活动图遵循UML2.0

3.1.4

JBOSS开源

文档全面详细

容易学习

OsWorkflow

opensymphony

基于有限状态机概念。

状态转换通过Action

Shark

OpenWFE

Enhydra

1.完全基于WFMC和OMG规范的

工作流

作为自己的过程定义语2.流程文件为自定义

流程配置

调用接口

获取业务数据

功能

大数据量性能优

2.8.01.7.2与1.7.3per0

开源2.0以后版本,部分组件不开开源,BSD license

文档不是很详细,有较多网络资相对较少有使用文档,无源码API

有较多的配置,刚开始较难掌握比较容易学习学习成本高

shark1.0是一款纯粹的工作流

很灵活很灵活引擎,代码量较少,易于阅读较灵活

、易于改写、易于维护。

扩展性好扩展性好,但较为繁琐模块间独立性很强,扩展性好扩展性好

基于Eclipse的流程设计器自带GUI设计器,Java编制Jawe基于Eclipse插件

自带简单的用户模型,可以扩展到自定有自己的用户模型,可以扩展实

自己带用户模型

义的用户模型,用户变更需要处理在途现

带后台管理服务,需要部署带web后台处理工作列

支持内存、序列化、JDBC、EJB和

基于Hibernate的持久层,扩展自己的实DODS作持久化存储工具,也许

Ofbiz存储,很容易扩展自己的实JDBC xml存取

现比较复杂在大量数据应用时会出现问题

JPDL/BPEL/PageFlow,流程定义清晰简

单,支持状态图、事件、任务、分配、定义流程模型-定义流

通过配置XML文件来配置,也可以客户自定义的java类作为流程

泳道、处理器、上下文环境变量、脚本程参与者-定义存储区-

通过GUI设计器变量来使用

、异步处理、日程管理配置、JCR文档管定义流程-分配权限

理、异步同步消息、EMAIL

对外提供接口调用,支

调用接口简单提供了很多方便的接口

持rmi

可以通过上下文环境和任务控制器,向

任务传递业务数据,系统自动保存流程

状态和上下文环境。如果业务信息量

大,可以只传递关键信息,通过这些信

息在从数据库中检索详细信息,展示给

需要修改代码,处理分页数据,复杂的

查询审批逻辑比较困难

第 1 页,共 2 页

项目

任务分配:分配

给用户和岗位;

分配算法

会审

动态协作、代理

撤销,退回

JBPM

支持对用户和岗位分配任务,用户只能

处理自己的任务,可以获取所属的岗位

的任务集合,并添加到自己的任务队列

中,如果需要退回给岗位中的其他人处

理,只需要把该任务的用户ID去掉。复

杂的分配算法需要自己实现。

可以在流程中配置,需要扩展实现

需要自己扩展实现

可以配置退回,撤销,复杂的需要扩展

实现

OsWorkflowShark

OpenWFE

分配流程参与者不同权

支持多用户操作

不支持

部分支持取消流程,不

支持反向流程

表单定制比较弱,只是用来定

义各环节的输入/输出的数

据,不涉及布局的设置。提供

的数据类型也有限

1.在WEB应用中、在SWING应用

中、作为CORBA服务、在EJB容

器中……可以单独部署为服务,

2.非常可配置的,所有的内在也可以嵌入到应用中。

接口,包括核心部分都能够被

其他实现所替换

不同语言进行不同的部署

支持Java, Perl, PHP,

Python, Ruby, Visual

Basic,.net,多平台实

表单定制

应用集成

1.J2SE组件,可以作为J2EE应用集群部

署,很容易集成JBOSS的其它组件。

2.第三方扩展可以和Spring集成。

1.内置Spring集成

2.可以和Glue、Xfire/CXF这些

WebService框架集成

部署维护

市场应用

如果是嵌入式集成,则和应用一起部署

1.国内在逐渐推广JBPM,人气也逐渐提

高。

在企业ERP开发中得到广泛应用

/IBM/BEA将主推BPEL4WS标准,JBPM

作为实现了该标准的开源工作流,在

国内应用较多

第 2 页,共 2 页