【是什么】
工作流是一类能够完全或者部分自动执行的经营过程,它根据一些列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。
工作流程:流程就是一组活动按照一定顺序组成的序列流,简单说,流程就是一个实实在在的办事的过程。
对比一下就可以发现,工作流程和工作流这两个概念的不同之处,工作流程是完成一件事的先后顺序,工作流是一类工作流程的集合,是对常用的业务进一步的抽象封装,并且加入了自动执行这个约束。
【为什么】
为什么使用工作流?每个事物的兴起都是因为需求,因为更好的解决了一些问题。先来看看工作流可以解决什么问题。
①工作流更直观易懂(如图)
- //吃饭代码:
- public void 吃饭()
- {
- if 想自己做饭
- do 去超市买食材;
- do 付钱;
- do 做饭;
- else if{
- do 去饭点吃;
- do 付钱;
- }
- else{
- do 蹭饭;
- }
- do 吃饭;
- }
②工作流更灵活
工作流引擎包括了流程的节点管理、流向管理、流程样例管理等重要功能,使得工作流可以随机应变,应对各种突发事件。例如,我吃饭的时候没带现金,我可以加一个刷卡,如果我没带卡,我可以直接手机支付等。
【有什么】
工作流大致有三类,顺序工作流、流程图工作流、状态机工作流(上图为典型的流程图工作流,下面两图为顺序工作流和状态机工作流)
【总结】
了解了工作流,感觉并没有想象中那么神秘,工作流是对一类工作流程的抽象封装,但是它灵活多变,可以根据实际情况自动执行。下一步实现应用!