工作流

开源的工作流引擎技术演进历史

第一代 2003年, jBPM 1.0发布。 运行环境:J2EE 过程定义语言:jPDL(当时工作流厂商都有各自的过程定义语言和建模工具) 当时的主流的技术: applets, Swing桌面和EJB 第二代 2004年,jBPM 2.0发布 同时jBPM加入JBoss基金会. 运行环境:任何JAVA环境(POJO实现过程运行时),不需要应用服务器 第三代 2005年, jBPM 3.0发布,支持BPEL 过程定义语言:过程虚拟机 架构: 与二代相比,架构发生了巨大变化。可以操作的业务功能大范围扩展,不仅通 过JAVA实现状态机,而且支持建模 HIBERNETE作为持久机制并同时提供会话对象的概念, 工作流引擎所有的相关性交互都纳入contextual block范畴 这为以后的工作流命令设计模式和命令拦截设计模式的广泛应用打下良好的基础 第四代 2009年, jBPM 4.0 alpha版发布. 过程虚拟机成功工作流引擎的核心。 过程定义语言:BPMN, jPDL 和 BPEL 因为团队人员离开并启动Activiti,正式版没能发布。 主要改进: 无状态的服务API 运行时和历史数据的分离: 保证运行时持久的性能 第五代 2010年, Activiti 1发布 改变: 版权从LGPL转到APACHE. 过程定义语言:BPMN(唯一) 从性能和扩展性加强PVM 多租户支持 轻量级架构 第六代 2017年,flowable 6.0发布。 改变: 过程模型:放弃PVM,使用原生BPMN, 实现真正的动态过程执行和复杂的过程迁移 数据远完全抽象:支持NoSQL