WEB开发网
开发学院软件开发Java jBPM4 PVM的流程定义模型与过程调度 阅读

jBPM4 PVM的流程定义模型与过程调度

 2009-09-21 00:00:00 来源:WEB开发网   
核心提示: Java代码List<?extendsActivity>getActivities();booleanhasActivity(StringactivityName);ActivitygetActivity(StringactivityName);很明显,它持有了Activity的集合

Java代码   

 List<? extends Activity> getActivities(); 
 
 boolean hasActivity(String activityName); 
 
 Activity getActivity(String activityName);
 

很明显,它持有了Activity的集合,对于ProcessDefinition来说,这是一件很自然地事情:流程定义包含多个节点定义。重要的是Activity自身华丽的变身:节点定义实现了嵌套,出现了结构块。看图说话:

jBPM4 PVM的流程定义模型与过程调度

图片看不清楚?请点击这里查看原图(大图)。

这一设计在jBPM3里是没有的,但是在jBPM4里则必须出现,因为结构块是BPEL和BPMN里的重要概念。既然号称PVM,则必须向BPEL和 BPMN致敬。稍后我们可以看到,结构块的引入给引擎过程调度增加了很大的复杂度。在jPDL里,与之对应的实现是group。这是jBPM4流程定义模型的最重要改变。

ProcessDefinition和Activity分别继承自CompositeElement,Activity和Transition建立起双向关联,这三者也是工作流模型里的标准建模。

PVM的过程调度

jBPM4采用execution来记录当前流程执行的位置,并通过移动execution来推动流程的流转。

Java代码  

 /** transient cached current activity pointer. persistence is managed in {@link #activityName} */ 
 private ActivityImpl activity; 
 
 /** transition is not to be made persistable by default */ 
 protected TransitionImpl transition;
 

上一页  1 2 3 4 5  下一页

Tags:jBPM PVM 流程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接