工作流相关概念

极简 Java 工作流概念入门 这个流程比较简单,我们很容易想到解决方案,不用工作流也能解决,有一个专门的请假表,当 A 要请假的时候,就往请假表中添加一条记录,这条记录的内容包含了请假的天数、原因、请假的审批人 B 以及一个名为 status 的字段,这个 status 字段表示这个请假申请目前的状态(待审批、已批准还是已拒绝),然后 B 登录系统之后,在请假表中查询到了 A 的请假信息,然后选择批准,此时将 status 字段的值改一下就行了。举个中间定时事件的例子,比如用户下单之后,可以有一个中间定时事件,延迟 5 分钟发货。.. 阅读详情

1.1 什么是工作流

    工作流的概念起源于生产组织和办公自动化领域,主要是针对日常生活中具有固定程序的活动而提出的一个概念,目的是通过将工作分解成一系列定义良好的任务,按照一定的规则和过程来执行任务,并对其实行监控,从而提高生产效率,降低生产成本,提高企业生产经营管理水平和企业竞争力[1] 。
    按照工作流管理联盟的定义,工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行[2] 。
    为了更好地理解工作流的概念,我们可以引入一个简单的应用实例:


                              

                              图1.1  文件签发的工作流程

   

    图1.1所示是一个文件签发的工作流程。

    在机关和企事业单位的日常文件签发工作中,打印文稿通常需要经过文字秘书和分管领导的多次修改和审核,即带来了纸张的浪费,又受到时间和办公地点的限制。如果采用工作流过程控制技术,通过在网上实施文件的提交、审核和发布存档,则会大大提高办公效率。

    从图中可以看出,文件的签发是一个相对固定的、重复性的工作过程。文件由秘书A起草,由分管领导审核,由秘书B打印分发和存档,任务在三者之间顺序进行。因此,按照工作流技术理论,我们完全可以预先定义一个文件签发的过程,这个过程包括三个既相对独立又彼此关联的任务节点,通过为各节点分配不同的角色用户,实现不同用户之间的分工与合作。工作流的过程定义和过程管理需要使用专门的工作流应用软件来进行。

    通过使用工作流软件的图形化过程定义工具,我们可以按照图1.1所示方便地定义出一个符合实际需要的文件签发过程,并把这个定义好的过程予以保存。有了这个过程定义,就有了重复执行文件签发过程的固定模式。在需要时,秘书A可以选择发起文件签发过程,工作流软件将参照已经保存的过程定义模式生成一个实际的文件签发过程(过程实例),并向秘书A呈现一个任务处理界面,秘书A可以在这个任务界面中上载文件草稿,并点击按钮触发过程的继续执行。这时,按照过程的执行模式(过程定义),如果分管领导登录到系统中,将会在待处理任务列表中看到一个需要他处理的新的文件签发任务,点击该任务名称将进入文件审核处理界面,分管领导可以下载并打开文件草稿进行审核。任务处理界面中还会有两个不同的按钮,供分管领导选择审核通过或退回秘书A重新修改。如果点击了审核通过按钮,过程将执行到打印(分发)和存档任务节点,由秘书B完成该项任务。打印(分发)存档文件的完成将结束当前过程实例的完整执行。当然,如果还有新的文件需要签发,秘书A完全可以继续发起新的文件签发过程。

    使用工作流过程控制可以减少手工文件签发审核中的资源浪费,克服时间和空间限制,大大提高工作效率。这还只是工作流应用的一个简单例子,对于更复杂的机关审批业务或企业生产过程,使用工作流技术的优势则要更加明显。

1.2 工作流基本概念

   工作流(Workflow)  按照 WfMC的定义,工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。
    业务流程(Business Process)  在功能确定的组织结构中,能够实现业务目标和策略的相互连接的过程和活动集。
    过程定义(Process Definition)  业务过程的形式化描述,用来支持系统建模和运行过程的自动化。过程可分解为一系列的子过程和活动,其中定义包括描述过程起始、终止的活动关系网络,以及一些关于个体行为的信息,具体而言,即构成过程的活动以及各活动的关系、组织成员的角色、应用中的数据结构等。
    过程定义工具(Process Definition Tools)  过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。
    活动(Activity)  业务过程的一个执行阶段,由执行者完成。执行者可以是人、软件系统或二者的集合。活动是过程执行中可被工作调度的最小工作单元,要求有人或机器参与。
    过程/活动实例(Process/Activity Instances)  指的是一个工作流过程的具体执行。在过程实例的执行中,工作流引擎将负责解释对应的过程(和它包含的活动)定义,动态生成活动实例,并根据过程定义中的规则控制协调这些活动实例之间的执行顺序,同时完成活动之间的数据传递。
    工作流管理系统(Workflow Management System, WFMS)  是定义、创建、执行工作流的软件系统。在最高层次上,WFMS应能提供以下三个方面的功能支持:建造功能,对工作流过程及其组成活动进行定义和建模;运行控制功能,在运行环境中管理工作流过程,对工作流过程中的活动进行调度;运行交互功能,指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序交互的功能。
    工作流引擎(Workflow Engine)  工作流管理和应用系统的核心软件部分,为过程实例提供运行时环境和服务,可以形象地比作过程执行的发动机。工作流引擎接口向外部提供了支持、控制过程(实例)执行的功能。这些功能包括:解释过程定义;创建和管理过程实例,控制流程的运行状态,如开始、停止、挂起、重启等。
    工作项(Work Item)  过程实例中要被参与者执行的工作,它与活动定义与活动实例相关。工作项一般需要人工的参与,它的完成将推动过程的进展。
    工作列表(Work Items List)  与业务过程的某个参与者相关的一系列工作项的集合。工作列表的生成需要工作流引擎和工作流列表处理程序共同参与。
    图1.2显示了工作流基本概念之间的关系:

图1.2  工作流基本概念之间的关系

1.3 工作流模型

   工作流过程依赖于一个形式化的工作流模型来描述工作流节点之间的控制流和数据流。工作流模型由4部分组成,它们分别是过程模型、组织模型、资源模型以及工作流相关数据。过程模型用来定义工作流的过程逻辑,它包括组成工作流的所有活动以及活动之间的依赖关系。它是整个工作流模型的基础与核心,其它模型均为其提供支持。组织模型用来定义企业人员的组织结构,它包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关系。组织模型的主要任务是为企业人员执行工作流提供柔性的组织定义,为过程模型提供“人”的支持。资源模型用来定义企业资源的组织结构,它包括几种模式的资源容器元素以及容器内部的递阶层次关系,直至最终的原子级资源个体。资源模型的主要任务是为企业人员执行工作流提供“物”的支持。工作流相关数据用来定义工作流执行过程中需要用到的数据,它包括简单的数据类型与复杂的企业对象。它主要用于各种条件的判断,以实现工作流引擎对不同活动的选择性路由。工作流相关数据为工作流的执行提供了“信息”的支持。
    路由关系和原语集:WfMC已经确定了用来描述工作流路由关系的原语集。用这些原语可以描述任何可能发生的工作流。这些原语是Sequential Routing、AND-split、AND-join、Parallel Routing、OR-Split、OR-join和Iteration。

 

  图1.3  WfMC所定义的路由关系模型

    图1.3描述了WfMC所定义的路由关系:
    ①顺序路由:一个任务接着另一个任务被顺序的执行。在图(a)中任务B在任务A已经完成之后和任务C开始之前执行。
    ②与分支:为了表达与分支路由,需要增加一个AND-split逻辑节点。逻辑节点并不代表真正需要执行的活动,它只是为了表示节点之间的逻辑关系而设立的。在图(b)中,当任务A完成后,AND-split为真,任务B和任务C可以并行执行(可以同一时刻执行,也可以先后执行)。
    ③与连接:在图(c)中,AND-Join使得只有在任务A和任务B都完成后,任务C才可以执行。
在一个与分支节点引出的所有分支路径要在一个对应的与连接节点汇合。参考图(d)。
    ④并行路由:图(d),任务的执行逻辑参照与分支和与连接。
    ⑤条件路由(或分支和或连接):在图(e)中,任务A完成后,任务B或者任务C只能有一个被执行;任务D在任务B或任务C完成之后就可以执行。
    ⑥循环路由(Iteration):有时需要执行一个任务多次。在图(f)中任务B被执行一次或多次。

1.4 工作流管理系统参考模型

    为了统一工作流的相关标准,工作流管理联盟(WfMC)提出了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其应用、管理工具、和其它工作流管理系统之间的编程应用接口等,图1.4是WfMC给出的工作流管理系统参考模型。

 

