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