JBPM是著名的開源流程引擎框架,具有非常高效的流程引擎及可視化流程設計器,使用主流的BPMN流程標准。它包含一系列非常有用的modeler,如DataModeler,FormModeler等,可以快速開發基於流程的程序,可以使非開發的業務人員也可以輕松實現業務流程構建及優化工作,大大提高了企業的流程建模效率。
JBPM主要的API有兩個包:
JBPM核心的兩個類RuntimeManager和RuntimeEngine的實現
public static RuntimeManager createRuntimeManager(String bpmn_name) {
RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory
.get()
.newDefaultInMemoryBuilder()
.addAsset(ResourceFactory.newClassPathResource(bpmn_name),
ResourceType.BPMN2).get();
RuntimeManager manager = RuntimeManagerFactory.Factory.get()
.newSingletonRuntimeManager(environment);
return manager;
}
public static RuntimeEngine createRuntimeEngine(RuntimeManager manager) {
RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get());
return engine;
}
當獲取到RuntimeEngine之後,就可以對流程進行相應的操作了,這裡主要介紹兩個類,KieSession和TaskService。
因為在日常的開發中,流程主要是實現的組織架構的審批流,所以大部分的流程操作都需要有人的參與,所以就需要
大量的使用Human Task,所以就需要TaskService這個類來實時監控KieSession中流程狀態的變化,所以通過TaskService
可以獲取所有的任務相關信息。
BPMN可視化流程分析器設計注意點:
流程設計主要包含兩部分內容,流程實例設計,節點實例設計,其中:
如何獲取當前節點的任務列表
List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("krisv", "en-UK");
TaskSummary task = tasks.get(0);
啟動任務
taskService.start(task.getId(), "krisv");
完成任務
taskService.complete(task.getId(), "krisv", results);
在每個節點處,節點任務都包含四個步驟:
JBPM4.4部署在Tomcat6以上的版本jar包沖突 http://www.linuxidc.com/Linux/2014-04/99476.htm
JBPM工作流開發指南 PDF http://www.linuxidc.com/Linux/2014-06/103823.htm
JBPM流程實例(PV)Process Variables http://www.linuxidc.com/Linux/2014-06/102859.htm
JBPM流程實例(PI)Process Instance http://www.linuxidc.com/Linux/2014-06/102858.htm
JBPM流程部署校驗 http://www.linuxidc.com/Linux/2014-06/102860.htm
JBPM 的詳細介紹:請點這裡
JBPM 的下載地址:請點這裡