图1.4  WfMC的工作流管理系统参考模型

 

    系统各部分的功能如下:
    1、过程定义工具:主要功能是为用户提供对业务过程进行分析建模的手段,并生成可被计算机识别和处理的过程定义。
    2、工作流执行服务:它借助一个或多个工作流引擎来激活并解释过程定义,并同外部应用程序进行交互,来完成工作流过程实例的创建、执行和管理,并通过控制条件的计算控制过程在各活动之间的游历(以及数据在活动之间的传递),并生成有关的工作项,通知用户进行处理等,为工作流程的进行提供了一个运行环境。
    工作流执行服务一般有一个工作流引擎来提供,在大型WFMS中,工作流的运行控制可能需要多个工作流引擎共同完成,例如某个跨区域、跨部门的过程可能会包含多个子过程,这些子过程可能是由不同的工作流引擎来提供运行和控制环境,这就需要实现多工作流引擎之间的互访互连。
    3、客户应用程序:与工作流引擎交互,以获得引擎服务和过程控制的功能。典型的客户应用程序是用户任务列表处理程序。
    4、被调应用程序:指工作流执行服务在过程实例的运行过程中调用的、用以对应用数据进行处理的应用程序。在过程定义中包含有这种应用程序的详细信息。被调应用程序可能是应用代理,也可能是本地过程调用、远程调用等。
    5、工作流管理监控工具:其功能是对过程实例的状态进行监控和管理,包括挂起、恢复、取消过程实例,以及用户、角色、资源控制等。
    WfMC为以上功能的实现分别提供了接口规范,从而为工作流产品的技术实现提供了统一的标准,方便不同产品的互访,可以有效提高工作流产品的通用性和灵活性[2][3][4] 。

 

本文中引用的参考文献:

    [1] 范玉顺,罗海滨,等. 工作流管理技术基础. 北京:清华大学出版社,2001.

    [2] Workflow Management Coalition. WFMC-TC-1011. Terminology & Glossary.  Winchester: WfMC,  1999.2
    [3] Workflow Management Coalition. WFMC-TC-1003. Workflow Reference Model. Winchester: WfMC, 1995.1
    [4] Workflow Management Coalition. WFMC-TC-1025. Workflow Process Definition Interface-- XML Process Definition Language. Hingham, Massachusetts:WfMC, 2002.10

了解 AI 工作流 工作流(Workflow)是指为完成某项任务或目标而按照特定顺序执行的一系列活动或步骤,强调在计算机环境下实现自动化。工作流就像一条流水线,把复杂的任务分解为多个简单的步骤,每个步骤都有明确的目标和流程。包子铺的工作流准备原料:采购和准备食材。和面:制作面团。制作馅料:准备包子的馅。制作包子皮:擀面皮。包制包子:将馅料放入包子皮中。蒸包子:蒸制包子。包装和销售:包装并销售包子。每个步骤都需要按顺序进行,并重复执行,确保每个包子都符合质量标准。 阅读详情

相关推荐

Activiti工作流开发——Activiti相关概念

Activiti对流程的描述是基于数据库表的,Activiti有23张表,分别用来储存工作流各个阶段的数据,各个表的数据字段和作用请参考blog Activiti数据表结构说明 Activiti工作流的核心是一个叫ProcessEngine的接口,这个接口控制着整个工作流,其中工作流引擎又包含着若干个事务,比如有注册事服务(可以部署流程,也可以查看部署的流程和流程定义、删除一个流程等等),

Benson的博客 970

什么是工作流?

工作流,是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模,让其运行在计算机上,并让计算机进行计算和推动。

IccBoY_超越 1万+

Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念

解释了Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念,包括它们的作用和触发场景。以下是对这些内容的简要说明: 流程执行事件: 流程开始和结束事件:这些事件标记了流程实例的开始和结束,如PROCESS_STARTED和PROCESS_COMPLETED。 活动实例事件:记录了流程中各个活动(如用户任务、服务任务等)的创建和结束,如HISTORIC_ACTIVITY_INSTANCE_CREATED和HISTORIC_ACTIVITY_INSTANCE_ENDED。

billzhen的博客 1375

工作流入门这篇就够了!

本文记录自己这大半年老师让学习的工作流,因此本文也是以作者自身学习工作流的过程进行介绍。BPMN->工作设计器->工作流引擎

警警的博客 1万+

iOS Certificates, Identifiers & Profiles简介

