摘 要:從全局全網(wǎng)出發(fā)對(duì)通信業(yè)務(wù)進(jìn)行提供和保障,要求作為支撐體系中的網(wǎng)絡(luò)管理系統(tǒng)之間能夠動(dòng)態(tài)協(xié)作。而分布式協(xié)作方式相對(duì)于集中式協(xié)作方式具有性能和可擴(kuò)展性等方面的優(yōu)勢(shì)。分析了網(wǎng)絡(luò)管理系統(tǒng)對(duì)分布式協(xié)作的需求,在一個(gè)基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)的基礎(chǔ)上,將網(wǎng)絡(luò)管理系統(tǒng)間的協(xié)作轉(zhuǎn)換為由網(wǎng)絡(luò)管理系統(tǒng)提供的管理服務(wù)之間的協(xié)作,定義了異構(gòu)網(wǎng)絡(luò)管理系統(tǒng)之間的分布式協(xié)作機(jī)制,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)原型系統(tǒng)來(lái)驗(yàn)證該分布式協(xié)作機(jī)制。
關(guān)鍵詞:網(wǎng)絡(luò)管理;Web服務(wù);分布式協(xié)作
中圖分類(lèi)號(hào):TN915.07; TP393 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)09-2741-05
Distributed coordination mechanism between heterogeneous network management systems
ZHANG Yue,QIU Xuesong,MENG Luoming
(State Key Laboratory of Switching Networking Technology, Beijing University of Posts Telecommunications, Beijing 100876, China)
Abstract:The efficient fulfillment and assurance of communication services is one of the main objectives of network management. To provide and assure communication services from the overall network needs dynamical coordination between network management systems, which are significant parts of operation support systems. Since distributed coordination had better performance and extensibility than centralized coordination, the demands for distributed coordination of network management systems were analyzed. Based on a Web servicesbased dynamically cooperative network management architecture, by convertingthe coordination between network management systems to that between management services provided by those network management systems,a distributed coordination mechanism between network management systems was proposed and a prototype was designed and implemented to validate the mechanism.
Key words:network management; Web services; distributed coordination
在電信運(yùn)營(yíng)支撐體系中,網(wǎng)絡(luò)管理系統(tǒng)(network management system,NMS)對(duì)通信業(yè)務(wù)的提供和保障起到了極為重要的作用。目前,電信運(yùn)營(yíng)以客戶為出發(fā)點(diǎn)的運(yùn)營(yíng)思路要求通信業(yè)務(wù)的部署、運(yùn)營(yíng)和維護(hù)能夠從全局全網(wǎng)出發(fā),各自為政的NMS已經(jīng)難以從全局反映網(wǎng)絡(luò)運(yùn)行的實(shí)際情況。然而,NMS在其設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程中,所采用的技術(shù)和管理協(xié)議存在很大的差異,形成了多種異構(gòu)的NMS。在傳統(tǒng)網(wǎng)絡(luò)管理體系結(jié)構(gòu)中,異構(gòu)NMS之間往往采用層次型的管理者/代理者交互模型來(lái)交換管理信息,形成了一種緊耦合的層次關(guān)系。如何打破異構(gòu)NMS之間的緊耦合關(guān)系、有效實(shí)現(xiàn)NMS之間的動(dòng)態(tài)協(xié)作,從而快速提供和有效保障通信業(yè)務(wù)已成為網(wǎng)絡(luò)管理領(lǐng)域亟待解決的問(wèn)題之一。另一方面,日趨復(fù)雜的跨多個(gè)NMS的業(yè)務(wù)流程不斷涌現(xiàn),NMS的分布性和自治性要求NMS之間的動(dòng)態(tài)協(xié)作能夠以分布式的方式實(shí)現(xiàn),因此,需要定義一種有效的機(jī)制在NMS之間實(shí)現(xiàn)分布式協(xié)作以快速滿足電信運(yùn)營(yíng)不斷變化的管理需求。
Web services作為一種新興的分布式技術(shù),由于其松耦合性和底層技術(shù)支持的廣泛性,引起了網(wǎng)絡(luò)管理研究領(lǐng)域的極大關(guān)注,基于Web services的網(wǎng)絡(luò)管理的研究正在展開(kāi)[1]。在網(wǎng)絡(luò)管理領(lǐng)域應(yīng)用Web services技術(shù),可以從兩個(gè)不同的方面入手:a)基于Web services技術(shù)對(duì)現(xiàn)有的網(wǎng)絡(luò)管理體系結(jié)構(gòu)進(jìn)行重新構(gòu)造;b)將Web services技術(shù)用于管理接口中。筆者在文獻(xiàn)[2]中提出了一個(gè)基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)。該體系結(jié)構(gòu)充分繼承了Web services松耦合的特點(diǎn),打破了傳統(tǒng)網(wǎng)絡(luò)管理體系結(jié)構(gòu)中NMS之間的緊耦合性,并采用面向服務(wù)的思想將NMS的管理功能以管理服務(wù)的形式提供,將NMS之間的動(dòng)態(tài)協(xié)作轉(zhuǎn)換為管理服務(wù)之間的動(dòng)態(tài)協(xié)作,有效地屏蔽了NMS之間的異構(gòu)性。然而,文獻(xiàn)[2]尚未探討如何在該動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)中實(shí)現(xiàn)管理服務(wù)之間的分布式協(xié)作。本文將首先介紹在文獻(xiàn)[2]中所做的工作,然后分析NMS之間實(shí)現(xiàn)分布式協(xié)作的必要性,進(jìn)而基于文獻(xiàn)[2]提出的基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu),利用其將NMS間協(xié)作轉(zhuǎn)換為管理服務(wù)之間協(xié)作的特點(diǎn),定義一種用于在管理服務(wù)之間有效實(shí)現(xiàn)分布式協(xié)作的機(jī)制,從而實(shí)現(xiàn)異構(gòu)NMS之間的分布式協(xié)作;最后設(shè)計(jì)并實(shí)現(xiàn)一個(gè)原型系統(tǒng)對(duì)該分布式協(xié)作機(jī)制進(jìn)行驗(yàn)證。
1 相關(guān)工作
1.1 基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)
在文獻(xiàn)[2]中,利用Web services技術(shù)在松耦合性等方面具有的突出優(yōu)勢(shì),提出了一個(gè)基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)。該體系結(jié)構(gòu)將Web services技術(shù)和面向服務(wù)的思想引入到網(wǎng)絡(luò)管理中,將NMS的管理功能以管理服務(wù)的形式提供,并將NMS之間的動(dòng)態(tài)協(xié)作轉(zhuǎn)換為管理服務(wù)之間的動(dòng)態(tài)協(xié)作,用于屏蔽目前NMS之間的異構(gòu)性并打破它們之間存在的緊耦合關(guān)系,進(jìn)而解決異構(gòu)NMS間動(dòng)態(tài)協(xié)作困難的問(wèn)題。基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)如圖1所示。
基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)具有四個(gè)成員,即網(wǎng)絡(luò)管理系統(tǒng)(network management system,NMS)、管理服務(wù)組合器(management service composer,MSC)、管理服務(wù)管理器(management service manager,MSM)和管理服務(wù)用戶(management service user,MSU)。各成員之間通過(guò)發(fā)布(publish)、查找(find)和綁定(bind)三種操作進(jìn)行交互。在基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中,存在兩種管理服務(wù),即基本管理服務(wù)(basic management service,BMS)和組合管理服務(wù)(composite management service,CMS)。其中,BMS完成基本的網(wǎng)絡(luò)管理功能,向管理服務(wù)用戶提供基本管理服務(wù),這類(lèi)管理服務(wù)一般來(lái)說(shuō)具有單一功能,如網(wǎng)絡(luò)監(jiān)視、通知上報(bào)、性能數(shù)據(jù)采集等;而CMS完成較高級(jí)的組合功能,向管理服務(wù)用戶提供高級(jí)管理服務(wù),這類(lèi)管理服務(wù)通常由多個(gè)BMS或CMS按照一定的規(guī)則協(xié)作完成,如業(yè)務(wù)開(kāi)通、端到端業(yè)務(wù)指配、端到端安全管理等。
相對(duì)于Web services自身的體系結(jié)構(gòu),MSC是動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中的新增成員,它是為了滿足電信運(yùn)營(yíng)對(duì)網(wǎng)絡(luò)管理提出的動(dòng)態(tài)協(xié)作的需求而提出的。當(dāng)單個(gè)NMS提供的管理功能不能滿足MSU的需求時(shí),可以根據(jù)管理需求通過(guò)MSC設(shè)計(jì)出相應(yīng)的業(yè)務(wù)流程,在MSM中找到符合相關(guān)要求的管理服務(wù),并利用服務(wù)組合技術(shù)將這些管理服務(wù)動(dòng)態(tài)組合成CMS,最終完成復(fù)雜的網(wǎng)絡(luò)管理任務(wù)。
1.2 分布式協(xié)作
協(xié)作的定義是管理活動(dòng)之間依賴(lài)關(guān)系的行為[3]。它的組成部分包括目標(biāo)、活動(dòng)、參與者和依賴(lài)關(guān)系。協(xié)作所涉及的共同致力于完成某個(gè)目標(biāo)的相互聯(lián)系的活動(dòng)的組合被稱(chēng)為業(yè)務(wù)流程。業(yè)務(wù)流程的支持自動(dòng)化操作的形式化描述被稱(chēng)做流程定義,流程定義的單個(gè)執(zhí)行的表示叫做流程實(shí)例。業(yè)務(wù)流程管理(business process management,BPM)可以協(xié)助業(yè)務(wù)流程完成預(yù)期目標(biāo),是自動(dòng)化實(shí)現(xiàn)動(dòng)態(tài)協(xié)作的有效手段之一。工作流管理是具有代表性的BPM技術(shù)之一。
通常,完成協(xié)作的實(shí)體叫做協(xié)作點(diǎn),它通過(guò)對(duì)活動(dòng)之間的依賴(lài)關(guān)系進(jìn)行管理來(lái)協(xié)調(diào)參與者完成相應(yīng)活動(dòng)的執(zhí)行,最終實(shí)現(xiàn)整個(gè)目標(biāo)。其中協(xié)作點(diǎn)本身也可以作為完成活動(dòng)的參與者。根據(jù)協(xié)作點(diǎn)之間的關(guān)系,協(xié)作的實(shí)現(xiàn)方式可分為以下兩種(圖2):
a)集中式協(xié)作。其協(xié)作點(diǎn)是相對(duì)孤立的實(shí)體,各個(gè)協(xié)作點(diǎn)之間缺乏有效的交互與協(xié)作。單個(gè)協(xié)作點(diǎn)負(fù)責(zé)與其相關(guān)的所有參與者進(jìn)行通信。隨著參與者的增多,這些孤立的協(xié)作點(diǎn)便成了性能的瓶頸,限制了集中式協(xié)作的可擴(kuò)展性。
b)分布式協(xié)作。其具有多個(gè)協(xié)作點(diǎn),通過(guò)協(xié)作點(diǎn)之間的彼此交互,整個(gè)協(xié)作由多個(gè)協(xié)作點(diǎn)共同完成,有效地減輕了單個(gè)協(xié)作點(diǎn)在性能和可擴(kuò)展性上的不足。而分布式協(xié)作對(duì)協(xié)作點(diǎn)之間的交互機(jī)制以及BPM均提出了更高的要求。
1.3 異構(gòu)NMS間的分布式協(xié)作
在傳統(tǒng)的網(wǎng)絡(luò)管理體系結(jié)構(gòu)中,NMS之間的協(xié)作多采用集中式方式實(shí)現(xiàn),即在多個(gè)NMS中,以某個(gè)NMS為主,由該NMS充當(dāng)協(xié)作點(diǎn),在該NMS與其他充當(dāng)協(xié)作參與者的NMS之間定義明確的通信接口。然而作為協(xié)作參與者的異構(gòu)NMS之間缺乏交互,在各個(gè)異構(gòu)的NMS之間分別定義接口是不現(xiàn)實(shí)的,于是那些作為協(xié)作參與者的NMS無(wú)法成為協(xié)作點(diǎn),協(xié)作很難以分布式方式實(shí)現(xiàn)。
在基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中,NMS將其實(shí)現(xiàn)的管理功能以服務(wù)的方式提供,異構(gòu)NMS之間的協(xié)作隨之轉(zhuǎn)換為管理服務(wù)之間的協(xié)作。MSC使用服務(wù)組合語(yǔ)言將根據(jù)網(wǎng)絡(luò)管理需求設(shè)計(jì)出的網(wǎng)絡(luò)管理業(yè)務(wù)流程形式化描述為流程定義,并根據(jù)業(yè)務(wù)流程實(shí)現(xiàn)的功能定義出相應(yīng)的CMS發(fā)布在MSM上以便MSU使用。當(dāng)MSU向MSC請(qǐng)求使用相關(guān)的CMS時(shí),MSC使用其中的流程執(zhí)行引擎對(duì)流程定義進(jìn)行執(zhí)行并調(diào)用流程定義涉及到的管理服務(wù),整個(gè)業(yè)務(wù)流程的功能由多個(gè)管理服務(wù)協(xié)作實(shí)現(xiàn),參與協(xié)作的管理服務(wù)之間的依賴(lài)關(guān)系由MSC管理,即MSC是管理服務(wù)協(xié)作過(guò)程中的協(xié)作點(diǎn)。
在基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中,作為協(xié)作參與者的管理服務(wù)能夠屏蔽NMS之間的異構(gòu)性,因此作為協(xié)作點(diǎn)的MSC與這些管理服務(wù)之間能以一種統(tǒng)一的方式進(jìn)行通信,這在很大程度上降低了協(xié)作點(diǎn)與協(xié)作參與者之間通信接口的復(fù)雜性。然而在采用集中式方式實(shí)現(xiàn)協(xié)作時(shí),單個(gè)MSC不僅要響應(yīng)MSU調(diào)用CMS的請(qǐng)求,還要在流程定義的執(zhí)行過(guò)程中負(fù)責(zé)調(diào)用各個(gè)管理服務(wù)并與這些管理服務(wù)進(jìn)行交互。隨著被調(diào)用的CMS數(shù)目不斷增多,MSC中被執(zhí)行的流程定義即流程實(shí)例數(shù)目也要隨之不斷增多,這給MSC增加了很大的負(fù)擔(dān)。MSC需要與多個(gè)不同的管理服務(wù)進(jìn)行交互,并負(fù)責(zé)控制這些消息的流向,這不僅使MSC的性能不堪重負(fù),同時(shí)也增加了網(wǎng)絡(luò)的流量。另一方面,NMS自身不僅具有分布性,還具有自治性。在執(zhí)行業(yè)務(wù)流程時(shí),NMS要求業(yè)務(wù)流程與它自身相關(guān)的部分能夠在其內(nèi)部執(zhí)行,這使得跨越多個(gè)NMS的業(yè)務(wù)流程需要在分布的不同NMS中協(xié)作執(zhí)行。因此,在基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中,需要在管理服務(wù)之間實(shí)現(xiàn)分布式協(xié)作,以滿足網(wǎng)絡(luò)管理業(yè)務(wù)流程不斷增長(zhǎng)變化的需求。
2 異構(gòu)NMS間的分布式協(xié)作機(jī)制
在基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中實(shí)現(xiàn)分布式協(xié)作,需要完成如下兩個(gè)任務(wù):a)需要在作為協(xié)作點(diǎn)的MSC與作為協(xié)作參與者的管理服務(wù)之間規(guī)定統(tǒng)一的通信接口;b)需要在作為協(xié)作點(diǎn)的MSC之間定義有效的交互機(jī)制,以便MSC通過(guò)它們之間的交互機(jī)制來(lái)共同完成整個(gè)協(xié)作過(guò)程。對(duì)于前者而言,MSC中與服務(wù)組合語(yǔ)言相對(duì)應(yīng)的流程執(zhí)行引擎已經(jīng)完成了相應(yīng)的工作,因此筆者將主要關(guān)注MSC之間的交互機(jī)制。
協(xié)作的自動(dòng)化實(shí)現(xiàn)需要協(xié)作點(diǎn)能夠?qū)I(yè)務(wù)流程進(jìn)行有效的管理。在分布式協(xié)作中,整個(gè)業(yè)務(wù)流程通過(guò)多個(gè)協(xié)作點(diǎn)之間的交互共同完成,協(xié)作點(diǎn)之間的交互機(jī)制應(yīng)能夠?qū)Ψ植荚诓煌瑓f(xié)作點(diǎn)上的業(yè)務(wù)流程進(jìn)行有效的管理。在基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)中,為了實(shí)現(xiàn)管理服務(wù)之間的分布式協(xié)作,作為協(xié)作點(diǎn)的MSC之間應(yīng)具有能夠?qū)W(wǎng)絡(luò)管理業(yè)務(wù)流程進(jìn)行有效管理的交互機(jī)制。該交互機(jī)制的管理內(nèi)容包括網(wǎng)絡(luò)管理業(yè)務(wù)流程構(gòu)建階段的流程定義和運(yùn)行階段的流程實(shí)例。考慮到MSC實(shí)現(xiàn)網(wǎng)絡(luò)管理服務(wù)之間協(xié)作的工作主要通過(guò)對(duì)網(wǎng)絡(luò)管理業(yè)務(wù)流程進(jìn)行管理來(lái)完成,為了通用起見(jiàn),將BPM部分的功能抽象出來(lái),并將能夠?qū)W(wǎng)絡(luò)管理業(yè)務(wù)流程進(jìn)行管理的系統(tǒng)稱(chēng)為網(wǎng)絡(luò)管理業(yè)務(wù)流程管理系統(tǒng)(network management business process management system,NMBPMS),并通過(guò)在NMBPMS之間定義交互接口來(lái)自動(dòng)化實(shí)現(xiàn)網(wǎng)絡(luò)管理服務(wù)之間的分布式協(xié)作。
工作流管理是實(shí)現(xiàn)BPM的一種具有代表性的技術(shù),工作流管理聯(lián)盟(workflow management coalition,WfMC)為工作流管理提出了工作流參考模型,明確了工作流管理系統(tǒng)的主要組件及各組件的功能,并定義了各組件之間進(jìn)行交互的五個(gè)接口。其中接口4是工作流管理系統(tǒng)之間進(jìn)行互操作的接口,目前采用基于異步服務(wù)訪問(wèn)協(xié)議(asynchronous service access protocol,ASAP)的WfXML[4]定義,但是WfXML定義的工作流管理系統(tǒng)之間的互操作接口在操作的可重用性和事件通知處理上存在一些不足。本文在WfXML定義的工作流管理系統(tǒng)之間的互操作機(jī)制的基礎(chǔ)上,對(duì)WfXML存在的不足進(jìn)行了改進(jìn),通過(guò)在NMBPMS之間定義交互接口來(lái)實(shí)現(xiàn)對(duì)不同NMBPMS上的業(yè)務(wù)流程進(jìn)行有效的管理。
2.1 WfXML
WfXML提供了遠(yuǎn)程監(jiān)控管理流程的機(jī)制,它定義了一組消息用于描述面向流程的服務(wù)提供者與服務(wù)請(qǐng)求者之間的交互。根據(jù)流程管理系統(tǒng)在交互時(shí)可能充當(dāng)?shù)慕巧琖fXML定義了五種服務(wù)接口,即Observer、Service Registry、Factory、Instance和Activity。
WfXML將面向流程的工具融合為一個(gè)通用的調(diào)用框架,不僅標(biāo)準(zhǔn)化了流程監(jiān)控工具跟蹤流程實(shí)例的方式,也標(biāo)準(zhǔn)化了流程定義工具獲取或更新流程定義的方式。同時(shí),WfXML定義的接口也存在一些不足。首先,這些接口的操作不具備良好的可重用性,如WfXML為了列出集合元素中符合相關(guān)條件的條目元素,在Service Registry、Factory和Instance接口上定義了三個(gè)不同的操作分別用于列出流程定義、流程實(shí)例和流程內(nèi)部的活動(dòng)。上述三個(gè)操作的功能幾乎完全相同卻具有不同的消息定義,既增加了工作流管理系統(tǒng)交互接口定義的復(fù)雜程度,也加重了工作流管理系統(tǒng)在處理交互消息上的負(fù)擔(dān)。其次,WfXML定義的接口在事件通知處理機(jī)制上不夠全面,Instance接口在通知訂購(gòu)方面只能提供訂購(gòu)和撤銷(xiāo)訂購(gòu)的功能,不具備暫停/恢復(fù)通知訂購(gòu)的機(jī)制;而且Subscribe操作只能用于訂購(gòu)流程實(shí)例狀態(tài)發(fā)生改變的通知,至于如何訂購(gòu)及處理與其他主題相關(guān)的事件,WfXML并沒(méi)有提及。這不僅不能適應(yīng)不斷變化的管理需求,也影響了WfXML定義的接口的可擴(kuò)展性。
2.2 交互接口的定義
WfXML尚存的不足主要有接口操作不具備良好的可重用性和可擴(kuò)展性以及通知處理機(jī)制不夠全面兩個(gè)方面。筆者對(duì)WfXML的改進(jìn)主要從上述兩個(gè)方面入手,一是使用標(biāo)準(zhǔn)可擴(kuò)展的具有良好重用性方法來(lái)對(duì)接口操作進(jìn)行定義;二是定義相對(duì)完善的通知處理機(jī)制。對(duì)于前者而言,WSRF[5](WSresourceframework)定義的訪問(wèn)WSResource特性的接口操作具有良好的可重用性和可擴(kuò)展性。其中WSResource是有狀態(tài)資源和提供到該有狀態(tài)資源訪問(wèn)的服務(wù)的組合。目前WfXML支撐協(xié)議ASAP的最新版本也已經(jīng)引入了WSRF的一些概念,并明確指出支持ASAP的實(shí)現(xiàn)可以選擇支持WSRF系列規(guī)范定義的相關(guān)接口。在定義NMBPMS交互接口時(shí),引入了WSRF定義的相關(guān)接口來(lái)解決WfXML在接口操作可重用性和可擴(kuò)展性上的問(wèn)題。對(duì)于后者而言,WSN[6](WSnotification)定義的使用Web services進(jìn)行發(fā)布/訂購(gòu)?fù)ㄖ姆绞揭呀?jīng)相對(duì)完善,因此在定義NMBPMS交互接口時(shí),引入了WSN來(lái)解決WfXML在通知處理機(jī)制上的問(wèn)題。
NMBPMS交互接口的定義首先需要明確NMBPMS交互接口具體的管理功能。NMBPMS交互接口的主要功能在于能夠?qū)Σ煌琋MBPMS中的業(yè)務(wù)流程進(jìn)行有效的管理,于是將與業(yè)務(wù)流程相關(guān)的實(shí)體看做被管資源,并將NMBPMS交互接口看做是由NMBPMS提供的管理服務(wù)的管理接口。WfXML明確了工作流管理系統(tǒng)在交互時(shí)可能充當(dāng)?shù)慕巧⒏鶕?jù)角色劃分出了五個(gè)接口,這五個(gè)接口具有清晰的功能劃分。于是在定義NMBPMS交互接口時(shí),直接借鑒了WfXML的接口劃分并對(duì)各接口在通知處理機(jī)制等方面的功能進(jìn)行了擴(kuò)展,即NMBPMS交互接口由以下五個(gè)成員功能接口構(gòu)成,這五個(gè)成員功能接口能夠提供的功能如下:
a)Service Registry,代表流程定義庫(kù),即Factory的集合。通過(guò)它可以獲取和設(shè)置與流程定義庫(kù)相關(guān)的特性,列出其中存在的流程定義,外部的流程定義工具或NMBPMS可以通過(guò)它來(lái)向本地NMBPMS增加流程定義。它還提供流程定義改變通知的訂購(gòu)、撤銷(xiāo)訂購(gòu)、暫停訂購(gòu)和恢復(fù)訂購(gòu)的功能,并在流程定義發(fā)生改變時(shí)產(chǎn)生通知。
b)Factory,代表流程定義。通過(guò)它可以獲取和設(shè)置與流程定義相關(guān)的特性,創(chuàng)建流程實(shí)例,列出其中的流程實(shí)例。
c)Instance,代表流程實(shí)例。通過(guò)它可以獲取和設(shè)置與流程實(shí)例相關(guān)的特性,改變流程實(shí)例狀態(tài),列出其中正在運(yùn)行的活動(dòng);它還提供狀態(tài)改變通知的訂購(gòu)、撤銷(xiāo)訂購(gòu)、暫停訂購(gòu)和恢復(fù)訂購(gòu)的功能,并在狀態(tài)發(fā)生改變時(shí)產(chǎn)生通知。
d)Activity,代表流程實(shí)例內(nèi)部的活動(dòng)等待點(diǎn)。通過(guò)它可以獲取和設(shè)置與流程實(shí)例內(nèi)部的活動(dòng)等待點(diǎn)相關(guān)的特性,具有接收活動(dòng)結(jié)束通知的功能。
e)Observer,代表與上述四種接口進(jìn)行交互的實(shí)體。它讓Service Registry和Instance預(yù)先明確其產(chǎn)生的事件通知的接收者,并能夠接收上述實(shí)體產(chǎn)生的相關(guān)通知。
在明確了NMBPMS交互接口的功能構(gòu)成以后,為了充分利用現(xiàn)有的WSRF和WSN系列規(guī)范定義的接口來(lái)對(duì)NMBPMS交互接口進(jìn)行具體的定義,需要將上述五個(gè)成員功能接口所代表的實(shí)體均看做是WSResource,并對(duì)這五個(gè)WSResource各自的特點(diǎn)以及它們之間存在的內(nèi)在聯(lián)系進(jìn)行分析。通過(guò)分析發(fā)現(xiàn),Instance功能接口需要對(duì)流程實(shí)例進(jìn)行生命周期管理,于是使用了一個(gè)狀態(tài)模型來(lái)組織流程實(shí)例的生命周期。NMBPMS交互接口中流程實(shí)例所采用的狀態(tài)模型如圖3所示。
另一方面,筆者發(fā)現(xiàn)Service Registry與Factory之間、Factory與Instance之間以及Instance與Activity之間均是包含與被包含的關(guān)系。于是使用WSRF系列規(guī)范中WSServiceGroup定義的相關(guān)接口來(lái)對(duì)這四種WSResource之間的關(guān)系進(jìn)行管理。在Factory中新創(chuàng)建一個(gè)流程實(shí)例(Instance)的同時(shí),可以使用WSServiceGroup的Add操作在充當(dāng)ServiceGroup的Factory中增加一個(gè)Instance的條目,從而批量查詢符合條件的流程實(shí)例。
在定義NMBPMS交互接口的過(guò)程中,將NMBPMS交互接口各成員功能接口進(jìn)一步劃分為粒度更細(xì)的組件接口,并盡可能地利用WSRF和WSN系列規(guī)范已經(jīng)定義好的接口。對(duì)于NMBPMS交互接口五個(gè)成員功能接口中存在的那些WSRF和WSN系列規(guī)范沒(méi)有涉及的功能需求,新定義了相應(yīng)的組件接口:
a)Service Registry上的“新增流程定義接口”。該接口具有兩個(gè)接口操作,一個(gè)是NewProcess操作,外部流程定義工具可以通過(guò)它向本地NMBPMS增加流程定義;另一個(gè)是LoadProcess操作,外部NMBPMS可以通過(guò)它向本地NMBPMS分發(fā)流程定義。
b)Factory上的“流程實(shí)例創(chuàng)建接口”。該接口具有一個(gè)創(chuàng)建流程實(shí)例的Create操作。
c)Instance上的“狀態(tài)接口”。該接口具有Start、Suspend、Resume、Complete和Terminate五個(gè)接口操作,在圖3給出的流程實(shí)例狀態(tài)模型的基礎(chǔ)上,這五個(gè)操作可以對(duì)流程實(shí)例狀態(tài)進(jìn)行變更。
在完成上述工作以后,筆者遵循了WSDM(WSdistributedmanagement)工作組的MUWS[7](management using Web services)規(guī)范給出的描述管理服務(wù)的方法,根據(jù)NMBPMS交互接口各成員功能接口所代表實(shí)體各自的特點(diǎn)及其需要提供的功能,為各個(gè)成員功能接口定義了相應(yīng)的資源特性文檔(resource property document)及接口操作。
3 原型系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
為了驗(yàn)證本文提出的異構(gòu)NMS間的分布式協(xié)作機(jī)制,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)原型系統(tǒng)。以下首先給出原型系統(tǒng)的驗(yàn)證場(chǎng)景及體系結(jié)構(gòu),然后給出該原型系統(tǒng)中的關(guān)鍵設(shè)計(jì)。
3.1 原型系統(tǒng)的驗(yàn)證場(chǎng)景
由于本文是在文獻(xiàn)[2]提出的基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)的基礎(chǔ)上展開(kāi)的,原型系統(tǒng)的驗(yàn)證場(chǎng)景遵循了上述體系結(jié)構(gòu),如圖4所示。
在上述原型系統(tǒng)的驗(yàn)證場(chǎng)景中存在五個(gè)系統(tǒng),即CRM(customer relationship management,客戶關(guān)系管理)、Registry(注冊(cè)中心)、SFS(service fulfillment system,業(yè)務(wù)開(kāi)通系統(tǒng))、DNMS(data network management system,數(shù)據(jù)網(wǎng)管系統(tǒng))和SNMS(switching network management system,交換網(wǎng)管系統(tǒng))。這五個(gè)系統(tǒng)與基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理體系結(jié)構(gòu)中的成員有著相互對(duì)應(yīng)的關(guān)系,即CRM和Registry分別相當(dāng)于體系結(jié)構(gòu)中的MSU和MSM;SFS、DNMS和SNMS相當(dāng)于動(dòng)態(tài)協(xié)作體系結(jié)構(gòu)中的NMS,它們各自提供一些基本管理服務(wù)。SFS和DNMS同時(shí)還充當(dāng)動(dòng)態(tài)協(xié)作體系結(jié)構(gòu)中的MSC,它們均具有協(xié)作點(diǎn)的功能。此外,上述場(chǎng)景還遵循如下假設(shè):
a)SFS根據(jù)來(lái)自CRM的業(yè)務(wù)開(kāi)通請(qǐng)求,通過(guò)與驗(yàn)證場(chǎng)景中的其他系統(tǒng)進(jìn)行交互,完成業(yè)務(wù)開(kāi)通流程的自動(dòng)化實(shí)現(xiàn)。
b)利用SFS中的流程設(shè)計(jì)工具,業(yè)務(wù)開(kāi)通流程由人工設(shè)計(jì)完成。
c)簡(jiǎn)化服務(wù)查找的過(guò)程,假設(shè)從Registry中選出的符合業(yè)務(wù)開(kāi)通流程需求的管理服務(wù)均由驗(yàn)證場(chǎng)景內(nèi)部的系統(tǒng)提供。
d)假設(shè)在SFS上設(shè)計(jì)好的完整的業(yè)務(wù)開(kāi)通流程可被分割為相應(yīng)的子流程,子流程可以通過(guò)NMBPMS交互接口分發(fā)給DNMS并交由DNMS執(zhí)行。整個(gè)業(yè)務(wù)開(kāi)通流程通過(guò)SFS和DNMS這兩個(gè)協(xié)作點(diǎn)之間的交互共同完成。
3.2 原型系統(tǒng)體系結(jié)構(gòu)
在原型系統(tǒng)中,SFS、DNMS和SNMS均將其功能模塊實(shí)現(xiàn)的功能封裝成管理服務(wù)發(fā)布在Registry中。其中管理服務(wù)均利用Apache Muse[8]平臺(tái)實(shí)現(xiàn)。CRM通過(guò)查找Registry發(fā)現(xiàn)符合其需求的管理服務(wù)。SFS和DNMS中的協(xié)作點(diǎn)模塊使用ActiveBPEL engine[9]作為流程執(zhí)行引擎來(lái)完成流程實(shí)例的執(zhí)行。上述兩個(gè)協(xié)作點(diǎn)模塊之間通過(guò)NMBPMS交互接口進(jìn)行交互。其中NMBPMS交互接口也以服務(wù)的形式對(duì)外提供。原型系統(tǒng)的體系結(jié)構(gòu)如圖5所示。
3.3 關(guān)鍵設(shè)計(jì)
考慮到開(kāi)發(fā)原型系統(tǒng)的一個(gè)主要目標(biāo)在于驗(yàn)證異構(gòu)NMS間的分布式協(xié)作機(jī)制的有效性,為此在原型系統(tǒng)的開(kāi)發(fā)過(guò)程中設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)簡(jiǎn)化了的DSL業(yè)務(wù)開(kāi)通流程,如圖6所示。DSL業(yè)務(wù)開(kāi)通流程中各個(gè)關(guān)鍵步驟的功能分別由原型系統(tǒng)驗(yàn)證場(chǎng)景中相應(yīng)系統(tǒng)實(shí)現(xiàn)的管理服務(wù)提供。DSL業(yè)務(wù)開(kāi)通流程的流程定義使用服務(wù)組合語(yǔ)言WSBPEL進(jìn)行形式化描述。在原型系統(tǒng)中,筆者分別使用了集中式和分布式協(xié)作方式來(lái)實(shí)現(xiàn)該DSL業(yè)務(wù)開(kāi)通流程。在集中式協(xié)作方式中,SFS單獨(dú)負(fù)責(zé)整個(gè)DSL業(yè)務(wù)開(kāi)通流程的執(zhí)行;在分布式協(xié)作中,SFS和DNMS通過(guò)NMBPMS交互接口共同完成整個(gè)DSL業(yè)務(wù)開(kāi)通流程的執(zhí)行。將流程定義分割為兩個(gè)子流程,即將流程定義中由DNMS的配置交換機(jī)和配置認(rèn)證服務(wù)器兩個(gè)步驟完成的功能合并在一起,SFS將這一部分的流程定義作為子流程通過(guò)NMBPMS交互接口分發(fā)給DNMS執(zhí)行,DSL業(yè)務(wù)開(kāi)通流程其他部分的流程定義由SFS執(zhí)行。SFS和DNMS之間通過(guò)NMBPMS交互接口來(lái)實(shí)現(xiàn)對(duì)各自所執(zhí)行的流程進(jìn)行有效的管理,從而完成管理服務(wù)之間的分布式協(xié)作。實(shí)驗(yàn)證明,具有多個(gè)協(xié)作點(diǎn)的分布式協(xié)作方式相對(duì)于只有一個(gè)協(xié)作點(diǎn)的集中式協(xié)作方式在性能上具有明顯的優(yōu)勢(shì)。
4 結(jié)束語(yǔ)
本文首先分析了分布式協(xié)作的優(yōu)勢(shì),明確了異構(gòu)NMS對(duì)分布式協(xié)作的需求,在文獻(xiàn)[2]提出的基于Web services的動(dòng)態(tài)協(xié)作網(wǎng)絡(luò)管理系統(tǒng)體系結(jié)構(gòu)的基礎(chǔ)上,將NMS之間的動(dòng)態(tài)協(xié)作轉(zhuǎn)換為網(wǎng)絡(luò)管理服務(wù)之間的動(dòng)態(tài)協(xié)作,定義了一個(gè)能夠有效實(shí)現(xiàn)管理服務(wù)之間分布式協(xié)作的NMBPMS交互接口來(lái)完成異構(gòu)NMS之間的分布式協(xié)作,并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)原型系統(tǒng)來(lái)驗(yàn)證所提出的異構(gòu)NMS間分布式協(xié)作機(jī)制。該分布式協(xié)作機(jī)制對(duì)異構(gòu)NMS間動(dòng)態(tài)協(xié)作技術(shù)的進(jìn)一步發(fā)展和完善起到了一定的促進(jìn)作用。目前原型系統(tǒng)中各成員的功能僅完成了模擬實(shí)現(xiàn),進(jìn)一步完善原型系統(tǒng)的功能是下一階段實(shí)現(xiàn)的工作。
參考文獻(xiàn):
[1]PAVLOU G,F(xiàn)LEGKAS P,GOUVERIS S,et al.On management technologies and the potential of Web services[J].IEEE Communications Magazine,2004,42(7): 58-66.
[2]ZHANG Yue,QIU Xuesong,MENG Luoming.A Web servicesbased dynamically cooperative network management architecture[C]//Proc of the 1st International Conference on Communications and Networking in China.Beijing:[s.n.],2006:1-3.
[3]MALONE T W,CROWSTON K.What is coordination theory and how can it help design cooperative work systems[C]//Proc of ACM Conference on Computer Supported Cooperative Work.New York:ACM Press,1990:357-370.
[4]SWENSON K D,PRADHAN S,GILGER W.WfXML 2.0:XML based protocol for runtime integration of process engines[M].[S.l.]: WfMC,2004.
[5]OASIS. Web services resource framework[EB/OL].(200611).http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=wsrf.
[6]OASIS.Web services notification[EB/OL].(200611).http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=wsn.
[7]OASIS MUWS 1.0 Web services distributed management:Management using Web Services[S].[S.l.]:OASIS, 2005.
[8]Active Endpoints.ActiveBPEL engine[EB/OL].(200611).http://www.activebpel.org.
[9]Apache.Apache muse[EB/OL].(200611)(2007-03).http://ws.apache.org/muse/