1, BPMN 是什么?
Business Process Modeling Notation 简称 BPMN, 含义是业务流程建模标注.是由BPMN 标准组织发布的, BPMN 定义了业务流程图, 其基于流程图技术, 同时对创建业务流程操作的图形化模型进行了裁剪, 业务流程的模型就是图形化对象的网图, 包括活动(也可以说是工作)和定义操作顺序的流控制.
2,Activiti的特点:
1, 数据持久化,
Activiti的设计思想就是简单,快速, 针对这一点, Activiti 选择使用了MyBatis, 从而可以通过最优的SQL 语句执行Command
2, 引擎Service 接口,
Activiti 提供了七大Service 接口, 均通过ProcessEngine 获取, 并且支持链式的API 编程风格, 简单介绍接口:
RepositoryService : 流程仓库Service, 用于管理流程仓库, 例如, 部署, 删除, 读取流程资源.
IdentifyService : 身份Service 可以管理和查询用户, 组之间的关系.
RuntimeService : 运行时Service 可以处理所有正在运行状态的流程实例, 任务等,
TaskService : 任务Service 用于管理, 查询任务, 例如, 签收, 办理, 指派.
FormService : 表单Service , 用于读取和流程, 任务相关的表单数据
HistoryService : 历史Service , 可以查询所有的历史数据, 例如, 流程实例, 任务, 活动, 变量等
ManagementService : 引擎管理Service , 和具体业务无关, 主要是可以查询引擎配置, 数据
库, 作业等,
3, 流程设计器:
开发团队设计了用来设计BPMN 2.0 规范的流程设计器, -----eclipse Designer , 此外还有Signavio公司为Activiti定制的基于WEB 的Activiti Modeler 流程设计器.
4, 原生支持Spring
原生支持Spring , 可以很轻松的进行Spring的集成, 非常方便的管理实务和解析表达式,
5, 分离运行时于历史数据:
Activiti 继承自JBPMN4 在表的设计方面也是遵循运行时于历史数据的分离, 可以大幅度的提高数据的存取效率.
3, Activiti的 应用:
1, 在系统集成方面应用:
与ESB (Enterprise Service Bus, 企业服务总线)整合, 例如 Mule.
备注:
ESB全称为Enterprise Service Bus,即
企业服务总线
。它是传统
中间件
技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的
软件架构
,可以提供比传统
中间件产品
更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了
事件驱动
和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
与规则引擎(Rule Engine) 整合, 例如 JBoss Drools.
嵌入已有的系统平台, 例如很多公司, 都开发了自己的系统平台, 在其中嵌入Activiti 作为平台
一部分,
4, Activiti 的架构和组件:
组件介绍:
Activiti Engine : 最为核心的模块, 提供对bpmn 2.0 规范的解析, 执行, 创建, 管理(任务, 流程实例).查询历史记录并根据结果生成报表.
Activiti Modeler : 模型设计器,
Activiti Designer : 功能和Activiti Modeler 类似, 同样提供了基于BPMN 2.0 规范的可视化设计功能,
Activiti Explorer : 可以用来管理仓库, 用户, 组, 启动流程, 任务办理等, 此组件使用REST 风格的API, 提供了一个基础的设计模型,
Activiti REST : 提供 Restful 风格的服务, 允许客户端以 JSON 的方式与引擎的REST API 交互, 通用的协议具有跨平台, 跨语言的特性.