1. Certificates Certificates是生成开发和生产所需的证书。 2.1 certSigningRequest文件 生成证书前,需要先生成certSigningRequest文件,certSigningRequest文件由【钥匙串访问】生成。 选择菜单【钥匙串访问】,【证书助理】下的【从证书颁发机构请求证书…】 填写【用户电子邮件地址: 】,将【请求是:】的选项改为【储存到磁盘】 输入certSigningRequest文件的文件名,并指定保存位置。 保存certSignin

假装你是大灰狼的专栏 7058

AD9361 FIR 滤波器设计

matlab 得到滤波器系数

weixin_44630490的博客 1万+

Java工作流详解(附6大工作流框架对比)

Jflow是一个国产的开源工作流引擎,与业务场景结合紧密,再带表单引擎,数据表较多,中文概念较多,可配置型性强,支持作为中间件模式的集成。配置点集中在,节点属性,流程属性,方向条件。概念名词比较清晰,文档全面。有qq群技术支持。 流程设计器界面干净,从节点类型分类,分流,合流,分合流,子线程等等。表单与流程完美结合,与其它几款流程引擎设计理念不同。Jflow更适用,贴近用户操作。 表单引擎中的精华是审核组件,满足国内审批要求的需求,退回,分合流审核,会签,并行处理,队列处理,概念清晰,容易理解。

开源驰骋工作流引擎 1万+

从SolidWorks到Simulink:手把手教你用URDF文件搭建六轴机械臂仿真模型(含STL文件配置避坑)

本文详细介绍了从SolidWorks到Simulink的六轴机械臂URDF仿真全流程,包括URDF文件导出、Simscape模型生成与调试、动力学参数获取与验证等关键步骤。重点解决了STL文件配置、关节接口设置等工程化难题,帮助开发者高效构建可控制的数字孪生体。通过实战案例和优化技巧,提升机械臂仿真效率与准确性。

weixin_26812607的博客 265

【工作流】 工作流相关概念及Activiti基本介绍

工作流相关概念,以及Activiti基本介绍

低调做人,低调编码,神码都是浮云 5734

从0开始部署基础的AlwaysOn

在这个快餐文化盛行的时代,应该没多少人真的会沉下心来看理论和具体步骤,加上我自己也需要一篇可以扩展的快速搭建环境的指引,所以特别写了这篇文章。 我们在这里要做的事情有以下几个:安装环境。包括虚拟机和网络配置等。安装Windows域、配置必要的账号密码及功能。搭建域环境并进行配置。安装配置Windows Server Failover Cluster(WSFC)。安装SQL Server。配置Alw

MVP黄钊吉(發糞塗牆) 7567

云安全技术——搭建VPN

VPN(Virtual Private Network)是一种可以在公共网络上建立安全连接的技术。VPN是实现保密通信的基本手段,在windows系统上,可以直接进行VPN服务的搭建。1.VPN的工作原理:通过使用加密协议和认证机制,将本地计算机和远程服务器之间的通信加密和保护。2.VPN的分类:根据不同的方式和用途,VPN可以分为不同类型,例如远程访问VPN、站点到站点VPN等。3.VPN的优势:VPN可以带来许多好处,如提高数据安全性、隐藏真实IP地址、突破地理限制等。4.

qq_53142796的博客 3万+

【一】工作流activiti相关概念

一、工作流的概念 1、工作流(Workflow) 工作流就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 2、工作流管理系统(Workflow Management System, WfMS) 工作流管理系统是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的

weixin_41449756的博客 564

ARM芯片内部的高速公路:手把手教你用AMBA Designer配置NIC-400互连控制器

本文详细介绍了如何使用AMBA Designer工具配置ARM芯片中的NIC-400互连控制器,涵盖从基础拓扑构建到高级QoS设置的完整流程。通过实际案例演示,帮助开发者掌握AXI协议下的高效片上网络设计,提升SoC性能与能效比。

weixin_26750481的博客 310

工作流技术的相关概念与发展

工作流(Workflow)技术是为提高工作效率而提出的。关于工作流的概念目前尚无统一的定义。负责WFMS标准化的工作流管理联盟(Workflow Management Coalition简称WFMC)将工作流定义为:业务流程的全部或部分自动化,再次流程中,文档、信息或任务按照预定的规则流转,实现组织成员间的协调工作以达到业务的整合目标,或是促使此目标的实现。工作流管理系统(Workflow Man...

专注工作流技术 559

人工智能---什么是Transformer?

Transformer是一种强大的神经网络架构,最初由Google的研究人员在论文《Attention is All You Need》中提出,用于自然语言处理任务,特别是在机器翻译方面取得了巨大成功。Transformer的核心思想是完全基于自注意力机制(self-attention mechanism)来实现序列到序列(sequence-to-sequence)的学习。它在自然语言处理(NLP)和其他序列到序列任务中表现出色,逐渐成为该领域的主流模型。近些年也逐渐在自动驾驶领域有所应用。

智能汽车人的博客 3955

[Dify实战] 合同审阅助手:识别风险条款、生成修改建议-带绑定资源

摘要: Dify合同审阅助手通过AI技术提升合同审阅效率,快速识别风险条款并输出结构化修改建议。方案包括合同输入、关键条款识别、风险评级和报告生成流程,重点关注付款、责任限制等核心条款。采用分层风险分级(高/中/低)和"红线清单"机制,确保审阅标准化。实施建议先建立条款库和模板,通过样本测试优化模型,定期更新规则库。该方案可缩短审阅时间50%以上,提高风险识别准确率,最终实现法务经验的可复用沉淀。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 595

工作流的相关概念

流程定义 (ProcessDefinition) 流程实例(ProcessInstance) 流程定义的具体应用 流程变量(Process variable) 是变量,并不固定的值 任务(Task) 比如组长审批就是一个工作内容,就是任务 起始、结束 (Start、End) 比如申请就是开始 流程完成就是结束 就是一个流程的边界 网关(Gat...

qq_41500207的博客 327

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

了解爬虫的工作流程及相关概念

通用爬虫和聚焦爬虫的工作流程 通用搜素引擎的局限性 通用搜素引擎所返回的网页中90%的内容无用 图像、音频、视频多媒体的内容通用搜索引擎无能为力 不同的用户搜索的目的不全相同,但是返回内容相同 ROBOTS协议 Robots协议:网站通过Robotos协议告诉搜索引擎哪些页面也可以抓取,哪些页面不能抓取。 https://www.taobao.com/robots.txt 显示如下: User-agent: Baiduspider Disallow: / User-agent: baiduspi

小鹏AI 866

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

调度引擎相关概念与工作流程

调度引擎 调度引擎提供对任务进行定制、管理和执行功能 。可以创建和维护多个任务,对任务执行事件进行监听,当有符合执行条件的任务就进行执行。 任务执行后可将执行的结果在服务器目录进行保存,保存后可进行推送,系统自带的推送方式包括邮件、短信、FTP。用户可扩展自定义的推送方式。 任务 任务为调度引擎所管理的基础单元,调度器内管理多个任务。任务可以是报表任务,即对报表定时执行,也可以是其他任务

return031116的专栏 1538

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Activiti7原生整合和工作流相关概念详解

Activiti原生整合基础

qq_44749491的博客 3250

一文掌握AOP相关概念,理解AOP工作流程

前面我们在介绍Spring的时候说过,Spring有两个核心的概念,一个是IOC/DI,一个是AOP。前面已经对IOC/DI进行了系统的学习,接下来要学习它的另一个核心内容,就是AOP。对于AOP,我们前面提过一句话是:AOP是在不改原有代码的前提下对其进行增强。对于下面的内容,我们主要就是围绕着这一句话进行展开学习,主要学习两方面内容AOP核心概念,AOP作用AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构。

黑马程序员官方博客 418

【高性能计算】opencl语法及相关概念(一):工作流程,实例

在上述代码中,get_global_id(0) 是在内核函数 vectorAdd 中使用的,表示获取当前工作项在全局范围的第一个维度(维度编号为0)上的索引。例如,如果在执行内核函数时将全局执行范围设置为 128,那么在第一个维度上,工作项的索引值将从 0 到 127,总共有 128 个唯一的索引值。例如,如果在执行内核函数时使用了 128 个工作项并且当前工作项的全局索引是 10,那么 get_global_id(0) 会返回 10,表示当前工作项在全局范围的第一个维度上的索引是 10。

种一棵树最好的时间是十年前,其次是现在 1344
上一篇: eclipse-tomcatplugin部署maven项目方式八
下一篇: 工作流设计示例
engineer_he
博客等级 码龄10年 109粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值