首页 > 编程知识 正文

java项目的流程和实现思路(java工作流引擎比较)

时间:2023-05-05 23:40:59 阅读:71475 作者:3334

什么是工作流的基本概念:工作流?

工作流程:两个或两个以上的人为了共同的目标,连续执行串行或并行的业务。

业务:工作流是指涵盖与经营相关的活动的业务。

串行或并行:业务中的步骤可能会一个接一个。 这叫做串行。 或者根据不同的人和组合的情况进行处理,叫做并行。

两个以上的人:正如工作流的名称所示,一个人处理的业务不称为工作流,只有在任务从一个人流向另一个人时才有工作流。

共同目标:个人参与工作流必须是为了相同的工作目标。 如果个人位于两个相互独立的项目中,则不会生成工作流。

因为上述定义可能包括物质生产和产品,所以我们强调“业务工作流”讨论的不仅仅是制造业,还有业务自动化。

结构化工作流并创建以下流程:

定义团队必须根据业务规则管理的活动或任务。

将该任务细分为“子任务”,也称为“步骤”。 每个步骤代表个人或逻辑上不可能或不可能的事项。 一个任务可以用多种方式细分。 如何将业务细分为合理的步骤,需要良好的业务判断能力。

考虑各步骤的工作分配。 也就是说,在此步骤中定义的功能和所需技能是否与参与此步骤的人相匹配。

考虑用于完成任务的所有外部APP应用程序是否都有自动手动步骤以成为工作流的一部分。

注意步骤间的优先顺序。

如果某些步骤基于条件,则必须根据条件区分不同的步骤。

创建流程图,定义每个步骤的功能和参与者。

创建表单、文件和详细说明,以完成子任务中的每个步骤。

如您所见,工作流包含序列化的步骤和过程。 任务通过实现规定的规则和条件从一个步骤转移到另一个步骤。

工作流问题

在工作流自动化出现之前,所有工作流都是手动实现的。 通常,任务中的步骤要求参与者批准由文档或表单组成的文件。 批准并填写表格的相关内容后,文件将人工交给下一步的执行者。 需要对流程参与者进行流程路由方面的培训。 否则,文件将留在文件夹中不进行处理。 要到处打听任务执行情况的监测完成到什么程度。 没有简单的方法来了解任务是否延迟或文件是否丢失,也无法知道这个过程的成本是多少。 手动工作流的处理方法存在以下问题。

强烈依赖纸张

劳动强度大

流程不严密,任务不容易执行

无法监视进程

无法衡量进程时间和统计进程的成本

=====================================

工作流基本概念:工作流图形化

工作流产品提供了描述和实现工作流进程的图形方法。 中的每个步骤都由图形图标表示。 连接这些图标允许设计者描述步骤之间的关系和路径。 对于每个步骤,设计人员都可以指定该步骤的用户参与进程的界面,以及完成的任务所需的电子表格。

接下来,以每月业务报告的自动化流程为例。 报表由包含累计实现利润、利润预期、新订单登记计划调整、税前利润等要素的表和这些要素与年度计划的对比图表组成,流程必须遵守以下规则:

报告书每月更新

当前订单由订购登记管理员填写

下个月的订单由产品管理者根据产品a和b各自的国内销售情况进行预测,出口销售管理者预测所有产品的国际市场销售

利润预测由生产经理根据当前工序生产和预期订单完成

本期收益和税前收益的预测由管理者根据本期收益和收益的预测填写。

本期收入和收入预测存储在Excel扩展表中,该表还用于生成表格式的报告和图表。

流程包括以下步骤:

步骤1 :周期性初始化。 这个步骤每月第一天自动开始。

第二步:读取上一个周期的数据。 此步骤实际上是经过“培训”以读取上一个周期的实际和预期收入的工作流自动机(Flobot )。

步骤3 :当前记录。 在这一步,订购登记管理员将完整填写当月的订单情况。

步骤4、5和6 :订单预测。 这三个步骤---产品经理对A、B产品的国内销量预测和出口销售经理对海外市场的预测并行执行。

步骤7 :收入预测。 只有在完成了四个步骤、五个步骤和六个步骤之后,才能执行此步骤。 在此步骤中,生产管理员根据当前工序生产和预计订单,预计该年剩下的每月利润。

步骤8 :税前利润预测。 Controller给出基于上一步骤获得的收益结果

计算得到的剩下每个月的税前收益预测。

 

步骤9:数据更新和报告。在这一步骤中Flobot重新得到应用,被"训练"用于将进程中采集来的数据更新扩展表格。除了更新数据,还能运行Excel宏,用于打印供散发的图表等资料。

 

步骤10:结束。用于表示程序终止的必要环节。

 

======================================================================

 工作流基本概念: 工作流解决方案与传统管理软件的关系

 

传统的管理软件注重解决企业应用层现存的问题(例如提高企业的资源配置率或提高单一员工的生产效率)。例如:EXCEL可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高帐目查询的效率、CRM可以规范客户管理从而使客户资源掌握在公司手中而不是被一部分业务人员把持并提高客户响应时间、ERP解决的是如何配置企业资源:使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。

 

workflow关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。从建立企业神经系统的角度也许更能理解两者的区别。

传统软件不能解决工作流的问题,例如ERP关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP系统所能解决的生产过程控制通过workflow很难实现。

但一个好的传统软件如果希望能自动化地在整个企业中应用起来,必须有一个强大的逻辑层,用以解决信息传递的逻辑判断和自动流转,这个时候就需要workflow的平台。

所以说:

1。workflow和传统管理软件不是同一种软件,不具可比性;

2。workflow对于已经有传统管理软件的企业的作用非常明显,可以籍此平台整合企业的各种应用系统,使之成为一个完整的企业级应用,也就是通常所说的EAI。

3。具备workflow功能的管理软件(workflow与传统管理软件的结合)对于传统管理软件有绝对的优势;

4。workflow可以根据企业的需要开发解决信息传递问题的流程以及帮助企业开发与现有应用系统的接口

 

======================================================================

 

 工作流基本概念: 工作流的自动化

 

个人电脑的普及,网络和电子邮件的广泛应用使工作流的自动化成为可能。电脑软件提供了智能电子表格替代纸张表格的有效方法;数据库为大量过去存储在文件柜里的数据提供了存储空间;网络促生了电子邮件,提供了快速高效传递信息的方法;计算机与生俱来的计算能力提供了事实上无穷无尽的控制、管理和测度工作流进程。

 

工作流自动化的意义

 

减少滞后时间

 

  很多业务进程遵循90/10规则:典型的业务进程有90%的时间是"滞后"的。时间都被消耗在了任务的闲置、排队等待、发送过程及状况追踪上了。这些时间都被白白浪费掉了,对业务而言是无价值的。只有10%左右的时间被用于"进程处理"。生产力控制软件有助于降低进程处理的时间。然而,即使进程处理时间降低了50%,对整个进程时间的影响也只有5%。工作流自动化瞄准的是滞后时间。如果滞后时间减少50%,整个进程时间就能减少45%。这就是工作流自动化为什么是互联网络时代提高企业工作效率的关键。

 

提高生产率——可通过下述方式提高生产率

 

  通过集中处理任务(客户端)减少任务时间;

  减少纸张工作和纸张的传递;

  加速信息流并通过连接数据库电子表单的方式减少出错;

  根据业务逻辑关系自动计算和传递数据给需要数据的人;

  追踪并组织所有的任务及所有参与工作流进程的个体,如任务处理延迟,则会自动发出提醒;

  报告和文档自动更新;

  减少对文书人员的依赖并最大限度地释放现有资源;

  重点处理增值业务--增值业务是现代组织的心脏。所有企业应当重点处理的是那些和企业方向相关的业务,以及如何优化这些流程使之具备竞争优势。

 

