zoukankan      html  css  js  c++  java
  • JBPM中JPDL深入解析

    JBPMJPDL深入解析

     

           流程引擎需要根据流程定义进行业务流程的流转,所以提供一种简单直观、易用方便、便于扩展的流程定义方式就显得直观重要了。JBPM提供了自己的一套流程定义语言JPDL,通过对JPDL的分析解决,我们可以了解其架构设计和运行机制,以便根据业务需求进行灵活的扩展。

           JBPMJPDL架构设计

    1.       定义相关的xsd文件(比如jpdl-4.0.xsdjpdl-4.2.xsdjpdl-4.3.xsdjpdl-4.4.xsd)。

    Xsd定义了流程定义xml的整体架构,既xml中的元素和属性,其也就决定了我们定义的流程定义的xml的形式;同时在流程发布的时候也会使用xsd进行验证。

           2.    定义并编码与xsd中定义的活动结点对应的binding类,用于解析相应流程定义xml              活动结点;

           3.    jbpm.jpdl.cfg.xml文件中定义最终负责管理解析xmldeployer

           JBPMJPDL运行机制

           1. XSD定义流程xml的元素和属性,控制了xml的整体结构

           2.  引擎初始化时,加载jbpm.jpdl.bindings.xml中配置的binding类,为解析流程定义xml

    做准备

    3.       作好流程定义xml,并通过xsd进行整体的规则验证

    4.       配置的xml解析类解析流程定义xml,同时根据相关的binding类解析不同的活动结点,并最终形成ProcessDifinitionImpl对象,并将该对象实例进行全局缓存

    5.     定义的相关数据进行持久化

     

           扩展新的活动类型

    1.       jpdl-4.4.xsd中添加下列代码

    2.       开发自定义活动的binding

    这里需要注意的是Tag的值一定要与xsd<element name=””>name的值相等

    3.       开发自定活动的ActivityBehavior

     

    4.       jbpm.jpdl.bindings.xml中添加新增的binding

     

    Ok ,我们现在新增好了一个新的活动类型!对于扩展以后活动的属性,先前的文章已经介绍,不在赘述!

     

  • 相关阅读:
    python 的基础 学习 第六天 基础数据类型的操作方法 字典
    python 的基础 学习 第五天 基础数据类型的操作方法
    python 的基础 学习 第四天 基础数据类型
    ASP.NET MVC 入门8、ModelState与数据验证
    ASP.NET MVC 入门7、Hellper与数据的提交与绑定
    ASP.NET MVC 入门6、TempData
    ASP.NET MVC 入门5、View与ViewData
    ASP.NET MVC 入门4、Controller与Action
    ASP.NET MVC 入门3、Routing
    ASP.NET MVC 入门2、项目的目录结构与核心的DLL
  • 原文地址:https://www.cnblogs.com/wufengtinghai/p/2046987.html
Copyright © 2011-2022 走看看