`
jbpm-x
  • 浏览: 49086 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

揭秘jbpm流程引擎内核设计思想及构架

阅读更多

<o:p></o:p>

<o:p>  </o:p>作者 胡长城(银狐999<o:p></o:p>

 1     前言... 1

2     阅读本篇的基础准备... 2

2.1      概念的基础... 2<o:p></o:p>

2.2      环境的基础... 2<o:p></o:p>

3     什么是流程引擎内核?... 3<o:p></o:p>

4     引擎内核所关注的四个主要问题... 4<o:p></o:p>

4.1      模型与定义对象... 4<o:p></o:p>

4.2      调度机制与算法... 5<o:p></o:p>

4.3      执行机制与状态... 5<o:p></o:p>

4.4      实例对象与执行环境... 5<o:p></o:p>

5     jbpm精简的开源流程引擎... 5<o:p></o:p>

6     jBpm流程模型与定义对象... 6<o:p></o:p>

6.1      首先解决如何形式化描述一个流程的问题... 6<o:p></o:p>

6.2      抽象的节点(Node)和转移(Transition... 7<o:p></o:p>

6.3      流程:节点与转移的组合... 7<o:p></o:p>

6.4      节点的类型和扩展... 8<o:p></o:p>

7     jBpm的过程调度机制... 8<o:p></o:p>

7.1      吸纳自Petri Net思想... 8<o:p></o:p>

7.2      Token的推进... 9<o:p></o:p>

7.3      非常简单的调度机制... 11<o:p></o:p>

8     jBpm的过程执行机制... 12<o:p></o:p>

8.1      执行机制... 12<o:p></o:p>

8.2      分支处理... 13<o:p></o:p>

9     jBpm内核结构与实例对象... 14<o:p></o:p>

10       后记... 15<o:p></o:p>

<o:p></o:p>

前言1      

      流程引擎内核仅是满足Process基本运行的最微小结构,而整个引擎则要复杂很多,包括状态存储事件处理组织适配时间调度消息服务等等外围的服务性功能。引擎内核,仅包含最基本的对象和服务,以及用于解决流程运行问题的调度机制和执行机制。<o:p></o:p>

       如果,你掌握了一个流程引擎的灵魂,你才有能力理解它的全部。否则,一个引擎对你来说,可能只是一个复杂的结构,丰富多彩API、令人眼花缭乱的功能服务而已。

   本身工作流这个领域就是一个很狭窄的领域,国内的厂商也不是很多,其中有部分实现技术并不弱。但可能涉于安全等因素,并没有多少技术人员探讨深度的工作流技术实现问题。而广大的开发爱好者却还在花费大量的时间在摸索如何理解工作流、如何应用工作流 所以在此之前,国内尚未有一篇技术文章探讨工作流引擎内核的实现,当然也没有探讨jBpm引擎内核的文章了。在www.iteye.com 技术站点和我的bloghttp://blog.csdn.net/james999)上有几篇专门探讨jbpm应用的文章,对于初步想了解如何使用jbpm的读者来说,值得看看。<o:p></o:p>

  对于这方面的技术分享,开源是个不错的突破口。<o:p></o:p>

       本篇就是以jBpm为实例,来诠释工作流引擎的内核设计思路和结构。但是这仅仅是从jBpm的实现角度来辅助大家理解,因为工作流引擎内核的设计、实现是有很多方式:这会因所选的模型、调度算法、推进机制、状态变迁机制、执行机制等多方面的不一样,而会差别很大。比如基于Activity Diagram模型的jBpm和基于FSM模型的OSWorkflow引擎内核之间就有很大的差别。<o:p></o:p>

       相比较而言,jBpm的模型比较复杂,而引擎内核实现的比较精简,非常便于大家由浅入深的理解<o:p></o:p>

阅读本篇的基础准备2       <o:p></o:p>

2.1    概念的基础<o:p></o:p>

       本文的读者群主要是面向有一定工作流基本概念的开发人员。所以本文认为你已经具备了如下基本工作流知识:<o:p></o:p>

1       初步了解工作流系统结构。比如理解工作流引擎在工作流系统中所处的位置和作用<o:p></o:p>

2       对流程定义(Process Definition)和流程实例(Process Instance)相关对象有所了解。比如理解Process Instance代表什么,工作项(WorkItem)代表什么。<o:p></o:p>


2.2    环境的基础<o:p></o:p>

       在阅读本篇的时候,如果你已经搭建了一套jbpm的开发环境,那么将有助于你更容易理解本篇的很多内容,也便于实际体验代码。从www.jbpm.org官方网站下载jbpm-starters-kit开发包,按照其参考手册,可以很容易在eclipse开发环境中建立项目,效果图类似如下:

<o:p>  </o:p>
什么是流程引擎内核?3       <o:p></o:p>

       我比较推崇微内核的流程引擎构架,并在最近两三年内写了两篇探讨此方面的文章:第一篇是写于05<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋 

 很显然,要想设计出一套结构优良的引擎内核,首要条件就是:明白什么是引擎内核。<o:p></o:p>

 <o:p></o:p>

       首先我们需要明白引擎是什么,引擎可以做什么。这在WfMC的《工作流参考模型》中已经有很详细的解答,本文不再重复。知道这个仅仅是不够的,你还需要很清晰的明白如何去为流程建模,而这则在Aalst

评论

相关推荐

    揭秘jbpm流程引擎内核设计思想及构架.doc

    "揭秘jbpm流程引擎内核设计思想及构架" jbpm流程引擎内核是指流程引擎中最基本的对象和服务,以及用于解决流程运行问题的调度机制和执行机制。它是流程引擎的灵魂,掌握了流程引擎内核的设计思想和结构,才能真正...

    揭秘jbpm流程引擎内核设计思想及构架.docx

    "揭秘jbpm流程引擎内核设计思想及构架" jbpm流程引擎内核是指流程引擎的最微小结构,仅包含最基本的对象和服务,以及用于解决流程运行问题的调度机制和执行机制。jbpm流程引擎内核的设计思想是基于微内核的流程引擎...

    揭秘jbpm引擎内核设计思想及构架.pdf

    《揭秘JBPM引擎内核设计思想及构架》一文深入剖析了JBPM流程引擎的核心设计原理和架构,为理解工作流引擎的本质提供了宝贵的视角。本文不仅揭示了JBPM引擎内核的关键要素,还对比了不同工作流模型的差异,为开发者...

    JBPM相关文档大全

    JBPM 4.4用户手册.chm jbpm-4.4 api帮助文档.CHM jBPM-jPDL学习笔记——流程设计与控制.doc JBPM4.4之HelloWorld示例.doc jbpm4.4会签实例.doc jbpm4.4安装配置step by ...揭秘jbpm流程引擎内核设计思想及构架.doc

    jbpm引擎设计思想

    至于胡长城(银狐999)在CSDN Blog中揭秘的jbpm流程引擎内核设计思想及构架,可能详细讨论了jbpm如何实现这些设计理念,包括流程实例的内存表示、任务调度算法、持久化策略以及与其他系统(如ESB、EJB、Spring等)的...

    胡长城的相关工作流文档

    3. **工作流引擎**:《揭秘jBPM引擎内核设计思想及构架》详细解析了jBPM这一流行的工作流引擎,包括其流程定义语言、任务管理、事件处理和持久化机制。同时,工作流引擎的核心调度算法在《工作流引擎核心调度算法与...

    银狐999的网络硬盘文档压缩包

    9. **揭秘jBPM引擎内核设计思想及构架**:jBPM是一个开源的工作流和业务规则管理系统,这个文档可能深入剖析了它的设计原则、内部工作机制和架构,对开发者理解和使用jBPM具有指导价值。 10. **工作流参考模型真谛*...

Global site tag (gtag.js) - Google Analytics