追踪业务进程

 

  通过工作流自动化的软件,可以实现以图形化的方式对业务进程追踪,而不再需要通过电话、贴标签或其它的手工方式来确定例如采购订单、索引需求等等流程到底进行到了哪一步。

 

监测效率

 

  如果无法对重要的工作流程进行监测,就无从谈及控制和提升。有些工作流自动化系统提供每一个流程的统计信息,包括了每一个步骤的时间和成本。通过这一功能,就有可能非常方便地实现流程的最优效果。

 

减少纸张消耗

  很多公司每年花费在打印报表和复印上的办公纸张消耗费用动则数万元。而通过工作流自动化的改造能向"无纸办公"时代迈出坚实的一大步。而使原有表单的电子化,企业又可以节约很大一部分打印和存储的费用。北美的Winbond Electronics Corporation通过应用工作流自动化平台,短短四个月减少了70%的纸张消耗,大大节约了开销。

 

工作流自动化的主要成分

 

  工作流自动化如今成了管理的一句时髦话。市面上也有很多号称能激活工作流的自动化产品。只要他们的应用程序支持基本的E-mail功能,卖主就会随意地把"激活工作流"作为标签贴在产品上。然而,这类产品和真正工作流自动化软件之间的差别就如同写字版和Word之间的差别。我们相信,应用程序只有具备了下列主要特征,才能称其为工作流自动化解决方案:

 

  能够画出工作流程图,当然以图形化界面设计的为佳;

  能为每个步骤设计电子表格;

  能将外部应用程序结合为工作流自动化的一部分;

  能与电子表格及企业数据库相连接;

  能设计基于复杂业务规则的条件型路由的工作流程图,最好无须编程;

  能根据功能、用户名称或上下级关系按规则传递信息;

  能够监控工作流执行状况;

  能够对工作流进行调节;

  能够模拟并测试工作流的行为;

  工作流的应用必须支持多用户并具高度可靠性;

  工作流的应用必须支持内部网或英特网及跨多种平台。

 

======================================================================

工作流基本概念: 工作流自动化并不复杂

 

因为下述几个原因,工作流自动化业界有"适合处理复杂业务流程"的名声。

 

 

1.常规工作流自动化软件包及其部署相当昂贵。通常,伴随产品的是长时期的咨询关系。所以为了非常简单的业务流程购买和部署软件是被不被采纳的。这些软件通常只被用于复杂、关键和控制成本相对较高而工作流自动化带来的效益明显的量产型工作流应用。因此经销商和用户都会不自觉地关注于将复杂的业务问题自动化。

2.处于类似原因,工作流研究人士首先会关注解决了哪些复杂的业务流程问题。而对于大多数案例而言,为解决简单工作流程问题部署自动化软件的成本显然是不经济的。这里遵循一条简单的道理:走之前必须先会爬,跑之前必须先会走。

3.最后一条原因,也是"IT业的尴尬"。总经理对IT部门经理工作衡量的标准就是:能够解决复杂问题的能力。自然,IT经理就会不遗余力地解决那些复杂的问题,他们的方案通常也就复杂而且昂贵。

 

  所有这些目前都在改变。针对桌面电脑的应用方案快速发展以及工作流解决方案的发展使解决日常工作流程问题成为可能。费用不再昂贵,部署更为简便。事实上,企业越来越意识到工作流的重要性,同时在部署复杂关键的流程自动化之前,愿意从一些简单的流程入手积累经验。

 

======================================================================

工作流基本概念: 工作流自动化和企业流程再造的区别

 

