没有合适的资源?快使用搜索试试~ 我知道了~
jbpm各种表单之间的关系
5星 · 超过95%的资源 需积分: 11 38 下载量 51 浏览量
2009-05-12
13:58:47
上传
评论
收藏 363KB DOC 举报
温馨提示
试读
18页
流程配置类数据库表 JBPM_NODE:流程节点表 JBPM_ TRANSITION:流程迁移表 JBPM_ACTION:流程动作表 JBPM_EVENT:流程事件表
资源推荐
资源详情
资源评论
揭秘 jbpm 流程引擎内核设计思想及构架
1 前言
2 阅读本篇的基础准备
2.1 概念的基础
2.2 环境的基础
3 什么是流程引擎内核?
4 引擎内核所关注的四个主要问题
4.1 模型与定义对象
4.2 调度机制与算法
4.3 执行机制与状态
4.4 实例对象与执行环境
5 jbpm,“精简”的开源流程引擎
6 jBpm 流程模型与定义对象
6.1 首先解决如何形式化描述一个流程的问题
6.2 抽象的节点(Node)和转移(Transition)
6.3 流程:节点与转移的组合
6.4 节点的类型和扩展
7 jBpm 的过程调度机制
7.1 吸纳自 Petri Net 思想
7.2 Token 的推进
7.3 非常简单的调度机制
8 jBpm 的过程执行机制
8.1 执行机制
8.2 分支处理
9 jBpm 内核结构与实例对象
10 后记
1 前言
流程引擎内核仅是“满足 Process 基本运行”的最微小结构,而整个引擎则要复杂很
多,包括“状态存储”、“事件处理”、“组织适配”、“时间调度”、“消息服务”等等外围的服务性
功能。引擎内核,仅包含最基本的对象和服务,以及用于解决流程运行问题的调度机制和
执行机制。
如果,你掌握了一个流程引擎的灵魂,你才有能力理解它的全部。否则,一个引擎对
你来说,可能只是一个复杂的结构,丰富多彩 API、令人眼花缭乱的“功能”和“服务”而已。
本身工作流这个领域就是一个很“狭窄”的领域,国内的厂商也不是很多,其中有部分
实现技术并不弱。但可能涉于安全等因素,并没有多少技术人员探讨“深度的工作流技术实
现问题”。而广大的开发爱好者却还在花费大量的时间在摸索“如何理解工作流、如何应用
工作流”。 所以在此之前,国内尚未有一篇技术文章探讨工作流引擎内核的实现,当然也
没有探讨 jBpm 引擎内核的文章了。在 www.javaeye.com 技术站点和我的
blog(http://blog.csdn.net/james999)上有几篇专门探讨 jbpm 应用的文章,
对于初步想了解如何使用 jbpm 的读者来说,值得看看。
对于这方面的技术分享,开源是个不错的突破口。
本篇就是以 jBpm 为实例,来诠释工作流引擎的内核设计思路和结构。但是这仅仅
是从 jBpm 的实现角度来辅助大家理解,因为工作流引擎内核的设计、实现是有很多方式:
这会因所选的模型、调度算法、推进机制、状态变迁机制、执行机制等多方面的不一样,
而会差别很大。比如基于 Activity Diagram 模型的 jBpm 和基于 FSM 模型的
OSWork'ow 引擎内核之间就有很大的差别。
相比较而言,jBpm 的模型比较复杂,而引擎内核实现的比较“精简”,非常便于大家
“由浅入深的理解”。
2 阅读本篇的基础准备
2.1 概念的基础
本文的读者群主要是面向有一定工作流基本概念的开发人员。所以本文认为你已经具
备了如下基本工作流知识:
(1) 初步了解工作流系统结构。比如理解工作流引擎在工作流系统中所处的位置和作用
(2) 对流程定义(Process De)nition)和流程实例(Process Instance)相关对象有
所了解。比如理解 Process Instance 代表什么,工作项(WorkItem)代表什么。
2.2 环境的基础
在阅读本篇的时候,如果你已经搭建了一套 jbpm 的开发环境,那么将有助于你更
容易理解本篇的很多内容,也便于实际体验代码。从 www.jbpm.org 官方网站下载
jbpm-starters-kit 开发包,按照其参考手册,可以很容易在 eclipse 开发环境中建立
项目,效果图类似如下:
3 什么是流程引擎内核?
我比较推崇“微内核的流程引擎构架”,并在最近两三年内写了两篇探讨此方面的文章:
第一篇是写于 05 年 7 月份的《微内核流程引擎架构体系》,第二篇是 07 年 7 月份的
《微内核过程引擎的设计思路和构架》(受普元《银弹》杂志约稿所写,尚未对外公开)。
但至今对外阐述引擎内核到底是什么。
正如上面的两张图所示,我们可以通过“微内核”的构架来使得流程引擎的结构更加“清
晰”。而能否实现“微内核”的根本,则是看你是否能够设计并抽象出“良好的引擎内核结构”。
很显然,要想设计出一套结构优良的引擎内核,首要条件就是:明白什么是引擎内核。
首先我们需要明白引擎是什么,引擎可以做什么。这在 WfMC 的《工作流参考模
型》中已经有很详细的解答,本文不再重复。知道这个仅仅是不够的,你还需要很清晰的
明白如何去“为流程建模”,而这则在 Aalst 大师所著的《工作流管理——模型、方法、系
统》一书有细致阐述,本文也不再重复。
剩余17页未读,继续阅读
资源评论
- xizhao162012-11-02看样子还不错,在详细点就好了
- A1233809492013-11-15给同学下的,反应不错。是想要的
lizen_8
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功