摘要: 9月1号4.1发布了,上周将jBPM4.1的用户手册并提供给大家下载了,请见博客:http://www.blogjava.net/kaysurf168/archive/2009/09/10/294523.html,现在将jBPM4.1的中文开发指南也提供给大家下载,希望降低大家学习jbpm4的难度。有翻译不当的地方还请指出。
阅读全文
posted @
2009-09-17 09:52 卡宴 阅读(3270) |
评论 (10) |
编辑 收藏
摘要: 这篇文章主要讲述jBPM4.1的新特性和翻译用户手册的内容更新下载。
阅读全文
posted @
2009-09-10 01:30 卡宴 阅读(5404) |
评论 (2) |
编辑 收藏
摘要: 《每天一课,jBPM4》视频教程今天推出基本应用系列——第五课,第五课主要讲了jBPM4的流程追踪。从下一课开始,我们将进入高级应用系列,主要是整合Spring+Hibernate+Struts2+jBPM4,以这些框架为基础实现报销流程。
阅读全文
posted @
2009-09-03 11:09 卡宴 阅读(1371) |
评论 (0) |
编辑 收藏
摘要: 《每天一课,jBPM4》视频教程今天推出基本应用系列——第四课,第四课主要讲了jBPM4的监听事件,jBPM4使用了Oberservable模式实现的事件监听。
阅读全文
posted @
2009-08-28 14:36 卡宴 阅读(966) |
评论 (0) |
编辑 收藏
摘要: 这一课的内容比较多,除了对jBPM4的身份认证的管理的进行讲解之外,还讲述了jBPM4现在的身份认证还存在的一些功能缺陷和解决方法。
阅读全文
posted @
2009-08-24 00:16 卡宴 阅读(1238) |
评论 (0) |
编辑 收藏
摘要: 经常有人问我,jBPM4视频教程到底有多少课,能讲到什么程度?这里我就放出jBPM4视频教程系列的初期规划,同时我们今天还推出了jBPM4视频教程应用系列的第二课。并提供了我们现有视频教程的观看和下载链接。
阅读全文
posted @
2009-08-19 08:47 卡宴 阅读(1337) |
评论 (2) |
编辑 收藏
摘要: 第一次使用工作流做项目或产品,遇到最简单最常见的需求就是分配任务,待办任务列表以及一些简单的流向判断,这是基本所有的流程都要实现的,而我们这一课的内容主要就是教大家在一个简单的业务流程里实现这些功能。
阅读全文
posted @
2009-08-13 22:13 卡宴 阅读(1250) |
评论 (1) |
编辑 收藏
摘要: 《每天一课,jBPM4》视频教程今天推出基本应用系列——第一课,这个系列主要是以请假流程为例,请假流程作为OA中的一个经典案例,覆盖了多种流程特性,同时又兼具易读性。主要内容是执行请假流程,实现流程驳回,用户权限,任务与表单绑定以及流程追踪等功能。
阅读全文
posted @
2009-08-11 23:34 卡宴 阅读(1499) |
评论 (5) |
编辑 收藏
摘要: 这一课主要是讲解流程实例的管理和流程活动的分类介绍,这一课的视频也是入门系列的最后一课,因为到这一课为止我们就能让大家入门jBPM4了,对于jBPM4的一些简单应用已经没有问题了。从下一课开始,我们将进入jBPM4系列视频教程的基本应用系列,正式开始接触真正的业务场景的用例。
阅读全文
posted @
2009-08-06 09:35 卡宴 阅读(1337) |
评论 (2) |
编辑 收藏
摘要: 《每天一课,jBPM4》视频教程今天推出第二课,主要内容是在web工程里应用jBPM4。
阅读全文
posted @
2009-08-03 09:41 卡宴 阅读(2066) |
评论 (5) |
编辑 收藏
摘要: 随着jBPM4.0GA版本的发布,使用jBPM4的人也开始多起来,虽然我们已经翻译了jBPM-4的用户手册和开发指南,但jBPM4的官方文档内容还是不够全面,虽然理论知识比较丰富,但是缺少实践教授内容。我们推出的《每天一课,jBPM4》是jBPM4第一份系列视频教程,手把手教您学会jBPM4,并将jBPM4应用在工作流管理平台中,同时我们还会提供视频课程里的源代码。
阅读全文
posted @
2009-07-29 18:04 卡宴 阅读(3098) |
评论 (7) |
编辑 收藏
摘要: 这2天我们忙着做了下jBPM4和Spring Security的专题页面,提供了不少关于jBPM4和Spring Security的技术资料和示例。
阅读全文
posted @
2009-07-28 14:02 卡宴 阅读(1690) |
评论 (4) |
编辑 收藏
摘要: 在oa里我们实现一套权限管理,包括资源管理、角色管理、用户管理、菜单管理以及组织机构管理,整套权限采用的是RBAC的模型。下面给大家分享下效果,同时也提供源码下载,希望大家多提建议。
阅读全文
posted @
2009-07-22 11:56 卡宴 阅读(2519) |
评论 (6) |
编辑 收藏
摘要: 鉴于各位都非常期待PDF的版本,我便把用户指南提供给大家下载,希望大家能够多多反馈,这样才能提高我们的翻译质量,对大家更是有好处。开发指南的内容更丰富些,如果有感兴趣帮忙校稿的朋友可以联系我们O(∩_∩)O哈哈~
阅读全文
posted @
2009-07-15 01:14 卡宴 阅读(1938) |
评论 (10) |
编辑 收藏
开发文档更新到了jBPM4的GA版本,这次开发文档变更非常大,添加了好几章,并且原来的部分章节也改了名字,具体细节可以查看修改日志。不过架构那章更新的并不多,和jBPM4实际的架构还有些区别,所以这部分大家最好看jBPM4的源码。(用户指南的翻译见上一篇博客)
posted @
2009-07-14 00:28 卡宴 阅读(3331) |
评论 (11) |
编辑 收藏
posted @
2009-07-09 10:35 卡宴 阅读(1468) |
评论 (4) |
编辑 收藏
最近一直在整流程控制台,发现还是有不少成就感的,尤其昨天又实现了动画回放流程。这可是忽悠领导的最佳手段啊,我先给大家看一下我们控制台的规划和进度(提供源码下载地址
):
-------------------------------------------------近期
* 细化task的生命周期,重新整理task操作
* 流程实例历史
* 表格方式查看流程历史
------------------------------------------------- 远景
* 流程仿真
* 修改流程图
* 细粒度权限控制
* 回退
* 会签
* 委派
* swimlane
* BI
* BAM
* 仪表盘
-------------------------------------------------ChangeLog
* 2009-07-01
* [DONE] 实现动画方式回放流程
* [DONE] 实现deployment的suspend, resume(CR1显示已暂停定义列表时出现问题,trunk下已修正,等待GA)
* [DONE] 实现processInstance的suspend, resume, end(CR1和trunk里,都没有暴露suspend和resume方法)
* [DONE] 实现personalTasks, groupTasks, take task, cancel task
* 2009-06-29
* [DONE] 登陆页面,登录名和密码为1/1
* [DONE] 添加start和signal,complete task时,添加变量
* [DONE] 整合web流程设计器,可以直接发布流程定义
* [DONE] 国际化
* 2009-06-01 and before
* [DONE] 发布xml格式的流程定义
* [DONE] 流程定义管理(list, start, delete)
* [DONE] 显示流程图(只在Process Instance详细信息中可显示)
* [DONE] 流程实例管理(list, signal, view, delete)
* [DONE] 任务管理(list, complete)
* [DONE] 追踪流程图(显示Process Instance的当前位置)
* [DONE] 多流向选择
* [DONE] 用户权限(user, group, membership的CRUD功能)
* [DONE] 报表(most active process)
呵呵,现在实现的功能毕竟还是有限,我们的功能规划在一定程度上可能有些局限,希望大家能给多提提建议,认为控制台里还可以加些什么功能。这可是开源的啊,大家为了自己也要多提出建议来,O(∩_∩)O哈哈~
下面是我们控制台一些功能的视频演示,包括流程设计和发布,动画回放流程等。
大家可以看看视频:
http://www.family168.com/bbs/dispbbs.asp?boardid=6&Id=473
截图请看:
http://www.family168.com/bbs/dispbbs.asp?boardid=6&Id=463
svn的下载地址:
http://jbpmside.googlecode.com/svn/trunk
posted @
2009-07-02 12:34 卡宴 阅读(1137) |
评论 (4) |
编辑 收藏
摘要: 我们的控制台现已实现了流程管理、流程监控、流程建模和仿真以及报表等,建模和仿真是使用js做了一个web设计器jPDL整合在控制台中。
阅读全文
posted @
2009-06-29 14:11 卡宴 阅读(1651) |
评论 (1) |
编辑 收藏
要知道如何将jBPM4与Spring整合,可以先了解jBPM4的IOC容器,如果不了解的可以先看ronghao的这篇文章
http://www.javaeye.com/topic/381607,是介绍jBPM4的IOC容器的。下面我们介绍jBPM与Spring整合的2种方式:
第一种:手工将SessionFactory放入jBPM4中。
第1步:更改jbpm.spring.default.cfg.xml配置文件,将下面的部分注释掉
<!--
<hibernate-configuration>
<cfg resource="jbpm.hibernate.cfg.xml" />
</hibernate-configuration>
<hibernate-session-factory />
-->
注释的部分是在jBPM4中创建了sessionFactory,而我们只需要一个sessionFactory。既然要将jBPM4与Spring的整
合,那就希望由Spring来统一管理sessionFactory和事务,在Spring的配置文件中构造一个sessionFactory。
ProcessEngine是jBPM4的Facade模式,一切由它与外部交互,
第2步:在Spring配置文件中写一个bean:
<bean id="processEngine" class="com.family168.jbpm.ProcessEngineFactoryBean">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
第3步:在ProcessFactoryBean中注入SessionFactory:
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
第4步:在ProcessFactoryBean中创建一个SpringConfiguration,然后将sessionFactory放入
SpringConfiguration中,再从SpringConfiguration得到processEngine,代码如下:
public void afterPropertiesSet() {
SpringConfiguration cfg = new SpringConfiguration(jbpmConfigurationLocation);
cfg.setApplicationContext(applicationContext);
cfg.setSessionFactory(sessionFactory);
this.processEngine = cfg.buildProcessEngine();
}
然后我们的工作就可以开展了,可以从processEngine得到所有的service。比如:
ProcessEngine processEngine = (ProcessEngine) ctx.getBean("processEngine");
RepositoryService repositoryService = processEngine.getRepositoryService();。
第2种:获得Hibernate的SessionFactory。
第1步:与第一种方式的第1步一样。
第2步:更改jbpm.tx.spring.cfg.xml配置文件:
将
<standard-transaction-interceptor/>
改成 <spring-transaction-interceptor current="true" />
然后将
<transaction/>
<hibernate-session/>
改成 <hibernate-session current="true"/>
这部分修改是将jBPM4创建的spring事务和hibernate的session改成从当前的ThreadLocal中获得session和事务。
第3步:在Spring配置文件中写bean,processEngine和template:
<bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">
<constructor-arg value="jbpm/jbpm.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" />
<bean id="jbpmTemplate" class="com.family168.jbpm.JbpmTemplate">
<property name="processEngine" ref="processEngine"/>
<property name="dataSource" ref="dataSource"/>
</bean>
processEngine直接使用factory-bean指向jbpmConfiguration,也就是
org.jbpm.pvm.internal.cfg.SpringConfiguration,并从SpringConfiguration的
buildProcessEngine中获得。
jbpmTemplate主要是控制事务,在processEngine外面创建事务,这样使用的时候会先调用jbpmTemplate,再调用processEngine,否则它会说事务没有启动。在jbpmTemplate中注入processEngine:
public void setProcessEngine(ProcessEngine processEngine) {
this.processEngine = processEngine;
}
这里我的理解是我们在上面已经将事务改成从当前的Threadlocal中获得,所以jBPM4是必须当前有事务,如果我没有创建事务的话,在使用
processEngine时就会说事务没有启动。所以我们就封装了一个jbpmTemplate,如果我的理解有误还请大家指出。
第1种整合方式的例子下载
http://www.family168.com/,第2种整合方式之后可以看我们的jBPM-Side里的控制台。
posted @
2009-06-29 13:27 卡宴 阅读(1473) |
评论 (0) |
编辑 收藏