什么是工作流引擎
一个简单的例子:一辆汽车,外观很漂亮,但是如果发动机有问题,那就变成了一个摆设,势必会bug不断。
而应用系统的拓展性就好比汽车的引擎转速,别人的百公里加速只要10s,而你的则需要一个小时(业务流程变动需要更长时间的程序修改),孰优孰劣,一目了然。而如果引擎再动不动就熄火(程序逻辑死循环),那这样的车谁还会叫好呢?
开发一个优秀的软件系统,系统界面是最基础的部分,数据库之间的信息交换是必备条件,而根据业务需求开发出符合实际的程序逻辑,并在一定程度上保证其稳定性、易维护性才是根本。稳定性自不必说,易维护性则要保证模块化和结构化,这样可以在业务流程发生变化,例如决策权的改变、组织结构的变动时产生的全新业务逻辑,而工作流引擎解决的就是这个问题。
服务架构
面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。工作流引擎使得构建在各种这样的系统中的服务,可以以一种统一和通用的方式进行交互。
市面上主流几大工作流引擎
jBpm
jBpm是一个灵活可扩展的工作流管理系统。
1、jBPM3是一个完整的工作流系统实现,面向开发人员,目的在于简化对组织核心流程进行支撑的软件创建,不支持标准。
2、jBPM4引入PVM