版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北风网项目培训第二十二JBPM4.0与JBPM3.0差异(二)讲师:阳光JBPM工作流JBPM4.0与JBPM3.0客户端接口的变化1、 流程定义语言的模型没有改变,只是部分元素的命名发生变化2、 流程执行引擎的算法没有改变,只是对原有引擎进行了优化,去掉了冗余的root token。JBPM4出来后,有不少的文档探讨了JBPM引擎的变化,有的文章分析说其核心引擎的调度机制完全不同了,这是不对的,因为还是Token机制,只是换了个名字(Execution),加上一定的优化(或称简化)。3、 流程引擎的事件机制没有改变,只是改变了默认的事件触发范围4、 整个数据库结构完全改变,甚至前缀变成了JB
2、PM4,目的是希望能够跟JBPM3的表不发生冲突,甚至能够两个版本并行运行。其实数据库结构的巨大变化,是第2点变化、以及其他冗余消除的自然结果5、 接口的变化,文档的调整和重写,只是为了更好的针对公共普通型应用和高级定制型应用,降低二者的开发难度。引擎存在的几个类似问题:1、 root token其实是冗余,完全可以合并到流程实例里2、 module instance 也是冗余的3、 流程定义相关的表也是冗余的4、 没有历史表5、 JBPM4.0与JBPM3.0客户端接口的变化在jbpm4中对客户端的接口统一为7个服务接口:ProcessService、ExecutionService、Com
3、mandService 、TaskService 、ManagementService、HistoryService、IdentityService,这7个接口可以从ProcessEngine接口中获得,jbpm4在启动的过程中由JbpmConfiguration负责构建引擎。 ProcessService-流程定义的服务接口,包括对流程定义的部署、查询、删除操作; ExecutionService-执行服务接口,包括启动流程、实例推进、设置变量等操作;JBPM4.0与JBPM3.0客户端接口的变化 mand模式的服务接口,实际上就是将客户端的请求全部封装在一个调用接口中,然后由这个接口去调用
4、Command接口的众多实现(StartExecutionCmd、SignalCmd、SetVariablesCmd、GetTimersCmd、DeployCmd、NewTaskCmd、SubmitTask、ExecuteJobCmd等等,具体可参加pvm/internal/cmd,task/internal/cmd包及其它包下实现Command接口的类),这是典型的Command模式的应用,感兴趣的读者可以去了解设计模式中的Command模式; TaskService-人工活动的服务接口,包括对任务的创建、提交、查询、保存、删除等操作; ManagementService-web管理控制台的
5、服务接口,目前只有获得消息及计时器的接口实现; HistoryService-目前有对历史库中的流程实例、活动实例进行查询、某个流程定义中的所有活动的平均持续时间、某个流程定义中的某个活动实例的转移的执行次数 IdentityService-用户、组、成员关系的相关操作方法JBPM4.0IOC容器IOC容器的目的是管理组件和实现组件之间的解耦。和Spring里的BeanFactory对应,Jbpm4里的接口是Context,具体实现则是WireContext。Context实际在Jbpm4里有更多的含义,它与Environment一起,共同构成了代码运行的运行期环境。在这个环境里可以获取系统的
6、组件,更为重要的是提供了数据库连接(session)和事务。看看Context接口的核心方法: Object get(String key);T Get(ClassT type)很明显,提供两种从容器里获取组件的方法,一种是通过name,一种是通过type。对于IOC容器来说,一般情况下都会提供一种加载的方式,比如从xml文件进行加载、从资源文件进行加载。Jbpm4透过WireParser具备从xml加载的能力。此外,WireContext通过一个Map缓存初始化后的组件。JBPM4.0IOC容器的实现容器的实现有五个关键类和接口,分别是:WireParser、Binding、Descript
7、or、WireDefinition和WireContext。WireParser读取xml文件,同时WireParser会加载一系列的Binding(默认从jbpm.wire.bindins.xml文件读取加载)。Binding负责根据xml里元素的tag将xml元素转换为对应的Descriptor。Descriptor负责初始化对象。它们被添加到WireDefinition。WireDefinition被WireParser返回给WireContext。WireContext创建对象时会访问WireDefinition里的Descriptor,同时将初始化对象的任务委托给Descriptor自身。需要注意的是:Jbpm4在初始化对象时有着四种策略,分别是:延迟创建和初始化、延迟创建和立刻初始化、立刻创建和延迟初始化、立刻创建和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学26年:AI辅助认知评估进展 查房课件
- 射血分数(LVEF)规范化临床解读与科室实操应用业务学习资料
- 2026年甘肃省平凉市中考语文一模试卷(含详细答案解析)
- 2026年道路运输企业安全生产管理人员复审考试及考试题库含答案
- 面试生产操作工的发言稿
- 耐久跑教学反思与改进措施
- 农产品收购运输延误情况说明
- 成人高考作文考试试题复习辅导及范文
- 年产25.5万吨增塑剂及1万吨氯化锰、2千吨紫外线吸收剂项目可行性研究报告模板拿地申报
- 海姆立克急救法
- DL-T5708-2014架空输电线路戈壁碎石土地基掏挖基础设计与施工技术导则
- 三年级下册数学长方形正方形面积专项
- 辽宁烟草招聘考试真题2023
- 牙痛疾病演示课件
- 乙丙橡胶的合成与发展
- 胰岛素泵临床应用及护理考核试题及答案
- 003-04-PFMEA第五版表格模板-(带实例)-2020.2.3
- 十一五期间地电场变化的初步研究
- (完整版)齿轮齿条传动设计计算
- 农村区域发展规划课件
- 2023江西出版集团招聘130人(共500题含答案解析)笔试必备资料历年高频考点试题摘选
评论
0/150
提交评论