流程引擎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、參考&引用

相關文章
相關標籤/搜索