`
madrocket
  • 浏览: 17557 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

扩展jbpm的一个大纲

阅读更多

1.  会签

简单描述:多人对同一任务进行审核,每人处理后方可结束此任务

曲折实现方式:用action-event方式创建新的任务实例

示意代码ActionHandler的子类中(详细代码和图例见附件文)

            会签人={z3,l4,w5}

TaskMgmtInstance tmi = executionContext.getTaskMgmtInstance()

循环{

TaskInstance tasks = tmi.createTaskInstance(task, token);

tasks.setActorId(会签人[i]);

}

扩展点:方式1.添加“会签任务节点”,继承node,创建真正的会签节点(修改源码)

方式2.流程设计器弥补,在界面上添加一个按钮为会签节点,实际上也是一个普通的节点,但是里面同时带上eventaction同时设置create-tasks="false"(不修改源码)

2.  并发子流程

简单描述:同一个任务实例上,同时跑n个子流程,每个子流程均结束后,此任务实例方可结束

曲折实现方式:用fork-join方式

 

具体问题:虽然能够实现并发,也能等待所有子流程结束后,主流程才继流转,但难以将子流程和主流程绑定,由此而衍生出的问题:

1流程跟踪问题变得困难

2主流程任务结束后,子流程仍然继续流转

3子流程和主流程的参数传递问题

讨论点:1是否用fork-join的方式实现并发子流程,如果不用,什么用什么方式实现

        2是否做成需要支持并发数量和并发的子流程哪一个不确定的动态并发(一个场景,修理汽车,检查哪里坏了( 主流程开始)1总体车的骨架修理(子),2轮胎修理(子),3汽车引擎修理等等子流程(子))那么其中任何一个子流程没有完成,汽车都没有修好。子流程结束以后,自然有两种状态(1修好了,2没有修好)

        A根据以上的场景,由此衍生以后更加细致的需求,是不是每两车来都需要修理这个部件,如果答案是否定的,那么到底需要修理那些部件,是靠流程变量传值吗?如果是那么就不需要流程定义中定义三个子流程,而是动态的创建,

      B.以轮胎为例,轮胎优良分上、中、下三种,到底换那一种呢?每个子流程可能需要的主流程传递参数,子流程结束后把参数传递给主流程

个人看法:1第一个版本在流程定义中写死,2对子流程的和主流程的之间的参数传递封装(抛砖引玉)

3.  回退

简单描述:此任务实例可以回退到上个任务实例,或者是上上个任务实例

 

 

 

曲折实现方式:用流程的转向(transion)、决策(decision)、变量(various

问题:这样做需要在流程定义中加入很多的链接线,和决策的判断。

扩展点:修改源码对任务实例加入一个聚集属性<可以回退的节点集合>

 

4.  退回

Jbpm一个任务的完成仅仅是用tokensingle方法,并没有执行结果,仅仅是对create,start,end 三个时间做了修改,在实际应用中,往往需要这个任务实例执行的结果,yes,还是no,同意还是不同意,0还是1,已经为什么这么选择所带的一个描述,或者是注释,或者叫意见也好

个人意见:将任务实例加入属性(执行结果(boolean),执行意见(string))

并且修改token令牌的single方法,根据执行结果这个属性决定继续流转还是驳回请求。其中驳回到哪个节点呢?直接让流程直接结束还是选择的处理呢?

5.  流程跟踪

根据一个任务实例实例id,知道整个流程中已经create的任务实例,目前关于子流程和主流程的情况,有些棘手,其他还好取到

6.  各种列表(分页)(任务,流程)

主要根据任务实例中的(createstart,end)来取值

待办(end==null),已办(end!=null),办结(流程实例中的end!=null),未签(start==null),已签(start!=null),

还有一个很重要的就是“我发起的任务”,表示这个流程由他发起的。例如,名叫张三的光棍要娶媳妇王二麻子为妻,需要走下面的流程

 

 

 

 

Jbpm的启动流程,干了2件大事,1流程实例表填一条数据,2流程定义中的开始任务创建,并结束,然后流转到找媒婆的任务节点,那么开始节点究竟做什么了呢?他并没有记录张三启动了流程,开始任务实例,你会发现在任务实例中也找不到。问题来了。。。回过头来,看看这个流程。。

   张三想找媳妇儿,所以他启动流程。但是张三不一定非得自己去找媒人,可以让他的下人去帮他找个口才好的媒婆,假如是他的下人李四帮张三找了媒婆。那好,在任务实例这个表中,就生成了一条数据是李四找媒婆,结着,一切很顺利,流程一直走到张三取到王二麻子为妻了。

   等他70岁时,他的孙子--张孙孙想听听他爷爷的故事,这时候,张三的记性不好,需要用咱们的流程的软件,这时候,他想就找到这个流程,输入自己名字想查自己发起娶媳妇的流程,却怎么也找不到,问题处在哪里?

加入开始节点也生成一个任务实例,并且指定参与者,上面的问题将不会困惑张孙孙和张三

个人意见:将开始节点普通化,可以找到自己发起的流程

曲折解决方案:流程定义中添加一个冗余节点,如下图:

 

 

     

 

 

 

流程定义服务组件

流程定义部署

支持以界面的方式实现流程定义文件(包括单个的xml文件及zip包)的上传,上传后直接部署至流程引擎服务器;

流程定义列表及查询

 

可以以列表的形式展示所有版本的流程定义,可以按照版本、名称等对流程定义进行查询

流程定义备份

可以对流程定义进行整体或分类进行备份,打包为zip文件

流程定义权限管理

可以对流程定义进行授权,哪些人对哪些流程定义具有管理权限、编辑权限等

 

7.  业务表单(表单和属性权限(隐藏、只读、可写))

流程表单,任务表单

在流程定义中加入form元素和role元素

见如下草图:

 

 

 

8.  组织机构

方式1.重新实现一套组织结构的机制,包括数据库,接口,实现类都算在jbpmside的工作中,客户端用的时候,根据他们自己的数据库中的组织关系进行数据同步

 

方式2.jbpmside只是提供一个接口,使用jbpmside的客户,根据自己的想用的组织结构的现状进行扩展(其中接口中具体需要那些方法,共同决定)

下面是一些额外的服务,暂时不做扩展

9.  时间调度

10.Log日志

11.邮件服务

 

分享到:
评论

相关推荐

    jbpm jpdl 帮助文档pdf版

    - **用途**:扩展jBPM的功能,满足特定需求。 ### 4. Graph Oriented Programming #### 4.1 Introduction - **概念**:基于图论的方法来描述和执行工作流。 - **优势**:直观、易于理解。 #### 4.1.1 Domain...

    少儿编程scratch项目源代码文件案例素材-绝地求生.zip

    少儿编程scratch项目源代码文件案例素材-绝地求生.zip

    嵌入式八股文面试题库资料知识宝典-文思创新面试题2010-04-08.zip

    嵌入式八股文面试题库资料知识宝典-文思创新面试题2010-04-08.zip

    一种基于剪切波和特征信息检测的太阳斑点图融合算法.pdf

    一种基于剪切波和特征信息检测的太阳斑点图融合算法.pdf

    并联型APF有源电力滤波器Matlab Simulink仿真:dq与αβ坐标系下的谐波无功检测与PI控制及SVPWM调制

    内容概要:本文详细介绍了并联型有源电力滤波器(APF)在Matlab/Simulink环境下的仿真研究。主要内容涵盖三个关键技术点:一是dq与αβ坐标系下的谐波和无功检测,利用dq变换和FBD技术实现实时检测;二是两相旋转坐标系(dq)与两相静止坐标系(αβ)下的PI控制,通过调整比例和积分环节实现精准控制;三是SVPWM调制方式的应用,通过优化开关时序提升系统效率和性能。文中还提供了详细的仿真介绍文档,包括模型搭建、参数设定以及结果分析。 适合人群:从事电力电子、自动化控制领域的研究人员和技术人员,尤其是对电力滤波器仿真感兴趣的读者。 使用场景及目标:适用于需要深入了解并联型APF工作原理和实现方式的研究人员,旨在通过仿真工具掌握谐波和无功检测、PI控制及SVPWM调制的具体应用。 其他说明:本文不仅提供了理论知识,还结合了实际操作步骤,使读者能够通过仿真模型加深对APF的理解。

    Arduino KEY实验例程【正点原子ESP32S3】

    Arduino KEY实验例程,开发板:正点原子EPS32S3,本人主页有详细实验说明可供参考。

    嵌入式八股文面试题库资料知识宝典-嵌入式C语言面试题汇总(66页带答案).zip

    嵌入式八股文面试题库资料知识宝典-嵌入式C语言面试题汇总(66页带答案).zip

    .archivetempdebug.zip

    .archivetempdebug.zip

    嵌入式系统开发_CH551单片机_USB_HID复合设备模拟_基于CH551单片机的USB键盘鼠标复合设备模拟器项目_用于通过CH551微控制器模拟USB键盘和鼠标输入设备_实现硬.zip

    嵌入式系统开发_CH551单片机_USB_HID复合设备模拟_基于CH551单片机的USB键盘鼠标复合设备模拟器项目_用于通过CH551微控制器模拟USB键盘和鼠标输入设备_实现硬

    少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip

    少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip

    少儿编程scratch项目源代码文件案例素材-火影.zip

    少儿编程scratch项目源代码文件案例素材-火影.zip

    两极式单相光伏并网系统的Boost电路与桥式逆变仿真及优化方法

    内容概要:本文详细介绍了两极式单相光伏并网系统的组成及其仿真优化方法。前级采用Boost电路结合扰动观察法(P&O)进行最大功率点跟踪(MPPT),将光伏板输出电压提升至并网所需水平;后级利用全桥逆变加L型滤波以及电压外环电流内环控制,确保并网电流与电网电压同频同相,实现高效稳定的并网传输。文中还提供了具体的仿真技巧,如开关频率设置、L滤波参数计算和并网瞬间软启动等,最终实现了98.2%的系统效率和低于0.39%的总谐波失真率(THD)。 适合人群:从事光伏并网系统研究、设计和开发的技术人员,特别是对Boost电路、MPPT算法、逆变技术和双环控制系统感兴趣的工程师。 使用场景及目标:适用于希望深入了解两极式单相光伏并网系统的工作原理和技术细节的研究人员和工程师。目标是在实际项目中应用这些理论和技术,提高光伏并网系统的效率和稳定性。 其他说明:文中提供的仿真技巧和伪代码有助于读者更好地理解和实现相关算法,在实践中不断优化系统性能。同时,注意电网电压跌落时快速切换到孤岛模式的需求,确保系统的安全性和可靠性。

    昭通乡镇边界,矢量边界,shp格式

    矢量边界,行政区域边界,精确到乡镇街道,可直接导入arcgis使用

    嵌入式八股文面试题库资料知识宝典-嵌入式c面试.zip

    嵌入式八股文面试题库资料知识宝典-嵌入式c面试.zip

    嵌入式八股文面试题库资料知识宝典-I2C总线.zip

    嵌入式八股文面试题库资料知识宝典-I2C总线.zip

    岩土工程中随机裂隙网络注浆模型及其应用:不同压力下注浆效果的研究

    内容概要:本文详细介绍了三种注浆模型——随机裂隙网络注浆模型、基于两相达西定律的注浆模型、基于层流和水平集的注浆扩散模型。首先,随机裂隙网络注浆模型基于地质学原理,模拟裂隙网络发育的实际地质情况,在不同注浆压力下进行注浆作业,以增强地基稳定性和提高承载能力。其次,基于两相达西定律的注浆模型利用数学公式模拟裂隙网络中的流体输送过程,适用于裂隙网络地质条件下的注浆效果分析。最后,基于层流和水平集的注浆扩散模型通过引入层流特性和水平集方法,更准确地模拟注浆过程中的扩散过程。文中还讨论了不同注浆压力对注浆效果的影响,并提出了优化建议。 适合人群:从事岩土工程、地基加固等相关领域的工程师和技术人员。 使用场景及目标:①帮助工程师选择合适的注浆模型和注浆压力;②为实际工程项目提供理论支持和技术指导;③提升地基加固的效果和效率。 其他说明:文章强调了在实际应用中需要结合地质条件、裂隙网络特点等因素进行综合分析,以达到最佳注浆效果。同时,鼓励不断创新注浆工艺和方法,以满足日益增长的地基加固需求。

    COMSOL Multiphysics 5.5与6.0版本Ar棒板粗通道流注放电仿真的电子特性分析

    内容概要:本文详细比较了COMSOL Multiphysics软件5.5和6.0版本在模拟Ar棒板粗通道流注放电现象方面的异同。重点探讨了不同版本在处理电子密度、电子温度、电场强度以及三维视图等方面的优缺点。文中不仅介绍了各版本特有的操作方式和技术特点,还提供了具体的代码实例来展示如何进行精确的仿真设置。此外,文章还讨论了网格划分、三维数据提取和电场强度后处理等方面的技术难点及其解决方案。 适合人群:从事等离子体物理研究的专业人士,尤其是熟悉COMSOL Multiphysics软件并希望深入了解其最新特性的研究人员。 使用场景及目标:帮助用户选择合适的COMSOL版本进行高效、精确的等离子体仿真研究,特别是在处理复杂的Ar棒板粗通道流注放电现象时提供指导。 其他说明:文章强调了在实际应用中,选择COMSOL版本不仅要考虑便捷性和视觉效果,还需兼顾仿真精度和可控性。

    嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_8.doc.zip

    嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_8.doc.zip

    通信系统中波形优化与捷变频、PRT抗干扰技术及ISRJ联合优化的应用研究

    内容概要:本文详细介绍了在现代通信系统中,抗干扰技术的重要性和具体应用方法。首先阐述了抗干扰技术的背景及其重要性,随后分别讨论了捷变频技术和波形优化技术的具体机制和优势。捷变频技术能快速改变工作频率,防止被干扰源锁定;波形优化技术则通过改进信号波形来提升抗干扰性能。接着,文章探讨了两种技术相结合的协同效应,最后重点介绍了发射信号及接收滤波器联合优化的抗干扰策略(ISRJ),这是一种综合性优化手段,旨在最大化抗干扰效果并提高通信质量。 适合人群:从事通信工程及相关领域的研究人员和技术人员,尤其是关注抗干扰技术的专业人士。 使用场景及目标:适用于需要提升通信系统稳定性和可靠性的场合,如军事通信、卫星通信等领域。目标是帮助技术人员理解和掌握先进的抗干扰技术,应用于实际项目中。 其他说明:文中提到的技术不仅限于理论层面,还涉及具体的实施细节和应用场景,有助于读者深入理解并应用于实践中。

    少儿编程scratch项目源代码文件案例素材-吉他英雄.zip

    少儿编程scratch项目源代码文件案例素材-吉他英雄.zip

Global site tag (gtag.js) - Google Analytics