工作流框架osworkflow, jBPM和Activiti,该如何选择

最近要做一个工作流项目,看到五花八门的工作流java框架一阵眼晕,研究了很久发现大家用这三个是比较多的。请问大家这三个应该如何选择呢?麻烦大家给点建议。

阅读 17.4k
1 个回答

最近我也在研究工作流引擎,个人觉得Activiti比较好。
优点:

  1. Activiti数据持久化使用的是MyBatis,从而可以通过最优的SQL语句执行Command,使引擎在速度上保持最高性能。
  2. Activiti原生支持Spring,使企业应用可以轻松进行Spring集成,非常方便管理事务和解析表达式。
  3. Activiti专门设计了用来设计BPMN2.0规范的流程设计器Eclipse Designer,此外还有基于Web的Activiti Modeler流程设计器。
  4. 在表结构设计上遵循运行时与历史数据的分离,可以快速读取运行时数据,仅当需要查询历史数据时再从专门的历史数据表中读取。大大的提高了数据的存取效率
  5. Activiti在国内比较受欢迎,社区活跃,网上共享的技术资源多。
  6. 提供基于REST风格的Activiti Explorer用于管理仓库、用户、组、启动流程、任务办理等。

缺点:

  1. Activiti 对表单的支持目前还是比较弱的,流程表单设计还是需要开发人员去处理。
  2. 学习成本,Activiti的简单demo实验不难,但是若想结合实际业务灵活使用Activiti,需要花费不少时间。
  3. Activiti实现了BPMN 2.0规范,因此大部分业务场景下的业务流程都能支持。但是这样就导致数据库系统较为庞大,默认的数据库表已经23张。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进