- 浏览: 908363 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (322)
- Hibernate研究&源码 (27)
- Server (10)
- Coder碎语 (64)
- EnglishMulling (11)
- About XML (1)
- persistence (12)
- Core Java & OO (23)
- Java EE (6)
- JavaScript/JSON/Ajax/ext... (22)
- 我的读书笔记 (16)
- Source Codes Study (29)
- workFlow/jBPM (22)
- OFBiz: Open For Business (1)
- 项目积累 (21)
- srcStudy_acegi (1)
- Cache/Ehcache... (9)
- Java Test/JUnit.. (7)
- maven/ant (2)
- 设计模式 (1)
- SOA/cxf/ws-security (2)
- Android (4)
- 云计算/Hadoop (2)
- 加密/签名 (1)
- 正则表达式 (1)
- htmlparser (1)
- 操作系统 (5)
- DB (1)
最新评论
-
天使建站:
这里这篇文章更详细 还有完整的实例演示:js跳出循环 ...
jQuery中each的break和continue -
heshifk:
刚刚我也遇到同样的问题,然后就在纠结为什么不能直接使用brea ...
jQuery中each的break和continue -
masuweng:
不错写的.
集万千宠爱于一身的SessionImpl:get研究(四): Hibernate源码研究碎得(8) -
muzi131313:
这个老是忘,做一下笔记还是挺好的
jQuery中each的break和continue -
lg068:
data = data.replace("\n&qu ...
项目小经验: eval与回车符
1, jBPM是个什么东东及其它?
自己鼓捣jBPM也有段时间了, 但要想自己满意地回答这个问题,仍然感到无从下手.
简单地说, jBPM是JBoss的一个开源项目, 用来实现工作流的. 那工作流又是什么? 除jBPM外又有哪些实现? 为什么要用jBPM?
再往下说为什么要用工作流?工作流这个概念是什么时候提出的? 它的历只发展脉络又是什么? ....
这一大串问题,
现在不可能在这么一个名为"一点简单介绍"的博客中做出完整的回答, (以后倒是有可能搜些资料,争取做个回答).
我觉得这些问题,最终都归纳到"为什么要用工作流"这个问题上, 不过对于这个本质问题,
我当然也没什么能说服自己的想法,搜了下,发现有不少类似的疑问.比较后,发现这篇博客(http://qzone.qq.com/blog
/9899217-1234028060)总结的不错, 对自己的帮助也挺大的. 有兴趣的看官可前去看下.
jBPM作为一种工作流的实现, 那广义地来看, 工作流又都有哪些基本的构成呢? 一般来说, 一个工作流有如下的三个大构件:
- 流程定义. 通过这个构件来修改现有的流程或定义新的流程.
- 流程执行. 把前面定义好地流程在自己的系统中调用, 从而执行整个业务逻辑, 也就是让前面定义的的流程"流"起来.
- 流程执行监测. 记录流程执行过程中的相关数据, 以便于性能调优等.
2, 体验下jBMP及文件目录介绍.
前面对jBPM有了个概念上的把握, 下面我们运行起来, 对这个jBMP来个近距离观察. 按上篇中提供的链接下载到本地, 解压下,
为了介绍的方便, 我们称这个解压后的目录为jBPM_HOME,
运行%jBPM_HOME%\jbpm-server目录下的start.bat文件, 在浏览器里输入"http:
//localhost:8080/jbpm/
"就能看到jBMP自带的一个例子. 如何来操作体验那个例子, 网上有不少例子, 我这里就不再赘述.
这里先介绍下jBPM解压的目录结构, 注意我这里用的是3.1.4的版本, 现在最新的版本目录结构上有很大的不同, 为了研究的方便, 我们这里采用大多项目中用到的这个旧版本, 即3.1.4.
解压后, jBPM_HOME目录下有五个文件夹, 依次是jbpm, jbpm-bpel, jbpm-db,
jbpm-designer,jbpm-server. 以后我主要打交道的是jbpm文件夹, 这个文件夹下有可能要常看的文档,
jBPM自身的源码和自带例子的源码(这是最最常用的,
以后对jBPM的研究还是以debug的方式来跟踪jBPM运行源码的),jBPM运行所依赖的jar包.
第二个文件夹jbpm-bpel没什么可说的, 看名字觉得它跟bpel整合相关, 现在先关心这个,跳过. 每三个文件夹jbpm-db,
这个也是我们开始这段时间常看的一个文件夹, 它下面放的是jbpm部署时往各种常见数据库里建表的SQL语句, (当时我不知道有这个文件夹,
硬是自己改了hibernate的配置它在把相应的sql语句输出到文件中,想想自己走了不少弯路呀).
第四个文件夹jbpm-designer,它下面放着是jBPM对eclipse做的流程定义插件, 后面我们搭建Eclipse里会用到这里,
到时再说.
最后一个jbpm-server,它下面放的是jBPM自带一个服务器,我们刚才就是启动这里的服务器对jBPM有了个初步的体验,当然它还有其它一些功
能,如对流程运行的监视, 还有JMS等, 不过这些我还没有接触过, 以后再补上.
3, 使用jBPM要做些什么及结合构件图的一点说明说明.
简单地说,在项目中使用jBPM一般有这么些要做的: 按业务逻辑画出流程图, 打包部署定义好的流程图, 在项目中配置jBPM,调用jBPM的API完成整个业务逻辑.
这里结合jBPM的构件图, 我们看下这些步骤都是jBPM中的"谁"来具体负责的.
先看最右边的ProcessArchive. 我们用Process language(也就是这里的jDPL)定义业务逻辑,
打包为这里所说的Process Archive, 也就是说这个archive里包含的是业务的流程信息,
这里不仅仅指通过eclipse生成的解压文件, 还指部署到数据库后的信息. 再顺着箭头往左走, 看到Definition Loader,
jBPM通过它把前面部署到数据库里的流程信息加载到jBPM的执行引擎中, 这样就有了下面的"process definition",
通过这个路径我们知道这个process definition是流程信息在内存中的表示. 我们再看最右边的Process client,
我是把它理解成jBPM让我们调用的API, 也就是我们项目中写的代码让流程一步步地执行. 再往右是Request Handler, 顾名思义,
jBPM通过它来接收process client发来的请求,再往下的Execution Service,
jBPM通过它结合前面加载到内存的流程定义来真正执行定义好的业务流程. 其余的两块Process Monitor和Log Manager,
就是负责前面说的"流程执行监测"任务了. 另外一下State Manager,应该是负责引擎执行过程中状态的变更事宜相关.
至此, 我们对jBPM的轮廓做了个相当简单的介绍,后续的文章中将结合实例来做详细的分析.
评论
先看最左边的ProcessArchive. 我们用Process language(也就是这里的jDPL)定义业务逻辑, 打包为这里所说的Process Archive, 也就是说这个archive里包含的是业务的流程信息, 这里不仅仅指通过eclipse生成的解压文件, 还指部署到数据库后的信息. 再顺着箭头往左走, 看到Definition Loader, jBPM通过它把前面部署到数据库里的流程信息加载到jBPM的执行引擎中, 这样就有了下面的"process rmn190 写道
pure1202 写道
是jPDL,你huyou我了 我怎么huyou你了呢?
这个图的下面那段话:“最左边的ProcessArchive”-是最右边等等。。。
还有“也就是这里的jDPL”是jpdl(jbpm定义语言)。。。。
谢谢提醒, 我改了你说的第一个问题.
但不清楚你说的第二个问题指的是什么.
pure1202 写道
是jPDL,你huyou我了 我怎么huyou你了呢?
这个图的下面那段话:“最左边的ProcessArchive”-是最右边等等。。。
还有“也就是这里的jDPL”是jpdl(jbpm定义语言)。。。。
是jPDL,你huyou我了
我怎么huyou你了呢?
发表评论
-
jBPM研究整理 (1-20)
2010-10-24 19:16 22371, jBPM零起点体验(一):感受下卖面包 the f ... -
jbpm4(1):jBPM4环境搭建
2009-08-01 19:24 3820下载jbpm4,解压。在此,我们称之为JBPM4_HO ... -
jBPM(20):JbpmContext类自身属性
2009-04-30 08:36 2139jBPM(19):JbpmContext类 ... -
jBPM(19):JbpmContext类构造方法需要什么?
2009-04-29 08:29 1898在前几篇博客(jBPM(十三): 从ObjectFact ... -
jBPM(十七): popJbpmConfiguration的错误理解及纠正
2009-04-19 12:12 1910有几天没写jBPM方面的博客了, 这方面有些生疏了. ... -
jBPM(十六): 记录JbpmContext实例的诞生
2009-04-16 08:36 1644在jBPM(十一): ... -
jBPM(十五):配置文件到ObjectFactory
2009-04-14 09:14 1699在jBPM(十四): 见证一ObjectInfo实例的 ... -
jBPM(十四): 见证一ObjectInfo实例的诞生
2009-04-12 11:05 1553在jBPM(十三): 从ObjectFactory到O ... -
jBPM(十三): 从ObjectFactory到ObjectInfo
2009-04-11 07:57 1528在jBPM(十一): 从JbpmContextFi ... -
jBPM(十二): 流程运行的历史和轨迹与ProcessLog
2009-04-05 17:03 1666接触jBPM一段时间后, ... -
jBPM(十一): 从JbpmContextFilter说起
2009-04-04 12:32 1693在jBPM(十):webSale ... -
jBPM(十):webSale的"页面流"介绍
2009-04-03 08:36 2148通过前面几篇博客,我们看到了jBPM自带例子w ... -
jBPM(九):jBPM的webSale在Tomcat下怎么连上的数据库?
2009-04-02 08:24 1713在jBPM(八) ... -
jBPM(八): 也说jBPM + Tomcat + MySQL
2009-03-26 05:39 2097经过几天的梳理总结, 现在到了jBPM系列里一个具有里 ... -
jBPM(七): 如何让jBPM自带例子运行在指定数据库?
2009-03-24 08:21 2535我们知道jBPM自带例子是运行在其默认的HSQL ... -
jBPM(六): 由手动建表想到一个教训
2009-03-23 08:45 1808在jBPM(四): 部署jBPM所用表到数据库_1 ... -
jBPM(五): 部署jBPM所用表到数据库_2
2009-03-21 06:51 1945在jBPM(四) 中, 笔者介绍了如 ... -
jBPM(四): 部署jBPM所用表到数据库_1
2009-03-19 08:25 2494... -
jBPM(三): 如何在Eclipse搭建jBPM环境?
2009-03-18 08:23 6038在jBPM(二) 里我们做了个简单介绍, 其中包括&q ... -
jBPM(一): 开场白, 想从jBMP中学点什么?
2009-03-07 10:32 3351终于静下心来开始写jBPM系列博客了. ...
相关推荐
jbpm jbpm4.3.jar DDDDDDDD
jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍
jBPM开发:配置EclipseIDE开发环境.pdf
jBPM开发:配置EclipseIDE开发环境参考.pdf
JBPM数据库表说明 2 1 流程配置类数据库表: 2 1.1 JBPM_PROCESSDEFINITION:流程模版表 2 1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:流程...
JBPM数据库表说明 2 1 流程配置类数据库表: 2 1.1 JBPM_PROCESSDEFINITION:流程模版表 2 1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:...
jBPM4.4数据库表简单介绍
juel-api.jar ,juel-engine.jar, juel-impl.jar, jbpm.jar ,mail.jar
纵观jBPM:从jBPM3到jBPM5以及Activiti5.doc
本文件从JBPM的原理、实现方法、实例等方面详细讲解了JBPM的原理,包括以下内容: 1、JBPM特色: 3 2、流程图的组成: 3 2.1流转 (TRANSITION) 3 2.2活动 (ACTIVITY) 3 3、所用到的表: 4 3.1资源库与运行时表结构:...
JBPM5+Spring+Hibernate+MySQL 请假例子
关于: - jBPM 6.2.0.Final:工作流引擎 - Java EE 6.0 环境 - JBoss AS 7.1.1 - JPA 2.0(jBPM 持久性依赖) - CDI 1.0(jBPM 与 CDI 集成的容器环境) - JTA 1.1(容器环境)用于 jBPM 事务)- H2 数据库(嵌入在...
描述一个完整的业务过程,它由流程图定义及基于它之上的业务流程定义组成。
通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...
\jbpm简介\jbpm简介\jbpm简介\jbpm简介\jbpm简介
jbpm工作流引擎介绍以及出差报销实例,详细的图解和流程
JBPM范例 可以运行 简单易懂 快速掌握JBPM
jbpm数据库表介绍,击杀跑了jbpm4.4所使用的数据库表关系 字段 作用
jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库
关于JBPM中并发子流程的实现方式,网上有很多的说法,但是好像每种办法都有这样那样的缺点,要么实现太复杂,...这里我介绍一种我的并发子流程的实现方式:使用TaskNode使任务并行的方式,模拟实现JBPM子流程的并发执行