井輝 張奕
【摘要】 本文提供了一種基于異構(gòu)網(wǎng)絡(luò)環(huán)境下基于SOC的信息描述與信息發(fā)現(xiàn)的方法,描述了基于XSD規(guī)范的數(shù)據(jù)定義和基于WDSL規(guī)范的數(shù)據(jù)操作定義,并給出了基于數(shù)據(jù)服務(wù)的UDDI目錄數(shù)據(jù)結(jié)構(gòu)。
【關(guān)鍵字】 UDDI WDSL 異構(gòu)網(wǎng)絡(luò) 數(shù)據(jù)定義 數(shù)據(jù)操作
一、前言
隨著IT技術(shù)的迅猛發(fā)展,人們對(duì)計(jì)算機(jī)提供的信息的依賴(lài)程度越來(lái)越高。但因?yàn)楦鞣N網(wǎng)絡(luò)系統(tǒng)建設(shè)和投入使用的時(shí)間差異以及網(wǎng)絡(luò)系統(tǒng)之間的技術(shù)差異,造成了因?yàn)榫W(wǎng)絡(luò)兼容問(wèn)題而印發(fā)數(shù)據(jù)誤讀問(wèn)題,甚至造成由于網(wǎng)絡(luò)系統(tǒng)相異而無(wú)法實(shí)現(xiàn)數(shù)據(jù)共享。在異構(gòu)網(wǎng)絡(luò)環(huán)境下如何發(fā)現(xiàn)用戶(hù)所需的數(shù)據(jù),如何發(fā)現(xiàn)用戶(hù)所需的網(wǎng)絡(luò)應(yīng)用是擺在目前網(wǎng)絡(luò)發(fā)展方向上的一個(gè)重要問(wèn)題。
而實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)共享問(wèn)題,必須要解決如下幾個(gè)技術(shù)問(wèn)題:統(tǒng)一的異構(gòu)網(wǎng)絡(luò)下數(shù)據(jù)定義規(guī)范;統(tǒng)一的異構(gòu)網(wǎng)絡(luò)下數(shù)據(jù)操作定義規(guī)范;統(tǒng)一的異構(gòu)網(wǎng)絡(luò)下數(shù)據(jù)發(fā)現(xiàn)規(guī)范。
二、SOC技術(shù)
Web服務(wù)是可以在互聯(lián)網(wǎng)上使用標(biāo)準(zhǔn)技術(shù)聯(lián)網(wǎng)運(yùn)行的商務(wù)進(jìn)程。各公司可以使用標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議之上的標(biāo)準(zhǔn)XML格式,將應(yīng)用程序輕松連接到任何客戶(hù)端——包括前端應(yīng)用、Web瀏覽器、移動(dòng)設(shè)備和PDA等。
XML Web Service實(shí)現(xiàn)了在異類(lèi)系統(tǒng)之間以 XML 消息的形式進(jìn)行數(shù)據(jù)交換。在客戶(hù)端和服務(wù)器之間要求接收方可以理解收到的消息,客戶(hù)端和服務(wù)器共同遵守一個(gè)協(xié)定(通常在 Web 服務(wù)中使用 WSDL 和 XSD),然后通過(guò)在指定的傳輸協(xié)議(例如 HTTP)之上生成遵守該協(xié)定的消息來(lái)進(jìn)行通信。
三、異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)表述
要實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)共享,必須在異構(gòu)網(wǎng)絡(luò)之間建立共同的網(wǎng)絡(luò)信息數(shù)據(jù)表述,其中信息數(shù)據(jù)表述應(yīng)該包含信息數(shù)據(jù)類(lèi)型表述和數(shù)據(jù)應(yīng)用行業(yè)背景表述兩個(gè)方面的內(nèi)容。上述數(shù)據(jù)表述可以使用XML語(yǔ)言來(lái)承載,并使用XSD對(duì)數(shù)據(jù)進(jìn)行定義和說(shuō)明。下面以人事管理中的員工信息數(shù)據(jù)為例加以說(shuō)明。
例1:
四、異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)操作服務(wù)描述
實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)共享另一個(gè)需要解決的問(wèn)題是,實(shí)現(xiàn)一個(gè)統(tǒng)一的數(shù)據(jù)操作服務(wù)描述規(guī)范。只有在統(tǒng)一的數(shù)據(jù)操作服務(wù)描述下,異構(gòu)網(wǎng)絡(luò)的不同系統(tǒng)之間才能統(tǒng)一地協(xié)調(diào)操作數(shù)據(jù),才能無(wú)障礙地操作數(shù)據(jù)接口。為本系統(tǒng)的數(shù)據(jù)操作服務(wù)描述采用SOC技術(shù)的WSDL服務(wù)描述規(guī)范,如例3~7所示,它們描述了獲取員工信息數(shù)據(jù)的完整服務(wù)操作接口。
例3定義了異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)操作服務(wù)交換消息的數(shù)據(jù)類(lèi)型——入站消息“get_Students”和出站消息“get_StudentsResponse”。另外定義了出站消息的返回類(lèi)型——“ArrayOfStudent”類(lèi)型,并說(shuō)明其為數(shù)組,其數(shù)組元素為“Student”類(lèi)型。
例4:
例4定義了數(shù)據(jù)服務(wù)請(qǐng)求消息和響應(yīng)消息。它們分別為"get_StudentsSoapIn"和"get_StudentsSoapOut"。
例5:
例5中則定義了一個(gè)名為"get_Students"的操作,該操作的輸入和輸出消息分別為:"get_StudentsSoapIn"和"get_StudentsSoapOut"消息。
例6:
例6定義了服務(wù)消費(fèi)者與服務(wù)端口的綁定方式。例6定義了ServiceSoap與Saop服務(wù)協(xié)議的綁定。
例7:
例7定義了數(shù)據(jù)服務(wù)操作的訪問(wèn)端點(diǎn),例中”Service”的服務(wù)訪問(wèn)端點(diǎn)為:"http://localhost:1035/WebSite1/Service.asmx"。
五、異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)服務(wù)發(fā)現(xiàn)
實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)共享最后一個(gè)問(wèn)題就是,實(shí)現(xiàn)數(shù)據(jù)服務(wù)的發(fā)現(xiàn)。只有實(shí)現(xiàn)了數(shù)據(jù)服務(wù)的發(fā)現(xiàn)機(jī)制,用戶(hù)才可以在網(wǎng)上隨心所有地訪問(wèn)網(wǎng)絡(luò)上提供的全部資源。本文提供的服務(wù)發(fā)現(xiàn)機(jī)制是基于SOC的UDDI協(xié)議。該協(xié)議的數(shù)據(jù)結(jié)構(gòu)如圖1所示。
如圖1所示,其中Business為企業(yè)或服務(wù)提供者,描述了其服務(wù)商名稱(chēng),聯(lián)系方式及其業(yè)務(wù)領(lǐng)域等信息。另外,一個(gè)Business可以提供多個(gè)Service,一個(gè)Service提供了本服務(wù)的類(lèi)型,描述和服務(wù)名稱(chēng)等信息。一個(gè)Service將包含多個(gè)服務(wù)訪問(wèn)接口的綁定(因?yàn)橐粋€(gè)數(shù)據(jù)服務(wù)可以在多臺(tái)數(shù)據(jù)服務(wù)器上實(shí)現(xiàn)),一個(gè)Binding提供了上述服務(wù)的訪問(wèn)入口以及其服務(wù)規(guī)范描述。
但是上述UDDI規(guī)范是基于服務(wù)功能的目錄結(jié)構(gòu),沒(méi)有實(shí)現(xiàn)基于數(shù)據(jù)表述的目錄結(jié)構(gòu),所以在上述規(guī)范的基礎(chǔ)上,將給出基于數(shù)據(jù)服務(wù)的UDDI目錄結(jié)構(gòu),其如圖2所示。
如圖2所示,基于數(shù)據(jù)服務(wù)的UDDI目錄數(shù)據(jù)結(jié)構(gòu)是在原結(jié)構(gòu)的基礎(chǔ)之上加入了描述數(shù)據(jù)業(yè)務(wù)信息的“industrybackground”對(duì)象和表述數(shù)據(jù)描述對(duì)象的“information”對(duì)象。一個(gè)業(yè)務(wù)領(lǐng)域(industrybackground)將包含多個(gè)數(shù)據(jù)對(duì)象(information),例如在“人事管理”系統(tǒng)中有“員工”、“考勤”、“績(jī)效”等多個(gè)數(shù)據(jù)對(duì)象。另外,在“information”對(duì)象中業(yè)包含了數(shù)據(jù)對(duì)象類(lèi)型定義的XSD文件,如例2中的對(duì)”employee”的定義。這樣在數(shù)據(jù)服務(wù)查詢(xún)時(shí),可以首先根據(jù)數(shù)據(jù)服務(wù)義務(wù)領(lǐng)域進(jìn)行搜索,并獲得數(shù)據(jù)描述集,在根據(jù)數(shù)據(jù)描述中提供的數(shù)據(jù)搜索最終需要的數(shù)據(jù)服務(wù)接口。
六、小結(jié)
基于SOC的數(shù)據(jù)表述、數(shù)據(jù)操作表述和數(shù)據(jù)服務(wù)發(fā)現(xiàn)定義規(guī)范的研究,為異構(gòu)網(wǎng)絡(luò)的數(shù)據(jù)共享的實(shí)現(xiàn)提供了理論依據(jù)和實(shí)現(xiàn)手段。該方法的實(shí)現(xiàn)技術(shù)難度和可預(yù)期的成本都是在可控方位之內(nèi),是一種比較好的實(shí)現(xiàn)手段。
參 考 文 獻(xiàn)
[1] 段海英 淺議基于XML和SOAP協(xié)議的網(wǎng)絡(luò)異構(gòu)數(shù)據(jù)庫(kù)共享平臺(tái) 科技信息 2007.12
[2] 陳秀蘭 異構(gòu)網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)共享與傳輸系統(tǒng)設(shè)計(jì) 自動(dòng)化與儀器儀表 2014.4
[3] 孫 偉,丁永尚,何福男 Web Service技術(shù)在移動(dòng)平臺(tái)中的應(yīng)用 蘇州市職業(yè)大學(xué)學(xué)報(bào) 2012.9
[4] 李鳳云,黃迎春,馮永新 基于WebService的SOA實(shí)現(xiàn)技術(shù)研究 科技視界. 2012.8
[5] 張勝,王露,黃亮 WebService的封裝在車(chē)聯(lián)網(wǎng)系統(tǒng)中的應(yīng)用 計(jì)算機(jī)與現(xiàn)代化 2013.6
[6] 微軟公司 XML Web Service開(kāi)發(fā)(微軟學(xué)院認(rèn)證課程系列教材) 高等教育出版社 2004.10