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。一旦你創建了一個會話,你就能夠用它來執行流程了。一個流程不管何時被啓動,一個新的流程實例都將被建立,並維持各自的流程實例的狀態。
分解下來,咱們在開發中流程是: