您的位置 首页 java

java 工作流 详解

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

工作流:两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务。

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

  串行或并行:业务中的步骤也许以一步接着一步的方式进行,我们称之为 串行 ;或者由不同的人或组合根据不同的情况处理,我们称之为并行。

  两个或两个以上的人:如工作流的名称所表达的含义,一个人处理的业务不称其为工作流,只有任务从一个人”流”向另一个人的时候,才有工作流。

  共同的目标:个体参与工作流必须是为了同一个工作目标。如果个体处于两个相互独立的项目之中,不会产生工作流。

  由于上述定义也许包含了物质生产和产品,所以我们以”业务工作流”来强调所讨论的不仅仅是制造业,而是业务的自动化。

将工作进程结构化,创建工作流过程如下:

定义一个工作团队需要同时受业务规则控制的活动或任务。

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

  考虑每个步骤的工作分配。即该步骤所定义的功能及所需的技能与参与该步骤的人是否匹配。

  考虑所有被用来完成任务的外部应用程序,是否有能被自动化的手工步骤,从而成为工作流的一部分。

  注意步骤之间的先后次序。

  如部分步骤是基于条件的,那就需要根据条件的不同区分不同的步骤。

  画出流程图,定义各个步骤的职能和参与者。

  创建完成子任务的各个步骤的表格、文件和详细指示。

  如你所见,工作流包括序列化的步骤和进程。任务按实现规定的规则和条件从一个步骤”流”向另一个步骤。

工作流的问题

  在工作流自动化出现以前,所有的工作流都是通过手工实现的。较典型的是某项任务中的步骤要求参与者批阅文档或表格组成的文件。完成批阅及填写完表格中的相关内容后,文件被人工地传到下一步的执行者。需要对进程的参与者进行关于进程路由的培训,否则文件就会留在文件夹里得不到处理。对任务执行情况的监控必须四处打听究竟完成到了哪一步。没有简单的方法去了解任务是否拖延或文件是否丢失,也无法了解这种流程的成本到底是多少。手工工作流的处理方法存在如下的问题:

  高度依赖纸张

  劳动强度大

  流程不严密,任务执行不易贯彻

  无法对流程的过程进行监控

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

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

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

工作流产品提供一种图形化的方法来描述和实现工作流进程。进程的每个步骤以一个图形化的图标来表示。通过对这些图标的连接,设计者就能够描述步骤之间的关系及路由。对每个步骤而言,设计者能够指定该步骤用户参与进程的界面和所需完成的任务所需的电子表格。

  接下来我们以月度业务报告的自动化进程为例。报告由一个包括累计实现 利润 , 利润预期, 以及新订单登记的计划修改,税前利润等要素构成的表格以及一个将这些要素与年度计划对比的图表组成,进程必须遵照如下规则:

  报告是月度更新的;

  当前订单由订单登录管理员负责填写;

  下月度订单由产品经理负责 在产品 A和B各自的国内销售状况的基础上进行预测, 由出口销售经理预  测所有产品国际市场的销售;

  利润预测由生产经理在当前在程生产和预计订单的基础上完成;

  当期税前收益和税前收益预测由控制者根据当期收益及收益预测填写;

  当期收益及收益预测保存在一份 EXCEL 的扩展表格中,该表格也用于生成表格式的报告及图表。

该进程包括了如下步骤:

步骤1:周期性初始化。该步骤在每月第一天自动启动进程。

步骤2:读取上一个周期的数据。该步骤其实是一个被”训练”用于读取上周期实际收益和预期收益的Flobot(工作流机器人)。

步骤3:当前记录。在本步骤内订单登录管理员将当月订单情况填写完整。

步骤4,5,6:订单预测。这三步–产品经理对A,B产品的国内销售量预测及出口销售经理对海外市场的预测平行执行。

步骤7:收入预测。本步骤只有在4,5,6三步完成后方可执行。在本步骤内生产经理在当前在程生产和预计订单的基础上对当年剩余每个月度的利润作出预计。

步骤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经理就会不遗余力地解决那些复杂的问题,他们的方案通常也就复杂而且昂贵。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

文章来源:智云一二三科技

文章标题:java 工作流 详解

文章地址:https://www.zhihuclub.com/186717.shtml

关于作者: 智云科技

热门文章

网站地图