从程序员的角度来看为什么我们需要工作流

     每一个程序员,在接触到工作流的时候,都会有这么一个疑问——我用一般的方法可以实现,为什么还要用工作流?

  

     我曾经也问过这个问题,不过现在稍微有点明白了。别着急要答案,看过下面的例子,或许你也就明白一些了。

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

  1. 客户提交采购订单
  2. 业务员执行订单处理
  3. 如果缺货,转工厂生产

           
  4. 仓库出货
  5. 物流发货

    如果不使用工作流技术,从头开始开发这个订购流程的业务逻辑,我们需要:

  • 每个活动点都需要开发交互页面和后台处理程序
  • 每个活动的流转都需要硬性判断下一步活动节点及其操作人
  • 每次操作都需要维护业务数据和流程的相关数据

    最终结果就是这样:

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

     但是,如果我们使用了工作流

   这样看起来就简单多了。右侧的工作流管理系统,接管了所有订货业务在流程方面的定义和执行。这样做的好处很多:

  • 使用专门的流程数据系统,维护所有涉及流程流转的数据。
  • 提供“流程设计”工具,帮助用户定义订货流程的模型,而且一般都提供了可视化的界面。
  • 所有的流程都依靠流程引擎来处理,避免了需求更改与硬编码之间矛盾的产生。
  • 工作流引擎还提供了众多的API,可以很方便的将工作流的管理和业务操作完美结合。

   所以在合适的项目中引入工作流技术,对于基础开发来说,是非常有益处的:

  • 降低开发风险

        通过使用诸如活动、流转、状态、行为这样的术语,使得业务分析师和开发人员使用同一种语言交谈成为可能。优秀的流程设计建模工具,甚至能使开发人员不必将用户需求转化成详细设计文档。

  • 流程实现的集中统一

        应对业务流程经常变化的情况,使用工作流技术的最大好处是使业务流程的实现代码,不再散落在各式各样的业务系统中。

  • 加速开发

        开发者不用再关注流程的参与者、活动节点的衔接、流转控制……因为这些工作很多被工作流框架接管了。因而开发者开发起来更快、代码出错更少、系统更加容易维护。

  • 提升对迭代开发的支持

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

时间: 2024-07-28 20:29:56

从程序员的角度来看为什么我们需要工作流的相关文章

从程序员的角度分析微信小程序

昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200个邀请号,和我预想的一样,张小龙并没有翻我牌,难道就不能雨露均沾吗? 先来了解下什么是微信小程序. 转自知乎 微信也许重申了"我们是一款约炮软件" 微信还提供了一大堆接口和组件(不好意思,说了句废话). 下面是禅叔的观点: 小程序原理就是用JS调用底层native组件,和React Nat

从程序员的角度谈创业三年的亲身体会

在创业三年时间里作为联合创始人,虽然拿着大家均等的股份,我始终是没有什么话语权的,但是,这也给了我从旁观者的角度看清整个局面的机会.创业公司的成败绝大程度取决于技术大牛和公司 Leader,这两个人最好能在性格上形成互补,而遗憾的是我们公司是同一人. 关于决定是否创业 2012年4月,正好三年前整,在深圳能源正混的郁郁不得志的时候,大学的好兄弟找到我一起创业,他们有钱.有 idea,就是差人,当时的我还是技术菜鸟,本科学的也不是计算机,看着移动互联网蓬勃的发展羡慕不已.很快就答应了一起干,因为心

从程序员的角度谈创业三年(转)

    摘要:在创业三年时间里作为联合创始人,虽然拿着大家均等的股份,我始终是没有什么话语权的,但是,这也给了我从旁观者的角度看清整个局面的机会.创业公司的成败绝大程度取决于技术大牛和公司 Leader,这两个人最好能在性格上形成互补,而遗憾的是我们公司是同一人.         关于决定是否创业         2012年4月,正好三年前整,在深圳能源正混的郁郁不得志的时候,大学的好兄弟找到我一起创业,他们有钱.有 idea,就是差人,当时的我还是技术菜鸟,本科学的也不是计算机,看着移动互联网

