流程引擎JBPM6.3初探

1、简介

BPM(Java Business Process Management),是基于java的业务流程管理套件。 java

它容许你整个的生命周期中建模、执行和监控业务流程业务流程,容许你去建模一个流程表,这个流程表描述了要达到的目标,并按必定次序执行。 session

clip_image001

jBPM的核心是一个纯java语言编写的轻量级、可扩展的工做流引擎,它容许你去执行使用了最新的BPMN2.0规范的业务流程。 架构

与项目相关的特性: 框架

  • 基于Java开发。
  • 容许多种方式调用,包括REST, JMS(Java Message Service), Remote Java API。
  • 与Java框架如Maven, Spring, OSGi等集成良好。

 

2、JBPM的架构

2.1 架构

JBPM的组件图以下: 测试

clip_image001[5]clip_image003

其中,流程引擎Core Engine是项目的核心而且是必须的。 .net

Eclipse插件是Eclipse集成开发环境的一种扩展,目标针对于开发人员,同时容许你经过拖拽的方式建立你的业务流程,提供高级的测试。 插件

Guvnor知识库,它所针对的目标是业务用户和容许你从你的应用中分离处理,来管理你的流程。 日志

clip_image005

历史日志(History Log)是可选的,它将会记录你全部的流程实例的当前和先前状态的有关信息。 生命周期

人工任务服务(Human Task Service)是一项可选的核心服务,若是人工角色参与了流程,它将会管理人工任务的生命周期。 ip

2.2 与流程引擎的交互

要与流程引擎进行交互,好比启动一个流程实例(Process instance)。须要建立一个session,以下图中的stateful knowledge session。这个session负责与流程引擎进行交互,同时须要引用 一个包含了流程的全部信息的知识库Knowledge Base。

clip_image001[7]

也就是说,要去建立一个会话session,你首先须要去建立一个knowledge base,连接到全部的必需且已定义的流程,而后初始化一个会话session。一旦你创建了一个会话,你就能够用它来执行流程了。一个流程不管何时被启动,一个新的流程实例都将被建立,并维持各自的流程实例的状态。

分解下来,咱们在开发中流程是:

  • 建立一个包含流程定义的knowledge base
  • 建立一个用来启动新的流程的会话session
  • 执行会话,建立流程实例
  • 运行流程实例

 

 

 

 

 

 

 

 

 

XX、参考&引用

相关文章
相关标签/搜索