• 从程序猿的角度来看为什么我们须要工作流


         每个程序猿,在接触到工作流的时候,都会有这么一个疑问——我用一般的方法能够实现,为什么还要用工作流?
      
         我以前也问过这个问题,只是如今略微有点明确了。别着急要答案,看过以下的样例,也许你也就明确一些了。

         这是一个简单的业务——订货流程:

    1. 客户提交採购订单

    2. 业务员运行订单处理

    3. 假设缺货,转工厂生产
             
    4. 仓库出货

    5. 物流发货


        假设不使用工作流技术,从头開始开发这个订购流程的业务逻辑,我们须要:
    • 每一个活动点都须要开发交互页面和后台处理程序

    • 每一个活动的流转都须要硬性推断下一步活动节点及其操作人

    • 每次操作都须要维护业务数据和流程的相关数据

        终于结果就是这样:


         这还不包含监视、控制、分析流程的部分。

         可是,假设我们使用了工作流

       这样看起来就简单多了。右側的工作流管理系统,接管了全部订货业务在流程方面的定义和运行。这样做的优点非常多:
    • 使用专门的流程数据系统,维护全部涉及流程流转的数据。

    • 提供“流程设计”工具,帮助用户定义订货流程的模型,并且一般都提供了可视化的界面。

    • 全部的流程都依靠流程引擎来处理,避免了需求更改与硬编码之间矛盾产生。

    • 工作流引擎还提供了众多的API,能够非常方便的将工作流的管理和业务操作完美结合。

       所以在合适的项目中引入工作流技术,对于基础开发来说,是很故意处的:
    • 减少开发风险
            通过使用诸如活动、流转、状态、行为这种术语,使得业务分析师和开发者使用同一种语言交谈成为可能。优秀的流程设计建模工具,甚至能使开发者不必将用户需求转化成具体设计文档。
    • 流程实现的集中统一
            应对业务流程常常变化的情况,使用工作流技术的最大优点是使业务流程的实现代码,不再散落在各式各样的业务系统中。
    • 加速开发
            开发人员不用再关注流程的參与者、活动节点的衔接、流转控制……由于这些工作非常多被工作流框架接管了。因而开发人员开发起来更快、代码出错更少、系统更加easy维护。
    • 提升对迭代开发的支持
            假设系统中业务流程部分被硬编码,就不easy更改,需求分析师就会花费非常大的精力在开发前的业务分析中,而且希望一次成功。但可悲的是,在不论什么软件项目开发中,这都非常少能实现。工作流管理系统使得业务流程非常easy部署和又一次编排,业务流程相关的应用开发能够以一种“迭代/渐进”的方式推进,也就是说工作流技术在某种程度上支持“需求分析不必一次全然成功”。



  • 相关阅读:
    “三本主义”引领中国式管理
    “赢”销有道
    3分钟打动客户:电话销售实战技能训练
    乌合之众文摘
    Android Log工具类
    IOC原理
    解决header,footer等HTML5标签在IE(IE6/IE7/IE8)无效的方法
    让浏览器不再显示 https 页面中的 http 请求警报<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    用meta name="renderer" content="webkit|ie-comp|ie-stand"来切换360双核安全浏览器的极速模式和兼容模式
    前端开发的正确姿势——各种文件的目录结构规划及引用
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4032955.html
Copyright © 2020-2023  润新知