每一个信息化开发人员,在接触到工作流的时候,都会有这么一个疑问——我用一般的方法可以实现,为什么还要用工作流?
我曾经也问过这个问题,不过现在稍微有点明白了。别着急要答案,看过下面的例子,或许你也就明白一些了。
这是一个简单的业务——订货流程:

1、客户提交采购订单

2、业务员执行订单处理

3、如果缺货,转工厂生产

4、仓库出货

5、物流发货

如果不使用工作流技术,从头开始开发这个订购流程的业务逻辑,我们需要:
每个活动点都需要开发交互页面和后台处理程序
每个活动的流转都需要硬性判断下一步活动节点及其操作人
每次操作都需要维护业务数据和流程的相关数据
最终结果就是这样:

这还不包括监视、控制、分析流程的部分。
但是,如果我们使用了工作流

这样看起来就简单多了。右侧的工作流管理系统,接管了所有订货业务在流程方面的定义和执行。这样做的好处很多:
使用专门的流程数据系统,维护所有涉及流程流转的数据。
提供“流程设计”工具,帮助用户定义订货流程的模型,而且一般都提供了可视化的界面。
所有的流程都依靠流程引擎来处理,避免了需求更改与硬编码之间矛盾的产生。
工作流引擎还提供了众多的API,可以很方便的将工作流的管理和业务操作完美结合。
所以在合适的项目中引入工作流技术,对于基础开发来说,是非常有益处的:
降低开发风险
通过使用诸如活动、流转、状态、行为这样的术语,使得业务分析师和开发人员使用同一种语言交谈成为可能。优秀的流程设计建模工具,甚至能使开发人员不必将用户需求转化成详细设计文档。
流程实现的集中统一
应对业务流程经常变化的情况,使用工作流技术的最大好处是使业务流程的实现代码,不再散落在各式各样的业务系统中。
加速开发
开发者不用再关注流程的参与者、活动节点的衔接、流转控制……因为这些工作很多被工作流框架接管了。因而开发者开发起来更快、代码出错更少、系统更加容易维护。
提升对迭代开发的支持

如果系统中业务流程部分被硬编码,就不容易更改,需求分析师就会花费很大的精力在开发前的业务分析中,并且希望一次成功。但可悲的是,在任何软件项目开发中,这都很少能实现。工作流管理系统使得业务流程很容易部署和重新编排,业务流程相关的应用开发可以以一种“迭代/渐进”的方式推进,也就是说工作流技术在某种程度上支持“需求分析不必一次完全成功”。

原文链接:http://www.pinhuba.com/workflow/101141.htm

