王 暢
(江蘇教育學(xué)院運河分院 江蘇邳州 221300)
SOA(Service-Oriented Architecture),作為一種面向服務(wù)的體系架構(gòu),通過Web Service技術(shù)打破由于體系結(jié)構(gòu)不同、語言不同和平臺不同而導(dǎo)致的異構(gòu)環(huán)境下無法集成和連接的局面。在工作流技術(shù)中引入Web Service[1],將各種應(yīng)用程序封裝成Web Service,借助SOA的思想,對外公布和提供其標(biāo)準(zhǔn)的接口,支持和實現(xiàn)企業(yè)間跨平臺地工作流連接和互訪[2]。因此,將SOA與工作流系統(tǒng)相結(jié)合是完全可行的。
由于受到異構(gòu)環(huán)境、軟硬件平臺、開發(fā)語言等因素的影響,使得企業(yè)間的一些需要共享的數(shù)據(jù)彼此分離、相互獨立,這就有了“信息孤島”的現(xiàn)象[3]。然而這種分離和獨立在信息化水平日漸普及和提高的今天,顯然已經(jīng)非常不利于提高企業(yè)的信息交互能力和自身競爭力,這就對業(yè)務(wù)流程的集成[4]提出了迫切的需求。
(一)基于SOA的異構(gòu)數(shù)據(jù)集成框架。工作流管理系統(tǒng)的數(shù)據(jù)庫除了業(yè)務(wù)數(shù)據(jù)庫以外還應(yīng)包括由工作流定義列表、過程定義、Web服務(wù)表等組成的工作流相關(guān)數(shù)據(jù)庫。如何將這些數(shù)據(jù)實現(xiàn)共享和集成,是系統(tǒng)良好運行的重要保障。為了保證子系統(tǒng)間的數(shù)據(jù)共享,采用SOA架構(gòu),使用Web Service封裝數(shù)據(jù)源的技術(shù),借助統(tǒng)一、規(guī)范的接口實現(xiàn)數(shù)據(jù)交換。這種基于SOA的異構(gòu)數(shù)據(jù)集成框架[5]如圖1所示。
圖1 基于SOA的異構(gòu)數(shù)據(jù)集成框架
從圖1可以發(fā)現(xiàn),此數(shù)據(jù)集成框架包括五個層次,接下來對此框架作簡要說明:
1.在數(shù)據(jù)資源服務(wù)層提供對數(shù)據(jù)資源查詢、修改、添加、刪除、導(dǎo)入、導(dǎo)出等操作的支持,為異質(zhì)的數(shù)據(jù)資源提供標(biāo)準(zhǔn)、統(tǒng)一的接口,以實現(xiàn)數(shù)據(jù)訪問和操作的跨平臺。
2.本體服務(wù)層提供了數(shù)據(jù)模式的規(guī)范表達模型和相關(guān)標(biāo)準(zhǔn);在語義層實現(xiàn)將語義查詢結(jié)果和信息封裝為服務(wù),以便被應(yīng)用層加以調(diào)用。
3.從用戶的層面來看,可以不必考慮數(shù)據(jù)是否異構(gòu)等信息,借助統(tǒng)一的接口,便可以調(diào)用相應(yīng)的數(shù)據(jù)服務(wù)實現(xiàn)相關(guān)的數(shù)據(jù)操作。
(二)面向服務(wù)的封裝機制。在SOA架構(gòu)中,Web服務(wù)是系統(tǒng)重構(gòu)的技術(shù)基礎(chǔ)和重要手段[6],通過Web服務(wù)的封裝有效地滿足系統(tǒng)內(nèi)外的交互需求。
在工作流管理系統(tǒng)中常常包括一對一傳送的直流模式、一對多傳送的分流模式、多對一的合流模式和能夠在流程中產(chǎn)生回路的回流模式[7]。將這些模式組合在一起,形成更為復(fù)雜的工作流。為了能夠屏蔽交互細節(jié),保證業(yè)務(wù)能夠在不同的參與者之間靈活、順利地執(zhí)行和完成。將Web Service的封裝技術(shù)引入其中,通過WSDL對服務(wù)進行描述,借助SOAP保證服務(wù)使用方與服務(wù)發(fā)送方的交互,依靠BPEL對服務(wù)重新組合,保證業(yè)務(wù)流程的順利完成[8],此系統(tǒng)對業(yè)務(wù)邏輯與數(shù)據(jù)庫的封裝如圖2所示。
圖2 業(yè)務(wù)邏輯和數(shù)據(jù)庫的封裝
下面以某鉆石辦的公文流轉(zhuǎn)和服務(wù)外包合同的審批這兩種主要采用BPEL對封裝的Web服務(wù)進行重新組合、編排技術(shù)的業(yè)務(wù)流程為例,詳細闡述基于SOA的工作流技術(shù)在其信息管理系統(tǒng)中的應(yīng)用與實現(xiàn)。
(一)基于SOA的工作流模型應(yīng)用于系統(tǒng)開發(fā)的可行性。該鉆石辦是由多部門聯(lián)合組成的機構(gòu),對鉆石進出口交易進行聯(lián)合管理,其組成部門包括商務(wù)、海關(guān)、商檢、稅務(wù)等。該公司受到市外資委的委托,承擔(dān)著對鉆石外資企業(yè)審批和管理的任務(wù)。目前,公司擁有200多家會員企業(yè),面對數(shù)量快速增長和聯(lián)系日益密切的業(yè)務(wù)活動,急需建立一個跨平臺、跨部門、跨地域的企業(yè)信息管理系統(tǒng),提高企業(yè)內(nèi)部管理和服務(wù)的水平、企業(yè)與企業(yè)之間的業(yè)務(wù)辦理效率。
將SOA工作流模型在此系統(tǒng)中加以應(yīng)用是可行的,根據(jù)主要有以下幾點:
1.以鉆石辦會員管理系統(tǒng)子系統(tǒng)為例,鉆石辦會員在地理位置的分布上并不集中,甚至比較分散,在這種情況下,使用局域網(wǎng)將鉆石辦與各會員單位相連顯然不合實際,需要借助Internet,使之成為各單位溝通的橋梁。而SOA架構(gòu)下的工作流模型能夠支持這種分布異構(gòu)的環(huán)境,為各會員之間的信息交互搭建了良好的平臺。
2.系統(tǒng)包括年審數(shù)據(jù)管理、企業(yè)信息管理、交易合同管理、人力資源管理、消息文件管理、公文流轉(zhuǎn)等功能模塊,而一些功能模塊之間更是緊密聯(lián)系,相輔相成。將這些功能模塊組合在一起就構(gòu)成了完整的鉆石辦信息管理系統(tǒng)。如果將工作流技術(shù)引入其中,特別是采用SOA架構(gòu),那么業(yè)務(wù)活動就可以在工作流引擎的主導(dǎo)、控制和監(jiān)管下,打破各模塊溝通的障礙,有效地實現(xiàn)業(yè)務(wù)功能的集成從而提高工作效率。
(二)公文流轉(zhuǎn)流程分析。公文流轉(zhuǎn)在此系統(tǒng)中可以理解為基于工作流技術(shù)的一個功能模塊,主要功能是將企業(yè)內(nèi)部或企業(yè)之間的傳統(tǒng)人工公文管理方式電子化。具體的流程如圖3所示。
圖3 公文流轉(zhuǎn)流程
下面結(jié)合此流程圖對系統(tǒng)中的公文流轉(zhuǎn)流程的執(zhí)行進行如下描述:
1.公文發(fā)送方通過OA接口,對公文錄入排版,并結(jié)合部分電子文件共同生成公文。
2.公文生成以后,檢查無誤,加蓋電子印章,對公文進行打包。
3.系統(tǒng)接到發(fā)送方的公文發(fā)送請求時,調(diào)用其中的公文交換服務(wù),將公文傳送給公文接收方,并對其發(fā)出收件提示。
4.公文接收方按照收件提示,做出對公文的執(zhí)行回應(yīng)。如果拒收或退回,則再次通過系統(tǒng)調(diào)用公文交換服務(wù)將公文傳送給發(fā)送方,并進行回執(zhí)處理。
5.如果公文接收方選擇了對公文進行簽收,則一方面通過公文交換服務(wù)將處理結(jié)果反饋給公文發(fā)送方,做好回執(zhí)管理,另一方面繼續(xù)進行公文流轉(zhuǎn)的下一環(huán)節(jié)進行辦理或輸出。
6.當(dāng)公文簽收和辦理完畢之后,對公文流轉(zhuǎn)這一環(huán)節(jié)的流程進行整理、歸檔,以備開展更為復(fù)雜的協(xié)同辦公。
(三)服務(wù)外包合同審批的流程分析。服務(wù)外包是指企業(yè)將原由自己提供的基礎(chǔ)性業(yè)務(wù)或以IT為基礎(chǔ)的業(yè)務(wù)流程從自身的價值鏈中剝離出來,然后外包給其他專業(yè)服務(wù)商來處理的經(jīng)濟活動。服務(wù)外包的業(yè)務(wù)流程是在網(wǎng)絡(luò)環(huán)境下借助計算機完成,降低了企業(yè)成本并優(yōu)化了企業(yè)間的資源配置。
服務(wù)外包合同的審批是鉆石辦信息管理系統(tǒng)的一個重要功能模塊,它是由一系列活動組成,圖4是其具體的流程表示。
圖4 服務(wù)外包合同審批流程
下面結(jié)合此流程圖對鉆石辦信息管理系統(tǒng)中的服務(wù)外包合同審批流程的執(zhí)行進行如下描述:
1.當(dāng)服務(wù)外包合同確認單簽訂以后,根據(jù)合同類型提交給不同級別的主管部門審批。
2.如果合同是 ITO(Information Technology Outsourcing)類型,例如像軟件設(shè)計與開發(fā)、基礎(chǔ)建設(shè)等信息技術(shù)外包,則提交給市級主管部門審批;如果合同類型是強調(diào)業(yè)務(wù)流程管理的BPO(Business Process Outsourcing)或者是強調(diào)信息集成、創(chuàng)新流程研發(fā)的 KPO(Knowledge Process Outsourcing),則提交給區(qū)/縣主管部門審批。
3.相應(yīng)的主管部門接到合同審批的請求以后,通過接口獲取商務(wù)部提供的數(shù)據(jù),并對合同信息進行審核,如果通過審核,則打印回執(zhí),并提交給領(lǐng)導(dǎo)等待批復(fù);如果審核沒有通過,則將合同返回,由合同簽訂雙方或多方再次根據(jù)相關(guān)規(guī)定、規(guī)則重新簽訂合同,再提交。
(四)系統(tǒng)的邏輯架構(gòu)。系統(tǒng)軟件采用的是SOA的架構(gòu),將系統(tǒng)運行所需的數(shù)據(jù)、組件和應(yīng)用程序單獨分開,通過數(shù)據(jù)資源的重組,構(gòu)建滿足不同業(yè)務(wù)需要的服務(wù)組件,通過調(diào)用這些不同的服務(wù)滿足各種各樣業(yè)務(wù)流程的建立和運行。本系統(tǒng)邏輯架構(gòu)如圖5所示。
圖5 鉆石辦信息管理系統(tǒng)的系統(tǒng)架構(gòu)圖
1.基礎(chǔ)設(shè)施層?;A(chǔ)設(shè)施層是鉆石辦信息管理系統(tǒng)能夠得以運行的基礎(chǔ)平臺。它包括各種軟硬件環(huán)境,其中硬件環(huán)境可以是服務(wù)器、網(wǎng)絡(luò)設(shè)備、業(yè)務(wù)終端等,軟件環(huán)境包括支持系統(tǒng)運行的操作系統(tǒng)以及運行在操作系統(tǒng)之上的系統(tǒng)軟件,除此之外,也包括系統(tǒng)二次開發(fā)平臺,如SOAP、XML[9]等。
2.數(shù)據(jù)層。結(jié)合鉆石辦信息管理系統(tǒng),主要包括流程數(shù)據(jù)庫、OA管理數(shù)據(jù)庫、會員管理數(shù)據(jù)庫、診斷數(shù)據(jù)庫等。
3.服務(wù)層。服務(wù)層由公共服務(wù)和業(yè)務(wù)服務(wù)組成,其中公共服務(wù)包括工作流組件、用戶管理、權(quán)限管理、表單管理等,而業(yè)務(wù)服務(wù)由企業(yè)管理、信息管理、機構(gòu)管理等組成。通過服務(wù)層為系統(tǒng)提供被用戶調(diào)用的封裝為Web Service的各類組件。
4.業(yè)務(wù)邏輯層。主要是查找鉆石辦信息管理系統(tǒng)各模塊當(dāng)前運行所需要的服務(wù),一旦查找成功,通過SOAP發(fā)出服務(wù)請求,最后通過Web服務(wù)接口[10]獲取所要調(diào)用的服務(wù)。
5.表現(xiàn)層。提供給用戶鉆石辦會員管理系統(tǒng)和鉆石辦OA系統(tǒng)兩個子系統(tǒng)的人性化操作界面,進而實現(xiàn)所需的各種功能。
本文采用SOA架構(gòu)的思想,最大程度地對已有的業(yè)務(wù)資源和數(shù)據(jù)資源實現(xiàn)了集成和重用,建立了基于SOA的工作流管理系統(tǒng)的邏輯架構(gòu),實現(xiàn)了服務(wù)的動態(tài)編排和重組,解決了原有系統(tǒng)間無法協(xié)作共享和業(yè)務(wù)重組的需求,取得了良好的效果。
[1]孫瑞志,史美林.一個支持動態(tài)變化的工作流元模型[J].軟件學(xué)報,2003,10(5):209-211.
[2]傅向華,明仲,彭小剛.基于SOA的流程與數(shù)據(jù)關(guān)聯(lián)模型研究[J].計算機應(yīng)用研究,2008,25(1):134-137.
[3]管紅杰,王珂,江海峰,等.SOA架構(gòu)的工作流管理系統(tǒng)的研究與應(yīng)用[J].計算機工程與設(shè)計,2011,32(5):1654-1657.
[4]李紅信,范玉順.基于Web Service的異構(gòu)工作流管理系統(tǒng)的集成和互操作研究 [J].信息與控制,2003,32(3):193-197.
[5]張慶福,萬麟瑞.基于SOA的異構(gòu)數(shù)據(jù)集成軟件架構(gòu)研究[J].計算機技術(shù)與發(fā)展,2011,21(5):17-21.
[6]荊澤泉,李庭俊,符云海.基于SOA和Web Service的遺留系統(tǒng)重構(gòu)研究[J].數(shù)字技術(shù)及應(yīng)用,2012,30(9):37-39.
[7]段會寧.基于SOA的工作流管理系統(tǒng)的研究與設(shè)計[D].哈爾濱:哈爾濱理工大學(xué),2009:25-28.
[8]譚浩,張雄,廖軍.基于BPEIAWS的工作流平臺的設(shè)計和實現(xiàn)[J].計算機應(yīng)用,2006,26(6):1245-1247.
[9]Yi-chaoC,FriedE.Stabilityandbifurcationofasoapfilm spanning a flexible loop[J].Journal of Elasticity,2014,116(1):75-100.
[10]吳丹.基于SOA的工作流管理系統(tǒng)研究與應(yīng)用[D].廣州:廣東工業(yè)大學(xué),2008:15-20.