首页 > 编程语言 >从程序员的角度来看为什么我们需要工作流

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

时间:2024-07-12 19:30:18浏览次数:19  
标签:为什么 工作 流程 业务流程 业务 流转 程序员 角度 开发

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

  1. 客户提交采购订单

  2. 业务员执行订单处理

  3. 如果缺货,转工厂生产 
           
  4. 仓库出货

  5. 物流发货
      如果不使用工作流技术,从头开始开发这个订购流程的业务逻辑,我们需要:
  • 每个活动点都需要开发交互页面和后台处理程序

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

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

    最终结果就是这样:        这还不包括监视、控制、分析流程的部分。        但是,如果我们使用了工作流
   这样看起来就简单多了。右侧的工作流管理系统,接管了所有订货业务在流程方面的定义和执行。这样做的好处很多:
  • 使用专门的流程数据系统,维护所有涉及流程流转的数据。

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

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

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

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

标签:为什么,工作,流程,业务流程,业务,流转,程序员,角度,开发
From: https://www.cnblogs.com/joe-tang/p/7144915.html

相关文章

  • 为什么 Symbol("test") !== Symbol.for("test")
    为了帮助我们理解Symbol,在浏览器控制它进行以下测试:Symbol("test")==Symbol.for("test")//falseSymbol.for("test")==Symbol.for("test")//true根据结果,我们看出Symbol("test")!==Symbol.for("test"),那么为什么呢?首先我们需要知道:在......
  • 2024程序员转行,要注意哪些?
    随着互联网行业的迅速发展,市场对于程序员的需求增大,越来越多的人开始转行到IT领域,程序员也不再基于计算机科学或软件工程等个别专业的毕业生,其他非计算机相关专业的,像学物理、数学、自动化,甚至英语、艺术或历史的,也都投入的程序员的行列。那么,对于一个希望转行程序员的人员,......
  • 在Linux中,我们都知道,dns采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么 时候采
    DNS(DomainNameSystem)确实既使用UDP协议也使用TCP协议,这是因为不同的DNS操作有不同的需求和优化目标。1.UDP协议的使用DNS主要使用UDP协议,这是由于UDP的无连接性质和较低的开销。以下是使用UDP的一些情况及其原因:标准查询:何时使用:对于大多数DNS查询,特别是常见的域名解......
  • 在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信
    在Linux系统中,当你遇到使用touchtest.file命令创建新文件时报错提示磁盘已满,但使用df-h命令查看磁盘使用率时却显示只有60%的磁盘空间被使用,这种情况可能由以下几个原因造成:inode耗尽:在Linux文件系统中,每个文件或目录都需要一个inode(索引节点)来存储其元数据(如权限、所有者......
  • 程序员自由创业周记#35:外包、技术选型和卖房
    对待外包的态度外包是来钱最快的方式,通过出售自己的时间和技能换取报酬,一定程度上与上班类似。创业后一直在做自己的产品,从习惯打卡软件:加一,到灵动岛软件:IslandWidgets,然后Mac休息提醒软件:Nap,到现在正在开发AI作图软件:AI画图王。做自己的产品最开心的就是自由,设计、交互、功能......
  • LabVIEW开发商业软件的多角度分析与注意事项
    在使用LabVIEW开发商业软件时,有许多方面需要考虑和注意,包括项目管理、架构设计、性能优化、用户体验、安全性、维护与支持等。以下是从多个角度详细分析在LabVIEW中开发商业软件需要注意的事项。项目管理需求分析:确保深入了解客户需求,并进行详细的需求分析和文档编写。这......
  • MySQL中为什么要使用索引合并(Index Merge)?
    本文分享自华为云社区《【华为云MySQL技术专栏】MySQL中为什么要使用索引合并(IndexMerge)?》,作者:GaussDB数据库。在生产环境中,MySQL语句的where查询通常会包含多个条件判断,以AND或OR操作进行连接。然而,对一个表进行查询最多只能利用该表上的一个索引,其他条件需要在回表查询时进......
  • 给你安利一个程序员上岸公务员的开源项目
    写在前面也许你还在工位上焦虑着人工智能会不会替代自己也许你还在为一眼看不到头的加班而苦恼也许你还在为夜晚拉长了的背影而感到孤独无助。那么今天推荐的这个开源项目或许值得你一看。都说宇宙的尽头是考编,今天推荐的开源项目就是公务员从入门到上岸,最佳程序员公考实践教......
  • 为什么使用代理IP无法访问网站
    代理IP可以为用户在访问网站时提供更多的便利性和匿名性,但有时用户使用代理IP后可能会遇到无法访问目标网站的问题。这可能会导致用户无法完成所需的业务要求,给用户带来麻烦。使用代理IP时,您可能会因为各种原因而无法访问您的网站。以下是代理IP无法访问网站的一些常见原因:1、......
  • 为什么使用代理IP无法访问网站
    代理IP可以为用户在访问网站时提供更多的便利性和匿名性,但有时用户使用代理IP后可能会遇到无法访问目标网站的问题。这可能会导致用户无法完成所需的业务要求,给用户带来麻烦。使用代理IP时,您可能会因为各种原因而无法访问您的网站。以下是代理IP无法访问网站的一些常见原因:1、......