給sshpermissions加入工作流


第一章 引言

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 其它

也希望大家多提一些關於本系統需要完善地方。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM