分享

第16章. 可插入的架构

 huangxy2 2011-11-17

第16章 可插入架构

jBPM 功能被分隔成模块. 每个模块有一个定义和执行(runtime)部分. 中央模块是图模块, 由ProcessDefinitionProcessInstance组成 . 流程定义包含一个图并且流程实例表示一个图的执行.所有jBPM其他的功能被分组成了几个可选模块 .可选模块扩展图模块额外特性比如上下文(流程变量),任务管理,定时器, ...

The pluggable architecture

Figure 16.1.  可插入架构

在jBPM里可插入架构也是唯一机制为jBPM引擎添加定制能力.定制流程定义信息通过 ModuleDefinition . 当 ProcessInstance被建立,它将为每一个在 ProcessDefinition的 ModuleDefinition产生实例ModuleDefinition 用做 ModuleInstances工厂.

最完整的扩展流程定义信息方式是通过给流程档案加入信息通过实现 ProcessArchiveParser . ProcessArchiveParser能解析加入到流程档案中的信息 , 建立你的定制 ModuleDefinition并且把它加入到 ProcessDefinition.

public interface ProcessArchiveParser {

  void writeToArchive(ProcessDefinition processDefinition, ProcessArchive archive);
  ProcessDefinition readFromArchive(ProcessArchive archive, ProcessDefinition processDefinition);

}

为了让它工作,定制 ModuleInstance必须在执行期间通知相关事件 .定制 ModuleDefinition 可增加 ActionHandler 实现在流程事件之上用做callback handlers .

另外的方法,定制模块可以用AOP来绑定定制实例到流程执行. JBoss AOP 非常适合做这个工作因为它的成熟,易学并且也是JBoss堆栈的一部分.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多