从一个程序员的角度来谈网站SEO

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 以前在公司主要从事网站功能的开发以及维护工作,但刚刚接到新的任务,经理让我搞下网站优化方面的工作,以前虽然接触过网站优化,但那都是浮云,飘然而过了.经理既然让你做了,就硬着头皮做呗,从开始搞,到现在现在,已经一段时间了,就一个技术员的角度来谈谈自己的一些seo见解,对那些不懂程序的站长一些意见. 在这里我就不说title.descriptio

“奔三”了,程序员,你该怎么选择未来的路?

其实对于程序员这个行业到底是不是吃"青春饭"的争论,从未停歇过,大家往往各执一词.其实,在我看来,这个问题是因人而异的,每个人成为程序员,走进互联网行业的原因以及目标都不同,很多的人简单的就是因为热爱,所以走进这个行业,所以乔布斯在车库里创办了苹果公司,比尔盖茨连大学都没来得及完成就创办了微软,直到今天,在美国的硅谷还有数不胜数的"大龄"程序员依然战斗在软件开发的第一线,并非他们技术成长太慢,直到今天还只是程序员,而可能恰恰相反,他们却是程序界的大牛,或许亲自写出了

以程序员的名义,分析 “人民的名义”

我自小就惧怕吵架,觉得人不该像公鸡,脸红脖子粗的掐架特别不好,人就该斯斯文文的. 这让我爱上了官场剧,不论是古代的官场剧,还是当代的官场剧,都喜欢.官员们聊起天来不动声色,暗藏机锋,生死对决都是在谈笑间搞定,这都让我啧啧称羡. 所以,我是要看 "人民的名义" 的.虽然看电视这事,在程序员文化中,乃最遭歧视的三件事之一. 看了2周后,我有了些感悟,算是一个观察,不一定对.那就是,本剧的编剧和导演,很可能是我们程序员圈子里的人,即便不是,也一定借鉴了我们程序员开发的很多思想和方法.下面展开

业务模型的价值(程序员的另外一条出路)

最近一直忙于新公司的基础库建设和一些业务系统的开发,接触到了一些比较有思想的技术人员,在他们身上发觉到了很多值的深思的话题,也领悟到了一些比较有价值的经验在此与同行们分享一下也算是探讨一下吧:[王清培版权所有,转载请给出署名] 都说技术人员应该重视业务的学习和培养,只有精通业务了才能更好的发挥技术.其实我是不太赞成这句话的,为什么?从我的个人经历和经验来看,这是对的.当然世事无绝对,站在我们程序员的角度讲,我绝对建议技术人员始终要以技术为主业务为辅的观点.可能有些朋友要来火了,技术辅助业务应该是

100offer:程序员拍卖这是个最好的时代

程序猿"是一群极有增值价值的动物.国内互联网公司的人力成本上升很快,但中国的优秀程序员究竟在哪呢?先来看一组有关互联网技术人群流动的分析:保守估计,中国的互联网技术人员约有400-500万名,很多人平均2-3年 就会更换雇主,每次跳槽收入增长都在30%左右.而人才的流向是,从BAT等企业流入聚美优品.陌陌等发展稳定.融资顺利甚至成功IPO的创业公司,接着再流向一些更小的公司,而且他们具有与VC一样的眼光,挑选雇主也会看潜力,很愿意加入优秀的初创团队并获得期权等回报.这一段分析来自程序员招聘网站1

Sybase SQL Studio 6.0.3程序员指南

前言 本文将从一个数据库程序员的角度介绍sybase公司出品的SQL Anywhere Studio(SAS) 6.0.3 for Linux的特征.强项.弱项.安装和管理技巧,并给出一个精美的例子.如果你用C语言程序员,你可以从本文介绍的SQLC入门教材获益匪浅. Sybase是SQL数据库管理系统中著名老牌产品之一.事实上,微软的SQL Server最早是一个移植到DOS/Windows平台的Sybase产品.自从两公司分手,Sybase一直专长于Unix系统,当数据库和其他企业应应开发商都