工作流的概念
WFMC: 工作流管理联盟. 对工作流的定义: 全部或者部分由计算机支持或者处理的业务过程.
WFMS: 工作流管理系统. 对工作流的目标: 管理工作的流程以确保工作在正确的时间被期望的人员执行, 在自动化进行的业务过程中插入人工执行的干预(例如 同意或不同意), 这就是工作流程管理系统的价值.
从开发者角度理解工作流技术
我们使用订货流程来举例:
- 客户提交采购订单
- 业务员执行订单处理
- 如果缺货, 转工厂生产
- 仓库出货
- 物流发货
流程图看起来应该是这个样子的:
第一种情况, 我们没有使用工作流框架的情况下. 每一步流程可能都需要一个界面来操作. 还有就是我们需要自己来实现流转控制, 数据持久化.
可能有人会有这样的疑问, 说我可以在订单处理系统中加入判断, 判断仓库是不是缺货, 然直接进行流转啊.
是的, 这样做是完全可以的. 如果你这么做的话, 已经就是自动化进行业务处理了.
下面我们看看第二种情况, 使用工作流框架的情况下. 我们会使用流程定义工具将流程画出来, 然后再由流程引擎, 帮我们创建流程实例并启动该流程, 在流程执行过程中, 数据会自动帮我们持久化. 这也意味着所有的工作流框架都有属于自己的表.