工作流介绍

xiaoxiao2021-02-28  108

一、工作流概念

工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。

工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。 工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的 定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。工作流管理系统被用来定义、管理、和执行工作流程。

工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行——在自动化进行的业务过程中插入人工的执行和干预。

二、Activiti

Activiti

Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任,Tom Baeyens就是原来jbpm的架构师, 而jbpm是一个非常有名的工作流引擎,当然activiti也是一个工作流引擎。 Activiti是一个工作流引擎, activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行, 实现了业务系统的业务流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。   1、  BPM BPM(Business Process Management),即业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的系统化方法   2、  BPMN BPMN(Business Process Model And Notation)- 业务流程模型和符号 是由BPMI(Business Process Management Initiative)开发的一套标准的业务流程建模符号, 使用BPMN提供的符号可以创建业务流程。 2004年5月发布了BPMN1.0规范.BPMI于2005年9月并入OMG(The Object Management Group对象管理组织)组织。OMG于2011年1月发布BPMN2.0的最终版本. activiti就是采用bpmn2.0进行建模     关于流程的两个常用到的关键词  流程定义 ,流程实例 他们的关系就像java类和java对象一样

1流程实例(ProcessInstance):a和b都发起了一个病假,那么就产生了两个病假的流程实例

2流程定义(ProcessDefinition):a和b请的病假就是一个流程定义

 

  activiti服务架构图   上面的架构说白了就是通过activiti.cfg.xml获取引擎配置对象ProcessEngineConfiguration 通过这个配置对象获取引擎对象ProcessEngine, 最后可以通过引擎获取各个service来进行流程的处理 3.工作流引擎 ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。 工作流的API所有的调用都要用到工作流引擎   RepositoryService activiti的资源管理类 ,用于流程部署,获取流程部署的资源。。 RuntimeService activiti的流程运行管理类,用于启动一个流程实例,操作当前运行的流程信息 TaskService activiti的任务管理类,操作个人任务,组任务 HistoryService activiti的历史管理类,用于操作历史 流程信息 IdentityService activiti的用户身份管理类,设置用户、组(角色)、用户和组关系 。。 FormService activiti的表单管理类,实现activiti中配置表单数据。 ManagerService activiti的引擎管理类,用于activiti运行的监控,给超级管理员使用。

 

转载请注明原文地址: https://www.6miu.com/read-27208.html

最新回复(0)