李永燕 張風民 楊云國
(上海鐵大電信設備有限公司,200331,上海∥第一作者,工程師)
隨著城市軌道交通的網絡化發展,站點迅速增多,運營公司與車站,以及車站與車站之間的聯系日益頻繁,急需建立一套快速、有效、安全的電子公文系統。基于B/S(瀏覽器/服務器)結構的、可定制工作流程的電子公文系統,適用于任何需要電子公文系統的行業,能夠有效地解決城市軌道交通行業所面臨的問題。
電子公文是“以數字形式存儲于磁帶、磁盤、光盤等載體,依賴計算機系統閱讀、處理并可在通信網絡上傳輸的公文”。電子公文應具有真實性、可靠性、完整性、可用性。使用電子公文系統可以完成公文的擬稿、核稿、簽發、簽收、批示等工作,可實現無紙化公文流轉、異地辦公,能極大地提高日常管理工作的質量和效率,同時又便于存儲、查詢和歸類。
電子公文最重要的功能就是確保信息完整、可靠地流轉。公文流轉過程通常有兩種實現方法:①通過編程來固化流程邏輯。采用這種方法不需要借助于專業的軟件就能實現;其缺點是:當工作流程發生變化時,需要修改程序、編譯和重新部署系統,用戶難以自己完成這項工作。②使用工作流軟件建立流程模型。其流程的驅動由工作流完成,當工作流程發生變化時,只需要修改流程描述文件就可完成。該方式克服了用程序控制流程的復雜性,但是工作流軟件復雜,對使用者的專業技術要求高,同樣需要程序員才能完成。
工作流是一類能夠完全或者部分自動執行的過程,它根據一系列過程規則、文檔、信息或任務,能夠在不同的執行者之間進行傳遞與執行。使用工作流可以改進和優化業務流程,提高業務工作效率;并具有更好的業務過程控制,提高服務質量,提高業務流程的柔性。
目前的工作流產品有很多種,既有商業版本的又有開源組織支持的免費軟件。本系統采用Jboss組織支持的開源軟件jBPM(Java Business Process Management)。jBPM是一個支持復雜企業級應用、可擴展的工作流管理系統,支持直觀的XML(可擴展標記語言)來表示商業流程圖的術語。比如,任務、異步通信的等待狀態、定時器、自動操作等。將這些操作組合在一起,jBPM就有了強大的和易擴展的控制流程機制。對于企業應用來說,jBPM對運行環境的依賴性較小,既可作為Java庫來使用,也可用在吞吐量極為關鍵的J2EE集群應用服務器環境中。jBPM可以同任何關系型數據庫配置,可以部署在任何應用服務器上。jBPM提供了開發流程、發布流程、執行流程、管理角色任務、協調Web Service等功能。
電子公文的軟件結構一般可分為C/S(客戶機/服務器)和B/S(瀏覽器/服務器)兩種結構。二者相比,B/S結構在數據的安全性、一致性、實時性、溯源性,以及服務響應及時性、網絡應用限制、投入成本、硬件投資保護等方面,都有比較大的優勢。另外,電子公文系統一般與辦公網同時使用,而辦公網基本上都使用B/S結構,所以本系統選用B/S結構。
jBPM本身沒有提供可視化軟件編寫流程,但由于jBPM采用XML描述流程,所以可以使用文本編輯器來編寫XML程序。這對用戶的要求非常高,需要用戶掌握jBPM的語法及流程發布方法,普通用戶自己不能完成。電子公文系統是基于 B/S架構的網頁程序,可以在網頁上以所見即所得的方式編寫流程,對用戶屏蔽XML的復雜性。
要實現流程的可視化編寫,必須提供描述流程的各種基本元素。這些元素應該以直觀的方式繪制,也就是自定義的圖形。瀏覽器只支持用HTML(超文本標記語言)描述的對象,而這些對象與工作流的要求相去甚遠,所以必須使用其它技術來繪制圖形。目前在網頁上繪制流程有3種可行的方法,它們分別是ActiveX控件、Java Applet及基于 XML的 VML(Vector Markup Language,矢量可標記)語言。
ActiveX控件是一個開放的集成平臺,為開發人員、用戶和Web生產商提供了一個快速而簡便的在Internet和Intranet創建程序集成和內容的方法。使用ActiveX編寫工作流控件,可以做到界面美觀、功能強大;缺點是ActiveX控件需要在客戶端安裝程序,需要降低瀏覽器的安全設置,存在安全隱患。
Applet是用Java語言編寫的程序組件,可以在任何支持Java程序的瀏覽器中運行。其優點是功能操作方便;缺點是客戶端需要下載并安裝Java Runtime Environment(JRE)和工作流 Applet,并且不同的JRE版本容易出現沖突,運行速度較慢,與網頁界面風格不統一。
VML是由微軟公司開發的XML詞表,表示方法簡單,易于擴展;支持廣泛的矢量圖形特征,基于相連接的直線和曲線描述路徑。在VM L中,shape和group是兩個基本的元素。這兩個元素定義了VML的全部結構。shape描述一個矢量圖形元素,而group用來將這些圖形結合起來,這樣它們就可以作為一個整體進行處理。VM L對客戶端要求很低,IE5.0以上版本都可以支持,不需要安裝任何插件,運行速度非常快。
根據上述分析,決定在本系統中選用VM L繪制流程。用VML繪制流程的圖示例見圖1。實現方法如下。
(1)定義圖形庫。根據電子公文需要的節點類型和連接線,選擇不同形狀的圖形,定義不同類型的圖形的顏色。
(2)定義不同類型的節點的鼠標事件,實現圖形拖曳及設定任務的屬性等功能。
(3)對用戶繪制的流程進行合理性檢查,不合理的要提示用戶修改。
(4)使用jPDL(Java工作流定義語言)描述圖形之間的關系,并提交到應用服務器。
(5)服務器端在接收到客戶端的jPDL后,經過解析、分解結點、轉換格式、更新數據庫等幾個步驟,即可將流程發布成功。
在圖1的流程圖示例中,圓形標識(序號1)是整個流程的開始結點,橢圓形標識(序號8)是流程的結束結點,見圖1所示。

