孫啟良
摘 要:隨著我國社會經濟的快速發展,社會經濟主體在運營過程中的辦公自動化需求不斷增加,同時因為現代企業主體管理形式的變化和經濟交互形式的變化,傳統的硬編碼開發業務流程方式已經不能滿足開發企業高效的開發要求,同時對企業靈活多變的業務需求也不能夠很好的滿足。借助工作流引擎實現的工作流開放方式的產生徹底解決了這一難題,文章將從應用分析的角度出發,結合JBPM工作流引擎在OA系統中的應用實際,對JBPM工作流引擎在OA系統中的應用進行簡要分析。
關鍵詞:JBPM工作流引擎;OA系統;應用
前言
工作流是指特殊組織活動中工作流程的計算機模型,本質上是對工作流程中的工作如何前后組織在其起的邏輯和規則的計算機模型總結,具體表現為參與者對文件、信息或者任務按照預定的規定來采取行動,并令其在參與者之間進行傳遞。工作流程管理的應用,能夠最大限度的優化工作資源配置,減少資源的過程消耗,提高軟件的重用率,發揮系統的最大效能。
1 工作流及工作流管理系統
1.1 工作流及工作流管理系統定義
工作流是一系列自動進行、相互銜接的任務或者業務活動,是對任務和業務活動內部環節的計算機模擬排序,從工作流的整體來看工作流是一系列工作流的首尾連接,一個工作流的結束可能是另一個工作流的開始。對一系列的工作流進行定義、管理活動的軟件系統就是工作流的管理系統。一定程度上來講工作流系統是一種衍生系統,要想執行工作流實例需要借助計算機,以計算機來推進定義好的工作流程邏輯向下延伸[1]。
1.2 基于JBPM的工作流管理系統
JBPM是工作流引擎,是工作流管理系統的核心,其在系統中的主要作用是管理任務實例。JBPM是基于J2EE設計的輕量級工作流引擎,其最顯著的特點是結合了工作流引擎和工作流管理系統的功能,雖然自身的量級較輕,但是其擴展性極強,能夠靈活的與多種工作流模式結合在一起,同時其開發語言為JAVA具備較強的開源性,借助JAVA語言可以對流程實例和流程定義活動的定義環境進行管理,同時還可以實現對自己定義的JPDL流程描述語言的實踐應用[2]。
2 JBPM工作流管理系統在OA中的應用
2.1 工作流建模
在工作流程的實際應用中,應該以建模的形式對實際業務流程進行數字轉化,所有業務流程都轉化為相應的數字信息內容,并封存到JBPM中轉化為流程檔案。JPDL引擎在接收到流程檔案后對其執行,在流程執行過程中,維持工作流程進行的所有工作都由JPDL流程引擎負責。在工作流程的具體運行中,開始將發文流程實例轉化為開始狀態節點任務;結束發文實例轉化為結束狀態節點任務;事件的登記來文、意見擬定、分管領導審閱、匯總處理等作為任務節點工作的內容,同時歸檔被設置為自動節點任務,信息傳閱的公開權限則為判斷節點任務[3]。
2.2 工作流應用
2.2.1 工作流基本要素。工作流程本身是基本要素的連結體,其中的基本要素主要包括有數據、活動、參與者,隨著工作流程的繼續,具體的數據信息會從一個節點傳遞到另一個節點,而這里的節點指的就是活動。也就是說任務的原始信息從初始活動開始,依次經過所有的活動環節,工作流程就會結束。而參與者是活動的直接執行者,決定活動的內容,但是參與者本身與流程的運行并沒有直接關系,只與活動節點存在一級連接。所以在工作流程的設計活動中,可以指定活動的參與者,也可以不指定。
2.2.2 工作流過程。想要執行工作流程,首先要對工作流程進行定義,也就是從邏輯意義上對工作流程進行規劃。這種規劃在實際應用中以Xml文件的形式存在于計算機中,每一個流程實例就是一次實際業務流轉過程,從計算機運行的角度來講流程實例就是一個有開始時間和結束時間,并在數據庫中存儲的數據。具體而言工作流程的執行如下:
第一步,部署流程,在計算機系統中植入定義好的工作流程。
PROCESSDEFINIONPROCESSDEFINITION=PROCESSDEFINITION.PARSEXMLRESOURCE("ORG/JBPM/PROCESSDEFINITION.XML");
GRAPHSESSION.DELOPPROCESSDEFINITION(PROCESSDEFrNITION);
第二步,對植入的流程進行加載,具體方法如下
PROCESSDEFINITIONPROCESSDEFINITION=GRAPHSESSION.LO
ADPROCESSDEFINITION(PROCESSDEFINITIONID);
在工作流程的加載過程中,應該對在數據庫中運行相應的搜索機制,參照工作流程的定義ID將其中需要夾雜的工作流程提取出來。
第三步,工作流程啟動,創設流程實例并按照工作流程的定義執行,內容如下:
PROCESSINSTANCEPROCESSINSTANCE=NEWPROCESSINSTA
NCE(PROCESSDEF-INITION)
LIST LIST=TASKMGMTSESSION.FINDTASKINSTANCE(USER
ID)
第四步,工作流程任務結束,以接口END()的形式保證工作流程的有效截止,并保證工作流程運行中數據信息的完整。
2.2.3 人工選擇流程的走向。在具體的應用活動中需要流轉的公文文件在進行定義以后,其流轉過程中的公開與否的判斷節點是公開的,可以在工作流程相應的編輯位置進行人工選擇。系統為人工選擇活動提供了兩個選項,一種是完全公開的公文流轉形式,在作出該選擇后公文會自動轉向瀏覽、公開信節點,保證公文的公開流轉。另一個選項是不公開的流轉,在操作人員作出選擇后公文會轉向領導審批節點,僅提供給享有勾選權限的審批節點[4]。
2.2.4 程序自動選擇流程走向。同樣在公文的流轉活動中相應的公文流轉也可以由系統自動選擇,這種智能流轉方式是在公文信息識別和審閱權限判斷的基礎上形成的,工作流程系統的設計人員可以通過對系統中decision節點的設置,實現工作流程的自動判斷。具體的作用機制是設計人員通過對應表格將公文信息進行分級標識,并對標識所對應的審閱權限進行連接,這樣在工作流程的運行過程中,系統就可以通過對公文和審批權限的識別實現對公文流轉的自動選擇。
2.2.5 使用泳道為多個任務制定相同的參與者。在具體的任務執行活動中,可能會產生多個任務由一個人執行的現象,這種現象在工作流程中會因為信息的交匯而產生JAVA類膨脹過度,為了控制這一現象,工作流程系統能夠提供泳道方式[5]。
3 結束語
JBPM工作流引擎是在工作流系統中既是維持工作流運行的引擎,又是控制工作流運行環境的管理系統,其在OA系統中的應用能夠最大限度的實現OA系統的資源優化配置,系統效能的最大限度發揮,文章從工作流及工作流管理系統、JBPM工作流管理系統在OA中的應用兩個方面對這一問題進行了簡要分析,以期為JBPM工作流引擎在OA系統中應用水平的提升提供支持和借鑒。
參考文獻
[1]劉建建.基于JBPM工作流引擎的OA系統設計與實現[D].西安電子科技大學,2009.
[2]張瑋.嵌入JBPM的輕量級工作流系統的構建和應用[D].長沙理工大學,2009.
[3]武恙.JBPM工作流引擎在OA系統中的應用[J].電子技術與軟件工程,2014,20:16.
[4]陳云鋒.基于JBPM和動態任務重做策略的OA系統設計與實現[D].中山大學,2012.
[5]陳盧忠.JBPM工作流引擎在BI系統中的應用與實現[D].北京交通大學,2012.