第一章 引言
1.1 編寫目的
在sshpermissions中加入工作流部分,主要整合的是jbpm4.4。並且將流程設計器和業務做了初步的整合。同時也修改了前期的一些bug。
1.2 關於jbpm
JBPM,全稱是Java Business Process Management(業務流程管理),它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴展的可執行流程語言框架。jBPM是公開源代碼項目,它使用要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)協議。
jBPM在2004年10月18日,發布了2.0版本,並在同一天加入了JBoss,成為了JBoss企業中間件平台的一個組成部分,它的名稱也改成JBoss jBPM。隨着jBPM加入JBoss組織,jBPM也將進入一個全新的發展時代,它的前景是十分光明的。
1.3 Jbpm的最大特色
就是它的業務邏輯定義沒有采用目前的一些規范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定義的JBoss jBPM Process definition language (jPdl)。jPdl認為一個業務流程可以被看作是一個UML狀態圖。jPdl就是詳細定義了這個狀態圖的每個部分,如起始、結束狀態,以及狀態之間的轉換,通過圖型化的流程定義,直觀地描述業務流程。
jBPM的另一個特色是它使用Hibernate來管理它的數據庫。Hibernate是目前Java領域非常流行的一種數據存儲層解決方案,只要是 Hibernate 支持的數據庫, jBPM 也就支持。通過Hibernate,jBPM將數據的管理職能分離出去,自己專注於業務邏輯的處理。
1.4 關於jbpm4、jbpm5、Activiti5
對jBPM來說,今年最大的事件莫過於jBPM的創建者Tom Baeyens離開JBoss了。Tom Baeyens離開的具體原因尚不清楚,但他的離開產生了兩個結果:一是jBPM的下一個版本jBPM5完全放棄了jBPM4的基礎代碼,基於Drools Flow重頭來過;二是Tom Baeyens加入Alfresco后很快推出了新的基於jBPM4的開源工作流系統Activiti。 由此不難推測Tom Baeyens離開的部分原因:JBoss內部對jBPM未來版本的架構實現產生了嚴重的意見分歧。更加巧合的是12月1日Activiti5剛發布,緊 接着12月2日jBPM5就發布了第一個候選發布版本,jBPM與Activiti之間的微妙關系可見一般。
詳細的可以參考
http://www.blogjava.net/DL88250/archive/2011/01/05/342348.html
很顯然,現在要做的是嵌入式的一部分,即流程和業務都是在一個工程內。
第二章 關於權限
2.1 整體介紹
主要是將權限分為組,角色,用戶,系統,資源,操作等功能。大致關系如下:其中用戶只和組交互,角色和權限部分交互。
2.2 流程類型處理
在加入工作流功能之后,先添加類型處理。
2.2.1 增刪改
新增類別的信息。
2.2.2 新增流程
點擊新增流程按鈕。
彈出做好的流程設計器。
可以對流程進行編緝和操作。
發布后可以在流程列表中看到新添加的流程。
新的流程需要點擊發布按鈕將其發布到工作流引擎中,並且將對應的信息記錄到數據庫。
2.2.3 流程列表
在列表中主要包編緝和啟用禁用兩塊。
啟用和禁用是指在業務系統中如果綁定后是否啟動對應的流程,因為流程可以有多個,甚至是經常更改,所以這個功能可以根據需要來設置最新的流程或者不使用的流程。
2.2.4 流程編緝
點擊編緝按鈕可以得到已設計好的流程,並且對其進行更改。
第三章 待完善功能
3.1 表單設計
對於表單的動態設計,因為如果想在線增加新的流程,就必然涉及到與表單的綁定。
3.2 設計器深化
現在只是一個初步的版本還有很多需要深化的地方。
3.3 權限粒度
權限的粒度問題,需要進一步深入。這部分會深入一下Ralasafe,參考一下設計思路。
3.4 其它
也希望大家多提一些關於本系統需要完善地方。