• Software--WorkFlow_BPM 工作流引擎


    2017-12-22  09:56:06

    Wikipedia

    "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. "

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

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

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

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

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

    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 )
    • 流程定义增删改查
    • 流程变量增删改查
    • 启动流程定义
    • 任务增删改查
    • 完成任务
    • 历史信息查询
  • 相关阅读:
    Docker 使用笔记 (一)
    oracle 截取字符(substr),检索字符位置(instr)
    oracle表空间配额(quota)与UNLIMITED TABLESPACE系统权限
    把大象放到eclipse分几步?
    hadoop -- 搭建集群小工具
    1. Mybatis简单操作
    SpringMVC --- 拦截器 HandlerInterceptor
    Spring MVC --- 异步请求
    Spring MVC--RequestMapping
    Spring MVC 异常控制
  • 原文地址:https://www.cnblogs.com/masterSoul/p/8085635.html
Copyright © 2020-2023  润新知