Software--WorkFlow_BPM 工做流引擎

2017-12-22  09:56:06数据库

Wikipediaapi

"A workflow consists of an orchestrated and repeatable pattern of business activity enabled by the systematic organization of resources into processes 异步

that transform matrials, provide services, or process information. "ide

 

工做流 workflow 就是工做流程的计算模型,即将工做流程中的工做如何先后组织在一块儿的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工具

 工做流引擎workflow做为应用系统的一部分,为之提供对各应用系统有决定做用的根据角色、设计

分工和条件的不一样决定信息传递路由、内容等级等核心解决方案。3d

BPMN  (Business Process Model and Notataion) 业务流程模型与符号。orm

BPMN 是一套流程建模的标准, 流程模型的规范。 流程模型包括: 流程图、协做图、编排图、会话图。xml

Activiti 是一个开源的工做流引擎,实现了 BPMN 2.0 规范,能够发布设计好的流程定义,并经过 api 进行流程调度。对象

Activiti 核心是基于 Java 的超快速、超稳定的 BPMN 2.0 流程引擎, 强调流程服务的可嵌入性和可扩展性, 更增强调面向业务人员。

该引擎的中点关注在系统开发的易用性和轻量性上。 每一项 BPM 业务功能 Activiti 流程引擎都以服务的形式提供给开发人员。经过使用这些服务,开发人员构建出功能丰富、轻便且搞笑的BPM应用程序。

 

以当下主流的开源 Java  BPM  Activiti , Intellij Idea 为例

1 Intellij Idea   File =》 Setting => Plugins => Browser => ( Searching activiti ) Install

 

 2. 新建一个 BPMN file 文件

 

3. 展现界面:

 

核心类: ProcessEngine

1)ProcessEngin 是在 Activiti 中的核心类,其余类的父类

2)获取:

  ProcessEngine  processEngine = ProcessEngines.getDefaultProcessEngine();

3)管理流程定义,能够产生 RepositoryService

  RepositoryService  repositoryService = ProcessEngine.getRepositoryService(0;

4)执行管理,包括启动,推动,删除流程实例, 产生 RuntimeService

  RuntimeService  runtimeService = processEngine.getRuntimeService();

5)管理任务, 产生TaskService

  TaskService  taskService = processEngine.getTaskService();

 

一个配置文件

activiti.cfg.xml 

配置流程引擎建立工具的基本参数和数据库链接池参数

 

五种数据库表

Activiti 的后台数据库相关, 全部的表以 ACT_ 开头。第二部分表示表的用途的两个字母标识。

用途和服务的 API 对应。

  1. ACT_RE_* : ' RE ' 表示 repository。 该前缀的表包含了流程定义和流程静态资源(图片,规则,等等)
  2. ACT_RU_* : ' RU ' 表示 runtime。这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。Activiti 只在流程实例执行过程当中保存这些数据,在流程结束时就会删除这些记录。这样运行时表能够一直很小速度很快。
  3. ACT_ID_* : ' ID ' 表示 Identity 。包含身份信息,例如用户, 组。
  4. ACT_HI_* : ' HI ' 表示 History 。包含历史数据。好比历史流程实例,变量,任务。
  5. ACT_GE_* : ' GE ' 表示 Genory 。 通用数据, 用于不一样场景下,如存放资源文件。

 

二十三 表

不一样的表存放不一样方面的数据,如流程定义表、任务结点表、流程变量表、任务历史表。

 

五项 Service

TaskService, 是 activiti 的任务服务类。 能够从这个类中获取任务的信息。

HistoryService,是 activiti 的查询历史信息的类。在一个流程执行完成后,这个对象

为咱们提供查询历史信息。

 

七项基本操做

  • 设计流程图(UI )
  • 流程定义增删改查
  • 流程变量增删改查
  • 启动流程定义
  • 任务增删改查
  • 完成任务
  • 历史信息查询
相关文章
相关标签/搜索