几乎所有关于工作流自动化的出版专著,发布会和研讨会都会提及企业流程再造,人们对于这两者的认同也是趋于一致。分析人士也喜欢用企业流程再造来描述工作流自动化,因为前者比简单的解决方案有更多的发挥空间。媒体在关于工作流自动化的新闻报道上喜欢用企业流程再造这个字眼,因为销售商更愿意表达他们的产品是如何改变客户的工作方式的。除此之外,关于企业流程再造的书籍和论文也比工作流自动化的多得多。

 

  对于用户而言,必须了解这两者之间是有差异的,并不是同一个事物。

 

  工作流自动化纯粹是软件业提供将工作流程自动化解决方案的范畴。

企业流程再造是分析企业的业务流程,并为了某些方面提高的目标对流程进行修改的行为。是科学、艺术、老练的技术和敏锐的业务能力的组合。

 

  任何组织都可以无须进行企业流程再造而通过工作流自动化软件将业务流程自动化。同样,他们也无须通过工作流自动化而进行企业流程再造。当然,企业也可以进行流程再造并导入工作流自动化软件,以使流程再造的效果更为明显。但没有理由认为两者必须相辅相成或是同一个东西。

 

  这一错误认识是由于工作流自动化的概念接受度较慢引起的。工作流自动化是提升企业生产力的解决方案(工具)。而企业流程再造的概念是改变企业现有工作方式,而改变往往包含了恐惧、不确定性、政策因素和反抗情绪。当工作流自动化被或明确或暗示地等同于企业流程再造的时候,这些恐惧、不确定性、政策因素和反抗情绪阻碍了概念的传播。

 

  有趣的是,当在企业中成功地示范了工作流自动化的好处后,再进行企业流程再造将会简单地多。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhuxueke_830111/archive/2008/01/10/2032998.aspx

我也简单用自己的说法说下: 

1、工作流是工作中流程的抽象:它将流程抽象为环节、路由两大板块,内部细分有起始环节、结束环节、中间环节;路由包含了对业务过程的动态操作规则的描述,如动态选择路由和静态选择路由,分发、合并等等;它将工作中的业务运行过程进行抽象为一种流程的定义模型,内部包含了一组数据结构,这就是定义数据,它一般由一个自定义工具来完成绘制,存储为所需要的配置数据;运行时根据业务数据和配置数据一起决定当前的处理动作,并根据处理结果选择路由选择到对应的下一个环节,直到有结束环节;对于子流程和流程合并就不多提了。

  2、工作流用来干什么?它提高工作效率、提高流程的灵活性、以及开发速度、减少BUG;工作流因为是对流程的进一步抽象,很多工厂内部的各类业务流程千奇百怪,如果每条都要去硬编码if else走流程,会消耗大量人力物力,而工作流只需要将第一个流程跑得比较顺,后面几乎就是绘图;提高灵活体现在可以在一定原则上随时跟新流程,而且是通过图形界面,这样在上线前可以给客户多次确认流程问题后再上线,而不需要修改程序;开发速度主要是如果一个较为完善的工作流,第一个程序调试通过后,后面几乎不用编写代码了,或者非常少去编写一些非常个性化的代码;减少BUG是因为大部分代码都是共享的,要改只改一处,整个系统同类型的BUG被锁定在一两个地方而不是每个地方都会有一样的BUG,从头改到尾。 

3、对于企业级内部应用开发是必备的东西,若没有它,可以说软件开发和维护代价非常高,尤其对于一些业务经常发生变化的企业,这在国内提前的非常明显,因为国内大部分企业都是管理非常混乱的状态,而且随时都修改政策,没有规范化的道路,如一个企业内部对于同一类业务可能按照地区和部门要求用不同的流程来控制,此时在需求分析是就应该知道,应当在工作流程模板级别建立地区和部分维度进行控制,或者在环节级别控制,这个相对要混乱一点。 

4、工作流其实说白了只是一个概念,实现它价值的是工作流引擎,工作流没有完全适应每个企业的,都有一些扩展性的要求,这些扩展性的要求决定了数据结构搭建的大致方式,工作流引擎基于配置数据和业务数据驱动运行;而配置数据的定义时通过工作流定义工具去完成的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。