摘要: 9月1號4.1發布了,上周將jBPM4.1的用戶手冊并提供給大家下載了,請見博客:http://www.tkk7.com/kaysurf168/archive/2009/09/10/294523.html,現在將jBPM4.1的中文開發指南也提供給大家下載,希望降低大家學習jbpm4的難度。有翻譯不當的地方還請指出。
閱讀全文
posted @
2009-09-17 09:52 卡宴 閱讀(3298) |
評論 (10) |
編輯 收藏
摘要: 這篇文章主要講述jBPM4.1的新特性和翻譯用戶手冊的內容更新下載。
閱讀全文
posted @
2009-09-10 01:30 卡宴 閱讀(5424) |
評論 (2) |
編輯 收藏
摘要: 《每天一課,jBPM4》視頻教程今天推出基本應用系列——第五課,第五課主要講了jBPM4的流程追蹤。從下一課開始,我們將進入高級應用系列,主要是整合Spring+Hibernate+Struts2+jBPM4,以這些框架為基礎實現報銷流程。
閱讀全文
posted @
2009-09-03 11:09 卡宴 閱讀(1384) |
評論 (0) |
編輯 收藏
摘要: 《每天一課,jBPM4》視頻教程今天推出基本應用系列——第四課,第四課主要講了jBPM4的監聽事件,jBPM4使用了Oberservable模式實現的事件監聽。
閱讀全文
posted @
2009-08-28 14:36 卡宴 閱讀(978) |
評論 (0) |
編輯 收藏
摘要: 這一課的內容比較多,除了對jBPM4的身份認證的管理的進行講解之外,還講述了jBPM4現在的身份認證還存在的一些功能缺陷和解決方法。
閱讀全文
posted @
2009-08-24 00:16 卡宴 閱讀(1251) |
評論 (0) |
編輯 收藏
摘要: 經常有人問我,jBPM4視頻教程到底有多少課,能講到什么程度?這里我就放出jBPM4視頻教程系列的初期規劃,同時我們今天還推出了jBPM4視頻教程應用系列的第二課。并提供了我們現有視頻教程的觀看和下載鏈接。
閱讀全文
posted @
2009-08-19 08:47 卡宴 閱讀(1354) |
評論 (2) |
編輯 收藏
摘要: 第一次使用工作流做項目或產品,遇到最簡單最常見的需求就是分配任務,待辦任務列表以及一些簡單的流向判斷,這是基本所有的流程都要實現的,而我們這一課的內容主要就是教大家在一個簡單的業務流程里實現這些功能。
閱讀全文
posted @
2009-08-13 22:13 卡宴 閱讀(1265) |
評論 (1) |
編輯 收藏
摘要: 《每天一課,jBPM4》視頻教程今天推出基本應用系列——第一課,這個系列主要是以請假流程為例,請假流程作為OA中的一個經典案例,覆蓋了多種流程特性,同時又兼具易讀性。主要內容是執行請假流程,實現流程駁回,用戶權限,任務與表單綁定以及流程追蹤等功能。
閱讀全文
posted @
2009-08-11 23:34 卡宴 閱讀(1517) |
評論 (5) |
編輯 收藏
摘要: 這一課主要是講解流程實例的管理和流程活動的分類介紹,這一課的視頻也是入門系列的最后一課,因為到這一課為止我們就能讓大家入門jBPM4了,對于jBPM4的一些簡單應用已經沒有問題了。從下一課開始,我們將進入jBPM4系列視頻教程的基本應用系列,正式開始接觸真正的業務場景的用例。
閱讀全文
posted @
2009-08-06 09:35 卡宴 閱讀(1351) |
評論 (2) |
編輯 收藏
摘要: 《每天一課,jBPM4》視頻教程今天推出第二課,主要內容是在web工程里應用jBPM4。
閱讀全文
posted @
2009-08-03 09:41 卡宴 閱讀(2088) |
評論 (5) |
編輯 收藏
摘要: 隨著jBPM4.0GA版本的發布,使用jBPM4的人也開始多起來,雖然我們已經翻譯了jBPM-4的用戶手冊和開發指南,但jBPM4的官方文檔內容還是不夠全面,雖然理論知識比較豐富,但是缺少實踐教授內容。我們推出的《每天一課,jBPM4》是jBPM4第一份系列視頻教程,手把手教您學會jBPM4,并將jBPM4應用在工作流管理平臺中,同時我們還會提供視頻課程里的源代碼。
閱讀全文
posted @
2009-07-29 18:04 卡宴 閱讀(3142) |
評論 (7) |
編輯 收藏
摘要: 這2天我們忙著做了下jBPM4和Spring Security的專題頁面,提供了不少關于jBPM4和Spring Security的技術資料和示例。
閱讀全文
posted @
2009-07-28 14:02 卡宴 閱讀(1697) |
評論 (4) |
編輯 收藏
摘要: 在oa里我們實現一套權限管理,包括資源管理、角色管理、用戶管理、菜單管理以及組織機構管理,整套權限采用的是RBAC的模型。下面給大家分享下效果,同時也提供源碼下載,希望大家多提建議。
閱讀全文
posted @
2009-07-22 11:56 卡宴 閱讀(2535) |
評論 (6) |
編輯 收藏
摘要: 鑒于各位都非常期待PDF的版本,我便把用戶指南提供給大家下載,希望大家能夠多多反饋,這樣才能提高我們的翻譯質量,對大家更是有好處。開發指南的內容更豐富些,如果有感興趣幫忙校稿的朋友可以聯系我們O(∩_∩)O哈哈~
閱讀全文
posted @
2009-07-15 01:14 卡宴 閱讀(1949) |
評論 (10) |
編輯 收藏
開發文檔更新到了jBPM4的GA版本,這次開發文檔變更非常大,添加了好幾章,并且原來的部分章節也改了名字,具體細節可以查看修改日志。不過架構那章更新的并不多,和jBPM4實際的架構還有些區別,所以這部分大家最好看jBPM4的源碼。(用戶指南的翻譯見上一篇博客)
posted @
2009-07-14 00:28 卡宴 閱讀(3342) |
評論 (11) |
編輯 收藏
posted @
2009-07-09 10:35 卡宴 閱讀(1473) |
評論 (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 卡宴 閱讀(1143) |
評論 (4) |
編輯 收藏
摘要: 我們的控制臺現已實現了流程管理、流程監控、流程建模和仿真以及報表等,建模和仿真是使用js做了一個web設計器jPDL整合在控制臺中。
閱讀全文
posted @
2009-06-29 14:11 卡宴 閱讀(1662) |
評論 (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 卡宴 閱讀(1482) |
評論 (0) |
編輯 收藏