BPM(Java Business Process Management),是基于java的业务流程管理套件。 java
它容许你整个的生命周期中建模、执行和监控业务流程业务流程,容许你去建模一个流程表,这个流程表描述了要达到的目标,并按必定次序执行。 session
jBPM的核心是一个纯java语言编写的轻量级、可扩展的工做流引擎,它容许你去执行使用了最新的BPMN2.0规范的业务流程。 架构
与项目相关的特性: 框架
JBPM的组件图以下: 测试
其中,流程引擎Core Engine是项目的核心而且是必须的。 .net
Eclipse插件是Eclipse集成开发环境的一种扩展,目标针对于开发人员,同时容许你经过拖拽的方式建立你的业务流程,提供高级的测试。 插件
Guvnor知识库,它所针对的目标是业务用户和容许你从你的应用中分离处理,来管理你的流程。 日志
历史日志(History Log)是可选的,它将会记录你全部的流程实例的当前和先前状态的有关信息。 生命周期
人工任务服务(Human Task Service)是一项可选的核心服务,若是人工角色参与了流程,它将会管理人工任务的生命周期。 ip
要与流程引擎进行交互,好比启动一个流程实例(Process instance)。须要建立一个session,以下图中的stateful knowledge session。这个session负责与流程引擎进行交互,同时须要引用 一个包含了流程的全部信息的知识库Knowledge Base。
也就是说,要去建立一个会话session,你首先须要去建立一个knowledge base,连接到全部的必需且已定义的流程,而后初始化一个会话session。一旦你创建了一个会话,你就能够用它来执行流程了。一个流程不管何时被启动,一个新的流程实例都将被建立,并维持各自的流程实例的状态。
分解下来,咱们在开发中流程是: