从程序员的角度来看为什么我们需要工作流
来源:互联网 发布:淘宝号安全风险 编辑:程序博客网 时间:2024/05/17 22:59
每一个程序员,在接触到工作流的时候,都会有这么一个疑问——我用一般的方法可以实现,为什么还要用工作流?
我曾经也问过这个问题,不过现在稍微有点明白了。别着急要答案,看过下面的例子,或许你也就明白一些了。
这是一个简单的业务——订货流程:
- 客户提交采购订单
- 业务员执行订单处理
- 如果缺货,转工厂生产
- 仓库出货
- 物流发货
如果不使用工作流技术,从头开始开发这个订购流程的业务逻辑,我们需要:
- 每个活动点都需要开发交互页面和后台处理程序
- 每个活动的流转都需要硬性判断下一步活动节点及其操作人
- 每次操作都需要维护业务数据和流程的相关数据
最终结果就是这样:
这还不包括监视、控制、分析流程的部分。
但是,如果我们使用了工作流
这样看起来就简单多了。右侧的工作流管理系统,接管了所有订货业务在流程方面的定义和执行。这样做的好处很多:
- 使用专门的流程数据系统,维护所有涉及流程流转的数据。
- 提供“流程设计”工具,帮助用户定义订货流程的模型,而且一般都提供了可视化的界面。
- 所有的流程都依靠流程引擎来处理,避免了需求更改与硬编码之间矛盾的产生。
- 工作流引擎还提供了众多的API,可以很方便的将工作流的管理和业务操作完美结合。
所以在合适的项目中引入工作流技术,对于基础开发来说,是非常有益处的:
- 降低开发风险
通过使用诸如活动、流转、状态、行为这样的术语,使得业务分析师和开发人员使用同一种语言交谈成为可能。优秀的流程设计建模工具,甚至能使开发人员不必将用户需求转化成详细设计文档。
- 流程实现的集中统一
应对业务流程经常变化的情况,使用工作流技术的最大好处是使业务流程的实现代码,不再散落在各式各样的业务系统中。
- 加速开发
开发者不用再关注流程的参与者、活动节点的衔接、流转控制……因为这些工作很多被工作流框架接管了。因而开发者开发起来更快、代码出错更少、系统更加容易维护。
- 提升对迭代开发的支持
如果系统中业务流程部分被硬编码,就不容易更改,需求分析师就会花费很大的精力在开发前的业务分析中,并且希望一次成功。但可悲的是,在任何软件项目开发中,这都很少能实现。工作流管理系统使得业务流程很容易部署和重新编排,业务流程相关的应用开发可以以一种“迭代/渐进”的方式推进,也就是说工作流技术在某种程度上支持“需求分析不必一次完全成功”。
9 1
- 从程序员的角度来看为什么我们需要工作流
- 从程序员的角度来看为什么我们需要工作流 .
- 从程序员的角度来看为什么我们需要工作流
- 从程序员的角度来看DNA
- 为什么我们需要工作流
- 从风险管理的角度来看是否需要个性化推荐
- 程序员从美学角度来看待编写的代码
- 程序员从美学角度来看待编写的代码
- 从嵌入式LINUX下的C程序员角度来看编程
- 从建筑的角度来看编程
- 从产品的角度来看单车大战
- 我们需要更多的眼睛来看这个世界
- 从内存模型的角度来看C++多态实现机制和C++析构函数为什么要用虚函数
- 我们为什么选择工作流
- 我们为什么选择工作流?
- 从调试的角度来看callback的使用
- 从初学者自学的角度来看栈的四则运算
- 代码分析你的网站从SEO的角度来看
- 黑马程序员 java学习笔记(day04)
- 使用Composer安装Yii(win7)
- 怎么使用 UBOOT 来启动 rtems
- gtk+3.0的环境配置及基于gtk+3.0的python简单例子
- ios颜色渐变
- 从程序员的角度来看为什么我们需要工作流
- 对java封装特性的一些浅薄认识
- 用wkhtmltopdf生成highcharts图表不美观,需要设置相应参数
- SQL聚集索引与非聚集索引总结2
- 今日作息及食谱(6.25)
- Linux命令自己写 — ls
- LeetCode 66 Valid Number
- Codeforces 10C Digital Root 规律题
- 单向链表反转(java)