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

     

  • 相关阅读:
    [原创]测试计划与测试方案区别
    [原创]什么是构建验证测试(BVT)
    [原创]什么是测试驱动开发?
    [原创]用TestDirector的测试管理的流程
    [原创]测试用例设计之"正面测试与和负面测试"
    [原创]测试用例设计之“因果图”法
    [原创]测试用例设计之“状态迁移图”法
    [转贴]测试工具自动化的最佳实践
    [原创]软件测试管理之“测试角色和职能”概述
    软件测试试题
  • 原文地址:https://www.cnblogs.com/wufengtinghai/p/2046987.html
Copyright © 2011-2022 走看看