1 引言
工作流管理是一種正在快速發展的事務管理技術,其主要目的是提高工作效率,規范業務流程。當前,它主要應用于政府、銀行、保險等企事業單位的OA自動化。主要特點是流程自動化處理和人機交互結合。目前,市場上的工作流管理系統一般基于J2EE或.NET平臺,系統耦合過于緊密,跨平臺集成能力不足。此外,流程模型過于復雜,流程建模可視化差,交互能力有限。
本文根據WfMC(Workflow Manager Coalition工作流管理聯盟)的定義,結合實際的開發需要,簡化了復雜的工作流模型,采用Web Service技術框架,設計和實現了一個工作流系統MyWorkflow。它可視化地定義過程、活動、角色和跳轉,支持活動節點圖標拖放,簡化了建模復雜度,并且通過Web Service方案,能方便的集成到不同系統平臺,可適應異構環境的高度集成和靈活部署。
2 系統設計與分析
2.1 體系結構
體系結構采用了表示層,業務層和數據持久層三層結構。體系結構(如圖1)。
圖1 體系結構
表示層為用戶提供工作流流程建模界面和監控界面,流程建模界面可以交互地完成用戶工作流流程的定義描述,啟動和監控界面則提供啟動工作流實例和監控已運行的工作流實例的視圖。業務層則實現了系統的流程模板描述服務和工作流引擎。持久層完成相關數據的存儲,包括流程定義數據,角色和權限數據,實例運行數據和實例歷史數據。
工作流引擎作為業務層的核心,負責對過程定義進行解釋,控制過程實例的創建,激活,掛起,終止和負責過程實例狀態的轉換,控制活動實例間的轉換,對工作流的執行進行導航,監督工作流過程實例和活動實例的執行,記錄工作流的歷史事件和管理工作流的事務。其主要由以下模塊組成:工作流模板列表服務模塊,工作流實例監控模塊,角色和權限管理模塊,消息事件管理模塊和歷史記錄管理模塊。各模塊主要功能如下:
(1)工作流模板列表服務模塊:負責從后臺數據庫中讀取所有的已導入的工作流流程模板,并將選中的流程模板以mpg圖片格式展示給用戶,使其了解所選的業務流程。
(2)工作流實例監控模塊:這是引擎的核心,負責工作流實例的啟動時,運行時,休眠時和終止時的運行數據的入庫和導出。
(3)角色和權限管理模塊:這是一個對外的接口,負責定義系統的角色和相應的權限,同時可以讓用戶在業務流程中選中參與角色的成員,并驗證角色成員的待做事項。
(4)消息事件管理模塊:負責通過消息隊列來完成和維護工作流實例運行時的相應的消息(如:電子郵件)發送,同時也讓用戶了解業務流程的運行情況。
(5)歷史記錄管理模塊:負責記錄系統相關歷史信息,尤其是工作流實例運行時過程執行信息,防止工作流實例的崩潰,以便使崩潰的工作流實例得到恢復。
2.2 基于Web Service的實現方案
為了滿足快速部署,高效率,適應復雜的異構環境,業務層采用了Web Service構件技術和框架。Web Service是下一代可編程網絡的核心,可用來在Internet范圍內方便的表現和使用對象,與傳統的組件技術不同。通常,Web Service位于網絡服務器后端,客戶生成的SOAP請求會被嵌入在一個HTTP POST 請求中,發送給網絡服務器。網絡服務器再把這些請求轉發給Web Service請求處理器(Request Handler).請求處理器的作用在于解析收到的SOAP應答后,以HTTP應答的方式把它送回到客戶端。這種系統能將眾多的應用程序一并進行集成,大大提升了應用系統的耦合性,安全性和良好的異構性。
Web Service的實現方案比較多。其中Apache Axis是一種開放源代碼的實現方案,它為開發web服務提供了基于Java的SOAP實現方案。為了實現web服務。它采用了兼容的標準和協議,利用SOAP運行時環境和基于Java的API框架實現Web服務的核心組件。系統采用了WSDL1.1(Web Service 定義語言)規范,通過Tomcat Axis方案來實現引擎中核心功能模塊。系統的每個功能服務是由描述服務的wsdl,部署服務的wsdl和相應的模塊類組成。系統采用Systinet WASP中的Java2WSDL和WSDL Compiler開發工具, 框架如圖2所示。
圖2 框架
系統的Web Service服務端采用Java語言,Web Service客戶端可以采用不同的語言。這樣使得系統能適應不同的客戶端,從而可以快速、方便和靈活地集成到現有的不同平臺系統。
2.3 可視化交互式建模
建模主要是詳細描述具體的業務中流程模型。WfMC統一了工作流管理系統中所涉及到的名詞術語,并給出了核心元素過程的概念。過程是業務過程的形式化描述,用來支持工作流管理系統的建模和執行的自動化。過程包括一系列活動和活動間的關系、過程的起始和終止信息,以及有關個體的信息,如參與者、有關的應用和數據等。
目前,多數工作流系統采用直接web的建模的實現方式,缺乏拖放功能和良好的可視性。MyWorkflow的工作流流程建模設計采用了基于Applet的可視化B/S結構,主要完成過程中的活動(Active)和連接(Link)等核心元素的定義。整個流程建模用支持拖放的圖標表示活動節點,箭頭表示流程標,使得用戶可以隨意安排界面。最后用戶用本地XML文件保存所定義的流程業務,通過在線上傳和導入XML文件來完成流程模板的入庫。整個建模界面分三部分:工作區、活動節點或轉移的詳細信息設置區和流程視圖區(如圖3)。
圖3 建模界面
3 實例
紹興文理學院計算機系辦公平臺是基于.Net平臺,已經運行兩年。根據實際需要,我們在保留原系統結構和資源的前提下,進行了系統工作流功能的擴充。將MyWorkflow集成到原辦公平臺上。整個操作流程如下:
(1)用戶通過登陸后,可以根據具體的工作業務選擇流程模板。
(2) 在選擇相應的模板后,系統啟動該工作流程的一個實例并根據模板自動進行處理。例如,申請人員選擇了購買審批流程(如圖2)模板后,則系統產生相應的流程實例。
(3)審批人員可在待做欄中發現需處理流程業務,根據流程模板描述,進行相應的處理。系統將會以郵件形式把處理結果告知申請人員。圖4給出了系辦主任處理該購買審批流程的處理界面。
圖4 處理界面
4 結語
本文系統地介紹了一個基于Web Service的技術架構的工作流系統MyWorkflow的體系結構和核心設計方案。該系統面向應用需求,遵循WfMC標準并結合網絡服務特點,具有良好的交互性、耦合性和集成性。
下一步工作,系統將采用XML配置文件,發揮Java語言的優勢,達到類的動態裝入和加載,使得用戶能夠方便地選擇核心業務邏輯模塊和數據庫,從而實現系統的高可重用性和靈活性,以及非編譯擴展性。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于WebService的交互式ERP工作流管理系統的設計
本文網址:http://www.guhuozai8.cn/html/consultation/1082069446.html