工作流(Workflow)基本介绍
工作流简介
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 通俗的说,流程就是多个人在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是工作流。
工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作流的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。工作流管理系统被用来定义、管理、和执行工作流程。
工作流应用广泛,在由任务驱动的各种系统中都有应用,例如OA、CRM、ERP、ECM、BI等。在企业应用中还有很多产品或平台集成工作流引擎,用来处理系统运行过程中发起的业务流程。
工作流总是以任务(Task)的形式驱动人处理业务或者驱动业务系统自动完成作业。有了工作流引擎之后,我们不必一直等待其他人的工作进度,直白地说,我们只需要关心系统首页的待办任务数即可,由系统提醒当前有多少待办任务需要处理。
采用工作流管理系统的优点:
1)提高系统的柔性,适应业务流程的变化
2)实现更好的业务过程控制,提高顾客服务质量
3)降低系统开发和维护成本
工作流生命周期
一个完整的工作流生命周期会经过五个步骤,并且迭代循环:
定义:工作流生命周期总是从流程定义开始。此阶段的任务主要是收集业务需求并转化为流程定义。一般由业务需求人员进行,然后交由开发人员加工转化为计算机可以识别的流程定义。
发布:由开发人员打包各种资源,然后在系统管理(平台)中发布流程定义。在具体的流程引擎中包括流程定义文件、自定义表单、任务监听类。
执行:具体的流程引擎(例如,Activiti)按照事先定义的流程处理路线以任务驱动的方式执行业务流程。
监控:此阶段是依赖执行阶段。业务人员在办理任务的同时收集每个任务(Task)的结果,然后根据结果做出相应处理,例如,在采购办公用品流程中,在通过领导审批之后,采购人员就要根据申请单外出采购。
优化:在此阶段,一个完整的流程已经结束,或许能满足业务需求,或许需要优化,而糟糕的情况是需要重新设计(流程没结束就异常终止),优化与设计正是此阶段需要处理的。根据整个流程的运行过程结果分析问题的根源,然后在此基础上进一步改进,并再次开始一个新的周期。
工作流引擎
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。
例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性和弹性。
BPM介绍
Business Process Management(业务流程管理).是一套达成企业各种业务环节整合的全面管理模式,实现跨应用、跨部门、跨合作伙伴与客户的企业运作。
BPM是为了实现一定的经营目的而执行的一系列逻辑相关的活动的集合。
BPM最早是由工作流和企业应用集成(Enterprise Application Intergration)逐步融合而发展起来的。随着时间的推移,BPM的定义范围逐步扩展,不仅用来满足无纸化办公需求,现在BPM是一种企业集成技术,作为对面向服务系统架构SOA( Service-Oriented Architecture)、企业应用集成EAI (Enterprise Application Integration)、企业服务总线ESB( Enterprise Service Bus)的补充。
BPM通常以Internet方式实现信息传递、数据同步、业务监控和企业业务流程的持续升级优化。
BPMN2.0 概述
业务流程模型注解(Business Process Modeling Notation - BPMN)是 业务流程模型的一种标准图形注解。这个标准是由对象管理组(Object Management Group - OMG)维护的。
BPMN定义了业务流程图,其基于流程图技术,同时对创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。
BPMN2.0 规范定义了业务流程的符号以及模型,并且为流程定义设定了转换格式,目的是为了让流程的定义实现可移植性,那么用户可以在不同的供应商环境中定义流程,并且这些流程可以移植到其他遵守 BPMN2.0 规范的供应商环境中。
BPMN2.0 元素
BPMN2.0 的目的是建立简单的并且易懂的业务流程模型,但是同时又需要处理高度复杂的业务流程,因此要解决这两个矛盾的要求,需要在规范中定义标准的图形和符号。BPMN中定义了 5 类基础的元素分类:
流对象(Flow Objects):在一个业务流程中,流对象是用于定义行为的图形元素,主要有事件(Events)、活动(Activities)和网关(Gateways)三种流对象。
数据(Data):主要有数据对象(Data Objects)、数据输入(Data Inputs)、数据输出(Data Inputs)和数据存储(Data Stores)4 种元素。
连接对象(Connecting Objects):用于连接流对象,主要有 4 种连接流对象的方式,包括顺序流(Sequence Flows)、消息流(Message Flows)、关联(Associations)和数据关联(Data Associations)。
泳道(Swimlanes):泳道提供了有 2 种途径组织基础的模型元素,分别是池(Pools)和道(Lanes)。
制品(Artifacts):制品主要用于为流程提供附加信息,当前制品包括组(Group)和注释(Text Annotation)。
以上的元素分类以及其下面的元素,均是 BPMN 规范中元素的组成部分,每个对象均有自己对应的图形,以下表格为各个元素的图形及其描述。
元素 | 描述 |
事件(Events) | 用于描述流程中发生的事件,事件会对流程产生影响,事件会被触发或者会产生结果。 |
活动(Activities) | 活动是工作流中一个通用的术语,活动包括任务(Task)和子流程(Sub-Process)。 |
网关(Gateways) | 网关主要用于控制流程中的顺序流的走向,使用网关可以控制流程进行分支与合并。 |
顺序流(Sequence Flow) | 顺序流显示流程将会执行哪个活动。 |
消息流(Message Flows) | 消息流主要用于显示消息在流程参与者之间的传递情况。 |
关联(Association) | 主要用于连接流程元素及其制品(流程信息)。 |
池(Pool) | 存放道的容器。 |
道(Lane) | 用于区分流程参与人的职能范围。 |
数据对象(Data Object) | 数据对象主要表示活动需要的或者产生的信息。 |
消息(Message) | 消息主要用于描述流程参与者之间的沟通内容。 |
组(Group) | 主要用于存放一些流程信息,包括流程文档、流程分析信息等。 |
注释(Text Annotation) | 主要为阅读流程图的人提供附加的文字信息。 |
工作流(Workflow)基本介绍相关推荐
- 一、activiti工作流(workflow)入门介绍
activiti官方网站(官网通常很卡,不建议看,直接看我教程就行) http://www.activiti.org/ eclipse离线安装activiti插件并下载教程 https://downl ...
- golang办公工作流workflow js-ojus/flow包介绍——系列一
golang语言的办公工作流的包介绍--系列一 golang办公工作流workflow利用js-ojus/flow做测试--系列二 golang办公流程引擎初体验js-ojus/flow--系列三 g ...
- Activiti工作流的详细介绍
一.了解工作流 1.工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信 ...
- Activiti工作流的简单介绍
1.概念 工作流(Workflow)就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息 或任务的 ...
- java workflow jbpm_工作流(workflow)定义和jBPM
工作流(workflow)定义 工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算.根据 WfMC 的定义 ...
- 工作流workflow任务调度工具argo
转载请注明出处:工作流workflow任务调度工具argo argo简介和原理 argo是一个基于 kubernetes CRD(自定义资源) 实现的一个 Workflow(工作流) 开源工具,基于 ...
- 工作流管理系统的介绍及现状研究
前言 如果数据库系统(database systems)像受人尊敬的智者讲述的条理清晰的故事,那么工作流(workflow)就像一群乳臭未干的小子在大谈各自的"哲理".之所以这样讲 ...
- 工作流-----WorkFlow
我们都知道对于一个OA系统来说,最重要的也是不可或缺的一个重要环节那就是对于工作流的实现,为此,最近专门在学习如何使用WorkFlow,问前辈,前辈也说道K2工作流引擎挺不错,自己同时也翻阅了一些资料 ...
- Windows Workflow Foundation - [介绍及相关资源]
Workflow Foundation是能使你在Windows平台上快速构建工作流应用程序的编程模型,引擎以及工具.WF支持各种各样的工作流场景:包括以用户界面为中心的页面流程,文档为中心的工作流程, ...
- 驰骋工作流引擎-总体介绍
关键字:驰骋工作流引擎,开源工作流,CCFLOW,CCBPM,流程引擎,流程解析服务器,表单引擎,表单解析服务器,.NET工作流,源代码 产品名称: 驰骋.net工作流程引擎. 英文名称: chich ...
最新文章
- log4j配置不生效
- 由laravel 5.5无法获取url中的参数引发的apache的.htaccess文件问题
- JavaScript实现k-nearest算法(附完整源码)
- MySQL 备份和恢复
- Magicodes.IE之花式导出
- php嵌套查询mysql语句_mysql 查询嵌套
- Java-命令行传递参数
- python创意爱情代码大全-王牌花色-题解(Python代码)
- PyTorc 1.0 中文文档:扩展PyTorch
- [Unity脚本运行时更新]C#4新特性
- oracle 客户端连接数_查看oracle数据库允许的最大连接数和当前连接数
- mysql hy000 2013_MySQLERROR2013(HY000)错误解决方法
- 萤火虫算法matlab实现,萤火虫算法,matlab代码.doc
- SPSS--Friedman检验步骤
- java 聊天室 私聊_使用socket实现网络聊天室和私聊功能
- UltraVNC:一款高层玩家使用的远程控制软件
- 【软件分析/静态程序分析学习笔记】3.数据流分析(Data Flow Analysis) (上):可达性分析(Reaching Definitions)
- HAL库-us级延时函数实现
- shell判断给定日期是否是周末or月末
- 网吧用的语音呼叫软件