- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jbpm流程引擎内核设计思想及构架
揭秘jbpm流程引擎内核设计思想及构架
1???? 前言... 1
2???? 阅读本篇的基础准备... 2
2.1????? 概念的基础... 2
2.2????? 环境的基础... 2
3???? 什么是流程引擎内核?... 3
4???? 引擎内核所关注的四个主要问题... 4
4.1????? 模型与定义对象... 4
4.2????? 调度机制与算法... 5
4.3????? 执行机制与状态... 5
4.4????? 实例对象与执行环境... 5
5???? jbpm,“精简”的开源流程引擎... 5
6???? jBpm流程模型与定义对象... 6
6.1????? 首先解决如何形式化描述一个流程的问题... 6
6.2????? 抽象的节点(Node)和转移(Transition)... 7
6.3????? 流程:节点与转移的组合... 7
6.4????? 节点的类型和扩展... 8
7???? jBpm的过程调度机制... 8
7.1????? 吸纳自Petri Net思想... 8
7.2????? Token的推进... 9
7.3????? 非常简单的调度机制... 11
8???? jBpm的过程执行机制... 12
8.1????? 执行机制... 12
8.2????? 分支处理... 13
9???? jBpm内核结构与实例对象... 14
10?????? 后记... 15
?
1?????? 前言
?
?????? 流程引擎内核仅是“满足Process基本运行”的最微小结构,而整个引擎则要复杂很多,包括“状态存储”、“事件处理”、“组织适配”、“时间调度”、“消息服务”等等外围的服务性功能。引擎内核,仅包含最基本的对象和服务,以及用于解决流程运行问题的调度机制和执行机制。
?????? 如果,你掌握了一个流程引擎的灵魂,你才有能力理解它的全部。否则,一个引擎对你来说,可能只是一个复杂的结构,丰富多彩API、令人眼花缭乱的“功能”和“服务”而已。
?
?????? 本身工作流这个领域就是一个很“狭窄”的领域,国内的厂商也不是很多,其中有部分实现技术并不弱。但可能涉于安全等因素,并没有多少技术人员探讨“深度的工作流技术实现问题”。而广大的开发爱好者却还在花费大量的时间在摸索“如何理解工作流、如何应用工作流”。 所以在此之前,国内尚未有一篇技术文章探讨工作流引擎内核的实现,当然也没有探讨jBpm引擎内核的文章了。在 技术站点和我的blog(/james999)上有几篇专门探讨jbpm应用的文章,对于初步想了解如何使用jbpm的读者来说,值得看看。
?
?????? 对于这方面的技术分享,开源是个不错的突破口。
?????? 本篇就是以jBpm为实例,来诠释工作流引擎的内核设计思路和结构。但是这仅仅是从jBpm的实现角度来辅助大家理解,因为工作流引擎内核的设计、实现是有很多方式:这会因所选的模型、调度算法、推进机制、状态变迁机制、执行机制等多方面的不一样,而会差别很大。比如基于Activity Diagram模型的jBpm和基于FSM模型的OSWorkflow引擎内核之间就有很大的差别。
?????? 相比较而言,jBpm的模型比较复杂,而引擎内核实现的比较“精简”,非常便于大家“由浅入深的理解”。
2?????? 阅读本篇的基础准备
2.1??? 概念的基础
?????? 本文的读者群主要是面向有一定工作流基本概念的开发人员。所以本文认为你已经具备了如下基本工作流知识:
(1)?????? 初步了解工作流系统结构。比如理解工作流引擎在工作流系统中所处的位置和作用
(2)?????? 对流程定义(Process Definition)和流程实例(Process Instance)相关对象有所了解。比如理解Process Instance代表什么,工作项(WorkItem)代表什么。
2.2??? 环境的基础
?????? 在阅读本篇的时候,如果你已经搭建了一套jbpm的开发环境,那么将有助于你更容易理解本篇的很多内容,也便于实际体验代码。从官方网站下载jbpm-starters-kit开发包,按照其参考手册,可以很容易在eclipse开发环境中建立项目,效果图类似如下:
3?????? 什么是流程引擎内核?
???????我比较推崇“微内核的流程引擎构架”,并在最近两三年内写了两篇探讨此方面的文章:第一篇是写于05年7月份的《微内核流程引擎架构体系》,第二篇是07年7月份的《微内核过程引擎的设计思路和构架》(受普元《银弹》杂志约稿所写,尚未对外公开)。
?????? 但至今对外阐述引擎内核到底是什么。?? ?????? 正如上面的两张图所示,我们可以通过“微内核”的构架来使得流程引擎的结
您可能关注的文档
- 电子商务第二章 EB站点的建设.doc
- 《电子商务网站设计与维护》教案(第二章).doc
- 第二章-路由器部分(网监4级).doc
- 《天下兴亡,匹夫有责》.ppt
- 论文 电喷发动机维修及维护的注意事项.doc
- 高中信息技术会考习题整理 第二章 信息获取.doc
- 计算机网络自顶向下答案第二章中文版.doc
- 苏科版《信息技术》新第1-2章教材分析.doc
- 第2章网络营销产品策略实训.doc
- 电控发动机习题集(无答案).doc
- 2024年国家电网招聘考试模拟题库【典型题】附答案详解.docx
- 2023年度国家电网招聘考试能力提升B卷题库及答案详解【必威体育精装版】.docx
- 国家电网招聘考试经典例题及参考答案详解【黄金题型】.docx
- 2023年度国家电网招聘考试检测卷及参考答案详解【培优】.docx
- 2023年度公安消防队真题标准卷附答案详解.docx
- 2023年度公安消防队预测复习附参考答案详解(名师推荐).docx
- 2024-2025学年国家电网招聘考试题库及答案详解【基础+提升】.docx
- 2024-2025学年度国家电网招聘考试综合提升测试卷【名师系列】附答案详解.docx
- 国家电网招聘考试试题预测试卷及完整答案详解(必刷).docx
- 2025国家电网招聘考试试题预测试卷及答案详解(必威体育精装版).docx
文档评论(0)