Activiti 概述

一.    概述

 

Activiti 是个全新、基于 Apache 2 许可的开源项目,提供了轻量级、嵌入式的 BPM 引擎并支持 BPMN 2.0

该项目由 jBPM 创建者,前 JBoss jBPM 领导与 BPM 权威 Tom Baeyens 主持大局。前 jBPM 团队成员 Joram Barrez 此前也加入了该项目,成为 Activiti 的核心开发人员。

 

Activiti 第一个正式版在 2010 12 1 release ,版本号为 5.0 ,也是隐晦地暗示这个新的 BPM 项目是继承自 JBPM 4 

 

 

二.    架构

1 . Activiti 组件 :

 

  对于 Activiti ,它目前具有以下几个关键组件:
    1.
流程引擎 (ProcessEngine)
     
作用:运行时核心组件,解析流程定义文件 (.bpmn20.xml 文件 ) ,将其转化为纯粹的内存 Java 对象,以供运行时各个功能使用;
    2.
管理员控制台( activiti-probe
     
作用:供系统管理员了解 Activiti 底层数据库目前的情况。
    3.
用户控制台( activiti-explorer
     
作用:供普通用户真正使用 Activiti 流程引擎功能

 4.业务流程建模工具(activiti-modeler)
      作用:供业务人员通过图形界面建立需要的业务流程模型。

  5. 流程周期层 (activiti-cycle )

  作用: 它是一个促进业务人员,开发人员和 IT 运营人员之间协作的基于 web 的应用程序。

  6. 流程虚拟机( process virtual machine

作用: 流程虚拟机是 Activiti 引擎的架构基础层。它允许对活动类型,特性和完整的流程语言进行自如地插拔。

 

 

2. Activiti API

 

中间 ProcessEngine 代表流程引擎,它需要引用一个 ProcessEngineConfiguration 对象,它有几种生成方式。

 

其中最基本的方式如下 :

 

rocessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
TaskService taskService = processEngine.getTaskService();
ManagementService managementService = processEngine.getManagementService();
IdentityService identityService = processEngine.getIdentityService();
HistoryService historyService = processEngine.getHistoryService();
FormService formService = processEngine.getFormService();
 

 

通过 ProcessEngineBuilder 读取 activiti 的配置文件,就可以生成流程引擎实例。

通过流程引擎实例 processEngine, 我们就可以通过 getXXXService() 取得各种包含 workflow/BPM 方法的 service

 

RepositoryService 提供方法获取各种流程和部署文件的信息 .

TaskService : 提供对任务相关的各种操作

identityService : 管理用户和用户组。

FormService : 获取或者绑定数据到流程实例上

RuntimeService : 提供操作部署文件,流程文件和流程实例的方法 .

ManagementService : 提供管理员对流程引擎的监控,和流程引擎服务应用无关。

HistoryService : 提供正在执行和过去执行的各种流程实例信息

猜你喜欢

转载自jeemiss.iteye.com/blog/1048118