为什么我们需要工作流相关推荐

  1. Amazon SageMaker和NVIDIA NGC加速AI和ML工作流

    Amazon SageMaker和NVIDIA NGC加速AI和ML工作流 从自动驾驶汽车到药物发现,人工智能正成为主流,并迅速渗透到每个行业.但是,开发和部署AI应用程序是一项具有挑战性的工作.该过 ...

  2. Git基本命令和GitFlow工作流

    本篇博客讲解了git的一些基本的团队协作命令,和GitFlow工作流指南 git 团队协作的一些命令 1.开分支 git branch 新分支名 例如,在master分支下,新开一个开发分支: git ...

  3. SharePoint 工作流解决方案(一):顺序工作流和状态机工作流

    SharePoint 的工作流是基于 Workflow Foundation 的,我们就先谈谈 WF,只有对 WF 有正确的认识,才能找到 SharePoint 工作流的解决方案. Workflow ...

  4. .net之工作流工程展示及代码分享(二)工作流引擎

    在介绍完表单类的时候,接下来介绍工作流引擎,主要由四个类组成,分别是流程.流程步骤.流程实例.流程步骤实例类. 流程类: 1 [Serializable] 2 public class Flow 3 ...

  5. (广州)软件开发定制服务,工作流引擎 OA 库存管理系统

    本人专注于工作流的研究设计同时提供软件开发定制服务,工作流引擎 OA系统 库存管理系统 如果有机会合作共事请联系:15817167503(本人在广州) QQ:1311663711 加时请注明软件定制 ...

  6. 开始升级我的工作流系统

    终于做完了自定义工作流审批系统的第一个版本,可以说是熬完的,因为真的费了不少力气.不过也慢慢发现设计和实现中的很多问题,便想把它改进一下,改为用.net2.0和sql server2005开发,并想遵 ...

  7. E8.Net 2005工作流平台版本发布

    2007年2月,完成了EPowerFlow.Net2003版本升级到E8.Net2005版本的工作,今后E8.Net工作流平台就可以使用Microsoft Visual Studio 2005(SP1 ...

  8. activiti工作流连接mysql_Activiti工作流 安装myeclipse activiti设计插件并生成数据库表...

    从零开始学习Activiti工作流,记录下学习过程. 关于工作流的简介没什么好介绍了,只能说是个很有用的东西,数据库中23张表分别有什么用网上也有很详细的介绍,这里也不多加说明.activiti开发中 ...

  9. 多个前端项目放在一个git好还是_前端工作流

    没有规矩不成方圆,如果一个项目只有你一个人在维护,那么你不需要担心很多问题,因为你对它心知肚明,但同时一个人的力量无法支撑起来大型项目.更多时候,我们需要与其他人合作,共同把项目推进,这意味着我们需要 ...

  10. SharePoint 2016 工作流报错“没有适用于此应用程序的地址”

    前言 最近为SharePoint 2016配置工作流,创建工作流的过程中遇到这样一个错误,记录分享下来,希望能够为有需要的人带来帮助. 错误截图 创建完毕工作流,发布的时候报错,保存没有问题. 错误信 ...

最新文章

  1. Vue+element UI实现“回到顶部”按钮组件
  2. Swift中的选项集合
  3. 构建iscsi网络存储服务
  4. scanf 返回值_scanf函数
  5. centos 升级php5.5_CentOS 5.x 系统yum 升级php到5.2.x的方法(测试可用)
  6. 浅谈智能电网的建设 软件开发
  7. 助力泵嗡嗡响解决方法_突破不可能,3D打印革命性的制造高效高扭矩的径向活塞泵...
  8. Windows环境下32位汇编语言程序设计笔记-基础篇
  9. 【综述笔记】Graph Neural Networks in Recommender Systems
  10. Xshell5 访问虚拟机Ubuntu16.04
  11. 深入浅出通信原理知识点5
  12. WordPress主题仿什么值得买风格模板源码
  13. CAJ阅读器相关问题
  14. 鸡年生的男宝宝取什么名字好?为宝宝起名也有小技巧
  15. WSL:关闭WSL【vmmem 进程占用CPU资源的解决办法】
  16. ubuntu下安装gfortran
  17. STM32RTC简单万年历制作
  18. 第十三届蓝桥杯B组python(试题A:排列字母)
  19. 【记忆法笔记】02数字记忆法 记忆大师的记忆方法是什么?
  20. Linux我的世界一键开服

热门文章

  1. centos7的virbr0问题
  2. 面试分享:两年工作经验成功面试阿里P6总结
  3. 基于SSM框架的个性化眼镜线上销售系统+论文第三稿+已降重+包安装配置
  4. 新买的显卡什么软件测试好坏,显卡买回来后怎么检测它的质量? – 手机爱问...
  5. Redis 如何使用 Twemproxy 和 Sentinel 构建高可用集群架构?
  6. 大语言模型的最新研究方向综述
  7. 谜一般的设计模式:工厂方法模式和抽象工厂模式
  8. 计算机配色与人工配色原则,计算机调色与人工调色如何选择?
  9. jsp连接mysql详解
  10. SpringBoot项目测试时报NullPointException报错