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