1. 工作流概念

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

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

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

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

2. Activiti简介

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

                                             

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选项,这样会在流程文件保存时自动生成一张流程图片。
                           

4. BPMN图元介绍

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

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

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

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

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

4.1 泳道(Swimlanes)

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

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

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

4.2 流对象(Flow Objects)

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

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

4.3 连接对象(Connecting Objects)

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

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

4.4 人工信息(Artifacts)

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

 

(一)Activiti之——简介、插件安装及BPMN元素的更多相关文章

  1. activiti工作流之Eclipse的Eclipse BPMN 2.0 Designer无法安装或者(安装后无法重复打开*.bpmn)

    1.首先.既然学习activiti工作流,连官网和相应文件都没有下载就说不过去了 这是官网下载:http://www.activiti.org/download.html 2.对于下载后的activi ...

  2. Activity 学习(一) 插件安装篇

    目录 Ider下安装 Eclipse下安装 Ider安装图解 首先,创建一个普通的Java工程即可,然后按照下面流程进行: 1:点击菜单中的File(最左上角),选择settings 2:plugin ...

  3. 分布式搜索引擎ElasticSearch+Kibana (Marvel插件安装详解)

    在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsear ...

  4. Java Gradle入门指南之简介、安装与任务管理

        这是一篇Java Gradle入门级的随笔,主要介绍Gradle的安装与基本语法,这些内容是理解和创建build.gradle的基础,关于Gradle各种插件的使用将会在其他随笔中介绍.    ...

  5. VMware vSphere 5.1 简介与安装

    虚拟化系列-VMware vSphere 5.1 简介与安装  标签: 虚拟化 esxi5.1 VMware vSphere 5.1 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  6. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  7. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

  8. jBPM 6 开发 eclipse 插件安装

    jBPM 6 开发 eclipse 插件安装 概述 与之前的jBPM 5相比,jBPM 6 新引入的kjars及mavenized的特性,使流程开发设计与之前有了很大的不同,本文主要说明jBPM 6 ...

  9. Nutch之简介与安装

    初学Nutch之简介与安装 初学Nutch之简介与安装   1.Nutch简介 Nutch是一个由Java实 现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其 ...

随机推荐

  1. ubuntu 启动 重启 停止 apache

    一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start ...

  2. CSU 1337 搞笑版费马大定理【优化枚举】

    费马大定理:当n>2时,不定方程an+bn=cn没有正整数解.比如a3+b3=c3没有正整数解.为了活跃气氛,我们不妨来个搞笑版:把方程改成a3+b3=c3,这样就有解了,比如a=4, b=9, ...

  3. HDU 2164(模拟)

    Rock, Paper, or Scissors? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  4. 机器人搬重物(BFS)

    机器人搬重物 时间限制: 1 Sec  内存限制: 128 MB提交: 22  解决: 10[提交][状态][讨论版] 题目描述 机 器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一 ...

  5. Exchange2010启用反垃圾邮件功能

    今天邮箱服务器发现有大量发件人为空的邮件等待执行,也就是说空邮件堵塞了队列. 一般来说,空邮件就是别人发送垃圾邮件给你,你的服务上不存在这个收件人,那么系统会产生一封退信告诉你这封邮件已经被退.而ex ...

  6. Reference resources

    CentOS7 (精简操作指令) http://www.centoscn.com/CentOS/help/2016/0429/7147.html

  7. [BZOJ 3233] 找硬币

    Link: BZOJ 3233 传送门 Solution: 在本蒟蒻看来算是一道比较神的$dp$了 一开始转移方程都没看出来…… 首先,如果确定了最大面值,是能推出其他面值的所有可能值的 从而发现最大 ...

  8. python3全栈开发-并发编程,多线程

    一.什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合 ...

  9. Java高级架构师(一)第11节:Mybatis的分页实现

  10. Jackson错误:Can not deserialize instance of java.lang.String out of START_OBJECT token

    org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not des ...