王靜 李巖 孫壯橋 魏一博
摘 要: 傳統(tǒng)電子政務系統(tǒng)存在流程固化的缺點,通過運用J2EE框架及工作流引擎可按需調整業(yè)務功能,提高了重用性和可自定義性,減小了二次開發(fā)的難度與瓶頸,更加符合當今電子政務的實際需要。應用系統(tǒng)的開發(fā)人員通過可視化的方式分析和設計業(yè)務流程,可將各個應用模塊連接在一起。在組織結構和業(yè)務流程發(fā)生變化的時候,能夠在很少修改甚至不修改原來應用程序的情況下,通過適當調整或重新定義工作流程適應變化情況。
關鍵詞: 電子政務 J2EE 工作流
自2014年國務院辦公廳發(fā)布了《關于促進電子政務協(xié)調發(fā)展的指導意見》(國辦發(fā)〔2014〕66號)以來,電子政務已經(jīng)深入我國經(jīng)濟社會發(fā)展的各個領域,成為各級政府平穩(wěn)運轉和高效履職不可或缺的手段。本文以河北省教育廳電子政務系統(tǒng)項目為研究背景,闡述基于J2EE框架及工作流引擎的電子政務系統(tǒng)的設計。
一、傳統(tǒng)電子政務系統(tǒng)存在的問題
當今電子政務系統(tǒng)中,存在各種各樣的工作流程。比如:網(wǎng)站內容的發(fā)布;對各項辦事的管理從立項、審核、審批的許可證管理流程;從群眾的舉報,到對部門進行稽查、對違法違紀的行為進行處理、備案的舉報處理流程;日常的請假申請、用車申請和收發(fā)公文等辦公流程。傳統(tǒng)系統(tǒng)設計方式將業(yè)務流程以編碼的方式固化在應用系統(tǒng)中,在業(yè)務流程和組織結構發(fā)生改變的情況下,需要對系統(tǒng)進行重大修改,甚至重新設計。實際上,業(yè)務流程的改變是導致許多應用系統(tǒng)失敗的最主要原因。基于J2EE及工作流引擎開發(fā)電子政務系統(tǒng)可有效解決以上問題。
二、基于J2EE及工作流技術開發(fā)模式的優(yōu)勢
J2EEWeb應用程序開源框架分為四層:表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和域模塊層,可以幫助開發(fā)人員在短期內搭建結構清晰、復用性好、維護方便的Web應用程序。
工作流管理系統(tǒng)(Workflow Management System,WFMS)通過軟件定義、創(chuàng)建工作流并管理其執(zhí)行。利用工作流管理系統(tǒng)簡化企業(yè)級軟件開發(fā)甚至維護。優(yōu)點如下:
1.降低開發(fā)風險,通過使用狀態(tài)和動作這樣的術語,業(yè)務分析師和開發(fā)人員使用同一種語言交談。這樣開發(fā)人員就不必將用戶需求轉化成軟件設計了。
2.實現(xiàn)集中統(tǒng)一,業(yè)務流程經(jīng)常變化,使用工作流系統(tǒng)的最大好處是:業(yè)務流程的實現(xiàn)代碼,不再是散落在各種各樣的系統(tǒng)中。
3.加快應用開發(fā),你的軟件不用再關注流程的參與者,開發(fā)起來更快,代碼更容易維護。
三、J2EE開發(fā)框架設計
本系統(tǒng)表現(xiàn)層采用Struts框架,業(yè)務邏輯層采用Spring框架,數(shù)據(jù)持久層采用Hibernate提供具體的數(shù)據(jù)庫數(shù)據(jù)處理操作,三者有機整合,構成輕量級J2EE應用框架。在該架構下系統(tǒng)分成四層。
1.表示層:由Struts實現(xiàn),以Struts-config.xml為核心,負責管理用戶的請求,并做出響應。Struts提供通用的控制組件AcfionServlet承擔MVC中的Controller的角色,代理調用業(yè)務邏輯(Action)其他上層處理。AcfionForm封裝與用戶界面的數(shù)據(jù)元素
2.邏輯層:包括流程邏輯層和業(yè)務邏輯層,該層依賴于Spring框架實現(xiàn),主要負責處理應用程序的業(yè)務邏輯和業(yè)務驗證、管理事務、保留和其他層交互的接口、管理業(yè)務層對象之間的依賴等功能??蓪BPM工作流框架作為業(yè)務邏輯層組件使用。JBPM可方便地應用于J2EE框架中。
3.持久層:采用基于0/RMapping機制的Hibemate框架。對數(shù)據(jù)對象的包裝屏蔽了具體的數(shù)據(jù)庫和具體的數(shù)據(jù)表、字段,做到了構建一個通用的數(shù)據(jù)處理模型在不同項目中無縫接入使用。
四、工作流框架設計
本項目采用JBPM框架,JBPM是一個Java庫。因此,它可以用在任何java環(huán)境,如web應用程序,Swing應用程序,EJB,Web Service,等等,此框架采用了非常簡單的組織模型,并且能夠非常容易地讓使用者替換使用自己的組織模型。設計步驟如下:
1.創(chuàng)建任務。
創(chuàng)建工作流圖:創(chuàng)建工作流圖及開始、結束節(jié)點。
創(chuàng)建處理節(jié)點:描述處理節(jié)點,包括節(jié)點名稱,節(jié)點描述,節(jié)點執(zhí)行者。
創(chuàng)建任務節(jié)點:描述任務節(jié)點,包括節(jié)點名稱,節(jié)點描述,節(jié)點執(zhí)行者。
創(chuàng)建泳道:定義必須由同一個參與者完成的任務集。
定義節(jié)點上下文:定義任務節(jié)點能夠訪問的業(yè)務邏輯。
接口及模型類,這些接口和模型類以JSF Managed Bean的形式訪問。節(jié)點上下文提供在節(jié)點處所能夠訪問的內容及這些內容的作用范圍。
分派任務節(jié)點:定義任務節(jié)點處理的泳道、角色、用戶。
分派處理節(jié)點:指定工作流圖中處理節(jié)點對應的業(yè)務處理由哪個Bean完成。
2.定義組織結構:定義完成工作流程的組織的結構。執(zhí)行該任務角色:組織結構定義人員。JBPM提供了一個默認的組織模型,其對應的類為identify包和子包。進行需求分析后,制訂模型具體替換方案,User類替換為電子政務系統(tǒng)用戶;Group類替換為機關處室及各事業(yè)單位;Membership類替換為用戶角色。
3.JBPM流程模型與定義對象建立審批流程圖,把此電子政務系統(tǒng)作為框架使用二次圖形化開發(fā)各審批流程,各審批流程支持隨時增加、減少、刪除、更改。
五、結語
本文以河北省教育廳電子政務建設為背景,分析了河北省教育廳電子政務的現(xiàn)狀與不足,設計了利用SHH框架基于工作流技術的河北省教育廳電子政務系統(tǒng),降低了開發(fā)成本與風險壁壘。本系統(tǒng)的應用改變了不規(guī)范的工作方式,有利于各業(yè)務流程標準化,提高了事務辦理效率。
本論文為河北省高等學校科學技術研究指導項目《基于J2EE的電子政務系統(tǒng)研究與應用》的研究成果。