1. 工作流概念

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

工作流管理系统(Workflow Management System, WfMS):是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。

工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。工作流管理系统被用来定义、管理、和执行工作流程。

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

2. Activiti简介

Activiti工作流框架,是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。

                                             (一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

2.1 工作流引擎

ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。

2.2 BPMN

业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。

3. eclipse的activiti插件安装

推荐在线安装:

help——》Install New Software...——》

  Name: Activiti BPMN 2.0 designer

  Location: http://activiti.org/designer/update/
注意:安装之后要勾选save选项,这样会在流程文件保存时自动生成一张流程图片。
                           (一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

4. BPMN图元介绍

安装好插件之后,新建项目的时候可以直接新建Activiti 项目

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

新建完成之后,项目初始化如下

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

项目中要设计的BPMN流程图通常就是在diagrams文件夹下创建,新建生成bpmn后缀文件,我们可以通过右边的画板直接进行流程图的绘制。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

BPMN基本元素包括了这些元素,如下图所示:

  • 泳道(Swimlanes):池和道;
  • 流对象(Flow Objects):包括事件、活动、网关,是BPMN的核心元素;
    • 两种事件:普通开始事件(NoneStart Event)和普通结束事件(None End Event);
    • 一种活动:任务(Task),其中包括了子流程任务(Sub-ProcessTask);
    • 两种网关:排他网关(Exclusive)和并发网关(Parallel);
  • 三种连接对象(Connecting Objects):序列流(Sequence Flow)、消息流(Message Flow)和关联(Association);
  • 人工信息(Artifacts):包括数据对象、组、注释(Annotation)。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

4.1 泳道(Swimlanes)

使用泳道来区分不同部门或者不同参与者的功能和职责。泳道包含两种类别:池和道。使用池来表示流程的参与者,应用在公开流程和协作模型里。池与池之间的交互只能使用消息流表示。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

我们使用道对池内的活动进行分组,我们可以根据活动所属的部门或办理所需的职责(角色)来对活动进行分组。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

如果流程是私有流程并且活动没有分组的需要,那么通常我们会省略池。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

4.2 流对象(Flow Objects)

流对象是定义业务流程的主要图形元素。它进一步细分为三个大的类别,分别是事件、活动和网关。具体到事件、活动和网关里,流对象有很多的类别,BPMN元素的复杂性体现在流对象的众多类别上。

  • 事件:发生在流程执行过程中的事情。
  • 活动:在流程执行过程中执行的工作。
  • 网关:控制流程的分支和聚合。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

4.3 连接对象(Connecting Objects)

连接对象用来把各个流对象或流对象与其他信息连接起来,它分为三种类别:顺序流、消息流、关联。

  • 顺序流:表示流对象的前后执行顺序。
  • 消息流:表示公开流程或协作模型里参与者之间的消息、交互。
  • 关联:为流程中的元素关联信息或数据。

(一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

4.4 人工信息(Artifacts)

包括数据对象、组、注释(Annotation)。图片来源

 (一)Activiti之——简介、插件安装及BPMN元素-LMLPHP

05-11 17:43