圖1 用VML繪制流程的圖示例
電子公文功能模型圖見圖2。圖中詳細描述了電子公文和工作流之間的數據交換過程。工作流引擎是整個系統的核心。過程定義工具繪制的流程經過引擎的處理,轉化為工作流能識別的格式,達到驅動流程流轉的目的。jBPM工作流可以使用各種關系型數據庫存儲數據,業務上的表單數據也可以交由jBPM存儲,減少開發的工作量。系統的超級管理員可以為不同的用戶賦予不同的角色來控制權限,保護數據的安全。公文中的各種待辦任務可以通過手機短信或即時通信(IM)軟件通知用戶,這樣用戶無需登錄系統即可知道需要做的工作。

圖2 電子公文功能模型圖
(1)采用Web界面、面向對象的語言以及模塊化的程序設計,操作簡單方便。
(2)采用表示層、邏輯層和數據層3層結構模型,系統結構清晰、分工明確,有利于后期的維護和升級。
(3)采用圖形化的流程設計器,可以實現流程的靈活定制修改,可以定制節點不同用戶的權限,而無需修改源程序。設計器簡單、直觀,可以形象地描述出流程的走向,自動與程序邏輯建立關聯。
(4)系統運行無需第三方插件支持,使得整套系統易于部署、遷移,對客戶機也無特殊要求。
可定制流程的電子公文系統,能夠適應內部組織架構的變動和臨時調整。電子公文系統的應用,有助于城市軌道交通運營公司提高日常工作效率,對城市軌道交通運營公司的管理創新工作能夠起到更大的支持作用。
[1]GB/T 19667.1—2005基于XM L的電子公文格式規范[S].