工作流简介
工作流(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)基本介绍,转载请注明来源!