劉 振,趙 楠,孫艷超,鄒盼盼,陳德軍
(1.中國船舶重工集團公司 第七二二研究所, 湖北 武漢 430205;2.武漢理工大學(xué) 信息工程學(xué)院, 湖北 武漢 430070)
?
基于Web Services的學(xué)術(shù)會議異構(gòu)資源集成方法研究
劉振1,趙楠1,孫艷超1,鄒盼盼2,陳德軍2
(1.中國船舶重工集團公司 第七二二研究所, 湖北 武漢 430205;2.武漢理工大學(xué) 信息工程學(xué)院, 湖北 武漢 430070)
提出了一種基于Web Services的學(xué)術(shù)會議異構(gòu)資源的集成模型,為學(xué)術(shù)會議異構(gòu)資源的采集提供了解決方案,提高了各類學(xué)術(shù)會議資源的利用率。結(jié)果表明,該方法能夠有效集成學(xué)術(shù)會議異構(gòu)資源,對提高學(xué)術(shù)會議資源的利用率和傳播學(xué)術(shù)成果具有重要意義。
異構(gòu)資源集成;Web Services;XML;中間件
20世紀70年代以來,隨著中國經(jīng)濟的持續(xù)發(fā)展和社會的不斷進步,科學(xué)事業(yè)也取得了飛速發(fā)展,各種學(xué)術(shù)會議如雨后春筍般持續(xù)增多,對推動我國經(jīng)濟發(fā)展和社會進步發(fā)揮了重要作用。但各類學(xué)術(shù)會議的舉辦相對獨立,會議的數(shù)據(jù)源具有獨立性和封閉性,在信息交流和共享方面形成“孤島效應(yīng)”。隨著信息化技術(shù)的不斷發(fā)展,各類會議之間信息交互的需求也日趨增強,如何快速、便捷地找到并讀取所需要的會議信息,并對獲取的會議信息資源進行融合,實現(xiàn)信息及時共享成為信息化科技研究的焦點[1]。因此,如何將各類不同的會議數(shù)據(jù)庫納入學(xué)術(shù)資源共享平臺,使用戶能方便、高效地獲取會議資源已成為信息化技術(shù)亟需解決的問題。
在20世紀70年代中期,一般采用全局模式實現(xiàn)異構(gòu)數(shù)據(jù)庫的集成。異構(gòu)數(shù)據(jù)庫實現(xiàn)集成的方案,在其相關(guān)技術(shù)發(fā)展的條件下相繼推出,目前主要有以下4種:數(shù)據(jù)庫轉(zhuǎn)換與遷移、中間件模式、聯(lián)邦數(shù)據(jù)庫系統(tǒng)(federated database system,F(xiàn)DS)和數(shù)據(jù)倉庫。其中,數(shù)據(jù)庫轉(zhuǎn)換與遷移方法雖然簡單,但是工作量大、實時性較差;中間件模式使各個異構(gòu)數(shù)據(jù)庫仍然保持自治性且不需改變自身數(shù)據(jù)的存儲和管理模式;FDS已經(jīng)運用得比較成熟,但聯(lián)盟數(shù)據(jù)庫之間存在一定的耦合性,擴展性較差;而數(shù)據(jù)倉庫中的數(shù)據(jù)隨時間迅速增長,需要定時更新數(shù)據(jù),實時性較差[2]。因此,中間件技術(shù)發(fā)展迅速并且應(yīng)用廣泛,如 CORBA、消息中間件、J2EE應(yīng)用服務(wù)器和Web Services等技術(shù)。其中,DCOM和CORBA屬于傳統(tǒng)的端到端的服務(wù)器通信協(xié)議,不適合在跨平臺或者跨Internet的條件下使用;J2EE應(yīng)用服務(wù)器通信兩端的Java運行環(huán)境是Java RMI實現(xiàn)的基礎(chǔ)條件[3];Web Services是一種基于服務(wù)的、開放性的和松散耦合的組件集成方法,能夠很好地解決在異構(gòu)環(huán)境中資源集成的問題,使不同系統(tǒng)間可以進行無縫通訊和數(shù)據(jù)共享,從而真正達到“基于Web無縫集成”的目標。與此同時,XML是一種與平臺無關(guān)的標準化結(jié)構(gòu)性標記語言,其作為一種中介數(shù)據(jù)格式可實現(xiàn)各種異構(gòu)數(shù)據(jù)源的數(shù)據(jù)集成。Web Services之間、客戶端與Web Service之間都可以通過標準化的XML實現(xiàn)信息與數(shù)據(jù)傳遞,達到透明訪問的目的。Web Services彌補了當前數(shù)據(jù)集成方案的不足,成為目前實現(xiàn)異構(gòu)數(shù)據(jù)共享優(yōu)先選擇和考慮的解決方案。所以,筆者采用Web Services中間件技術(shù)實現(xiàn)學(xué)術(shù)會議異構(gòu)資源的集成。
1.1Web Services
Web services是一種部署在網(wǎng)絡(luò)上的組件集成方法,其基本思想是通過基于XML的簡單對象訪問協(xié)議(simple object access protocol,SOAP)進行遠程調(diào)用,從而實現(xiàn)系統(tǒng)間的無縫通訊和數(shù)據(jù)共享。Web Services建立在開放的Web標準技術(shù)基礎(chǔ)之上,通過標準的XML統(tǒng)一封裝數(shù)據(jù)、消息和行為等,是建立能夠互操作的分布式應(yīng)用程序的新平臺[4]。
服務(wù)提供者、服務(wù)注冊中心和服務(wù)請求者是Web Services體系結(jié)構(gòu)的3個主要部分。3個部分之間通過發(fā)布服務(wù)、查找服務(wù)和綁定服務(wù)實現(xiàn)交互操作。
網(wǎng)絡(luò)環(huán)境下主要通過以下3步實現(xiàn)服務(wù)訪問[5-6]:①服務(wù)提供者首先要將服務(wù)發(fā)布到服務(wù)注冊中心;②服務(wù)請求者通過統(tǒng)一描述和發(fā)現(xiàn)機制(universal description discovery and integration, UDDI),在注冊中心搜索,從而獲取所需服務(wù)的網(wǎng)絡(luò)服務(wù)描述語言(web service description language, WSDL)文件;③服務(wù)請求者依據(jù)WSDL中的服務(wù)信息(服務(wù)訪問路徑、傳輸協(xié)議、調(diào)用參數(shù)和返回結(jié)果等)實現(xiàn)與服務(wù)提供者綁定在一起,并采用SOAP調(diào)用相關(guān)的服務(wù),從而實現(xiàn)服務(wù)請求者與提供者之間的通信。Web Services體系結(jié)構(gòu)圖如圖1所示。
圖1 Web Services體系結(jié)構(gòu)圖
從圖1可看出,Web Services體系結(jié)構(gòu)的基礎(chǔ)包括SOAP、UDDI和WSDL 3大組件。其中,WSDL用于服務(wù)的描述,UDDI用于服務(wù)的注冊,SOAP用于服務(wù)的執(zhí)行。
1.1.1SOAP
SOAP作為Web Services的核心組件,為其提供了一種基于HTTP的通信協(xié)議,并且采用XML標準格式化消息,具有一定的獨立性和通用性。 SOAP是將不同組件平臺連接起來的一種優(yōu)選技術(shù),其屏蔽了各種組件平臺之間的差異,簡潔、高效地實現(xiàn)不同應(yīng)用的集成。雖然CORBA、COM+和J2EE等都有各自的遠程對象調(diào)用協(xié)議,但可以依托相同的數(shù)據(jù)映射、編碼機制或遠程調(diào)用機制將不同協(xié)議中的數(shù)據(jù)轉(zhuǎn)換成SOAP,從而實現(xiàn)不同協(xié)議間數(shù)據(jù)的相互調(diào)用,為不同系統(tǒng)應(yīng)用的集成提供了條件。
1.1.2UDDI
UDDI是各種分布式Web Services到服務(wù)注冊中心進行注冊的標準規(guī)范,經(jīng)過注冊后的服務(wù)才能被查詢和調(diào)用。UDDI所提供的標準化接口,可以使服務(wù)提供者發(fā)布服務(wù)以供服務(wù)請求者查詢;也可以使服務(wù)提供者查詢所需服務(wù)的描述信息,實現(xiàn)與服務(wù)的動態(tài)綁定。在UDDI機制下,Web Services可以做到一次性注冊,實現(xiàn)到處訪問服務(wù)的目的。
1.1.3WSDL
WSDL是一種用來定義SOAP消息及消息間是如何交互的協(xié)議。WSDL使用標準的XML來定義Web服務(wù)接口規(guī)范的格式。服務(wù)請求者能夠通過WSDL自動產(chǎn)生 Web Services的代理。 WSDL 文件主要通過定義消息、服務(wù)操作、端口和綁定等信息來描述Web Services,即一個服務(wù)由一組端口定義,然后用一組抽象的操作和消息來定義一組端口。
1.2XML
Web Services平臺以XML作為表示數(shù)據(jù)的基本格式,使得Web Services的服務(wù)提供者和服務(wù)請求者之間形成一種松耦合的關(guān)系,不涉及底層開發(fā)語言的差異。XML不但比較容易建立和分析,而且與平臺和廠商沒有任何關(guān)系[7-8]。
XML是一種易擴展、結(jié)構(gòu)化的標準語言,并且數(shù)據(jù)存儲格式良好、易于網(wǎng)絡(luò)傳輸,漸漸被用來表示不同的數(shù)據(jù)及實現(xiàn)數(shù)據(jù)之間的交換。其擁有 HTML語言不具備的靈活性和伸縮性,使用者完全能夠依據(jù)不同的需求來定義不同的標記以描述相應(yīng)的數(shù)據(jù),從而使數(shù)據(jù)表達的內(nèi)容更加靈活。XML屬于元標記語言,凡是符合XML命名規(guī)則的名稱都可以成為標記,同時XML又屬于語義和結(jié)構(gòu)化語言,可以對文檔的語義和結(jié)構(gòu)進行描述。XML文檔包括一個根元素和若干非根元素,而元素中還可以包含屬性。以下為一個相對簡易的 XML 文檔示例:
從上述示例可知,XML 文檔易于理解。此外,XML由于其自描述性、結(jié)構(gòu)性和可擴展性,在異構(gòu)數(shù)據(jù)集成中得到廣泛的應(yīng)用,具體描述如下:
(1)XML以一種標準化的語言成為數(shù)據(jù)傳輸?shù)闹虚g格式,為各個異構(gòu)數(shù)據(jù)源提供了一層理想的封裝,即各個異構(gòu)數(shù)據(jù)庫保持自治性,彼此之間互不影響。
(2)XML的自定義性及結(jié)構(gòu)性使其作為一種標準的數(shù)據(jù)格式來表示不同類型的數(shù)據(jù),從而實現(xiàn)異構(gòu)數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換。
(3)可以充分利用XML解析器(DOM/SAX API)實現(xiàn)異構(gòu)數(shù)據(jù)源中數(shù)據(jù)的高效提取和存儲。
使用Web Services技術(shù)來實現(xiàn)異構(gòu)資源數(shù)據(jù)高效靈活集成的基本思想是:通過Web Services包裝器實現(xiàn)對各個數(shù)據(jù)源的封裝,并生成各自的Web Services發(fā)布到服務(wù)注冊中心;在服務(wù)請求者調(diào)用服務(wù)后,相應(yīng)的Web Services執(zhí)行服務(wù),并將服務(wù)結(jié)果通過SOAP協(xié)議發(fā)送到中間件層。
Web Services中間件層實現(xiàn)了平臺數(shù)據(jù)庫與各個會議數(shù)據(jù)庫之間的低耦合性。在UDDI上注冊異構(gòu)資源共享服務(wù),將數(shù)據(jù)從各會議數(shù)據(jù)庫中提取出來并傳輸至總平臺,實現(xiàn)了各異構(gòu)數(shù)據(jù)庫和平臺總數(shù)據(jù)庫間的通信;而在數(shù)據(jù)傳輸過程中采用標準的XML作為統(tǒng)一的數(shù)據(jù)模式,實現(xiàn)了各異構(gòu)數(shù)據(jù)模式與平臺數(shù)據(jù)模式的相互轉(zhuǎn)換,保證了應(yīng)用服務(wù)器對各異構(gòu)數(shù)據(jù)庫的透明訪問[9-10]?;赪eb Services的學(xué)術(shù)會議異構(gòu)資源集成模型如圖2所示。
圖2 基于Web Services的學(xué)術(shù)會議異構(gòu)資源集成模型
2.1數(shù)據(jù)字典
在上述Web Services中間件工作過程中,需要將位于不同數(shù)據(jù)源的不同數(shù)據(jù)格式的數(shù)據(jù)通過XML進行轉(zhuǎn)化、傳輸、存儲至平臺總數(shù)據(jù)庫中,從物理上實現(xiàn)資源的有機集中,從而實現(xiàn)資源采集。這就需要定義一個局部數(shù)據(jù)源提供的資源與總平臺所需的資源映射關(guān)系,即平臺的統(tǒng)一全局標準與各個會議系統(tǒng)的局部標準之間的映射關(guān)系。這個全局標準需要由總平臺根據(jù)各個會議系統(tǒng)提交的可共享資源信息來定義,從而建立數(shù)據(jù)字典。其中涉及的3種數(shù)據(jù)模式為:①全局數(shù)據(jù)模式。由平臺管理員定義的針對不同類型資源的數(shù)據(jù)模式,即平臺上所需的資源數(shù)據(jù);②局部數(shù)據(jù)模式。各會議數(shù)據(jù)庫系統(tǒng)對于同一個資源數(shù)據(jù)(如會議文章題目)的具體定義不一,因此,各個會議系統(tǒng)的管理員需在平臺上根據(jù)平臺所提供的全局數(shù)據(jù)模式填寫自身系統(tǒng)中對應(yīng)的數(shù)據(jù)字段,即為局部數(shù)據(jù)模式,而這兩種數(shù)據(jù)模式之間的映射關(guān)系被存儲下來,生成數(shù)據(jù)字典;③XML數(shù)據(jù)模式。XML的標準性、結(jié)構(gòu)性使其可以作為一種中介數(shù)據(jù)模式,根據(jù)數(shù)據(jù)字典實現(xiàn)全局數(shù)據(jù)模式與中介數(shù)據(jù)模式的相互轉(zhuǎn)換。
平臺針對各個不同數(shù)據(jù)庫表生成對應(yīng)的配置文件,數(shù)據(jù)庫表的配置信息包括數(shù)據(jù)庫所在服務(wù)器域名、數(shù)據(jù)庫類型、數(shù)據(jù)庫名稱、表名稱、字段名稱等,具體的映射信息(以會議文獻信息配置文件格式為例)如下:
其中,標簽名為平臺管理員提供的模板數(shù)據(jù)庫表字段(全局數(shù)據(jù)模式),標簽中的內(nèi)容為各個會議系統(tǒng)管理員配置自身數(shù)據(jù)庫中的相應(yīng)表字段(局部數(shù)據(jù)模式),從而建立上述數(shù)據(jù)映射關(guān)系形成數(shù)據(jù)字典。 通過數(shù)據(jù)字典使平臺上的用戶可在訪問異構(gòu)數(shù)據(jù)源時如同訪問本地數(shù)據(jù)庫,從而很好地封裝了各個異構(gòu)數(shù)據(jù)源中數(shù)據(jù)的差異。
2.2模式解析
在應(yīng)用層提交請求時,需要將應(yīng)用層的全局請求轉(zhuǎn)化成針對具體會議系統(tǒng)的局部請求,此時就需要根據(jù)之前建立的數(shù)據(jù)字典,進行模式解析,即將請求中的全局數(shù)據(jù)模式解析為對應(yīng)會議系統(tǒng)的局部數(shù)據(jù)模式,從而將總平臺的SQL請求解析為針對不同數(shù)據(jù)庫的獨立SQL語句,以此來屏蔽各個會議系統(tǒng)數(shù)據(jù)庫表的差異。
2.3Web Services包裝器
Web Services包裝器的作用主要是屏蔽各個會議系統(tǒng)數(shù)據(jù)庫的差異。主要包括3部分功能:①發(fā)布Web服務(wù)。填寫會議數(shù)據(jù)庫系統(tǒng)相關(guān)信息,添加到服務(wù)注冊中心,并發(fā)布該會議系統(tǒng)的Web Services,以實現(xiàn)與相應(yīng)數(shù)據(jù)庫的連接;②處理調(diào)用服務(wù)請求。接收到服務(wù)請求者針對該會議系統(tǒng)的SQL請求后,進行服務(wù)綁定,從相應(yīng)的數(shù)據(jù)庫中獲取查詢結(jié)果;③模式裝換。將各個數(shù)據(jù)庫的局部數(shù)據(jù)模式轉(zhuǎn)換為統(tǒng)一的XML數(shù)據(jù)模式,然后返回給服務(wù)請求者。
為了實現(xiàn)不同地點的不同數(shù)據(jù)庫的數(shù)據(jù)集成,筆者將Web Services包裝器開發(fā)成插件的形式,并封裝了針對不同數(shù)據(jù)庫的驅(qū)動文件。各會議資源提供者只需下載插件,安裝在數(shù)據(jù)庫所在服務(wù)器上,然后根據(jù)安裝時填寫的數(shù)據(jù)庫信息加載相應(yīng)的驅(qū)動文件,即可在共享平臺進行數(shù)據(jù)查詢服務(wù)請求時,連接相應(yīng)的數(shù)據(jù)庫。
Web Services包裝器的具體工作過程為:首先各個會議系統(tǒng)的管理員在平臺上提交可以共享的數(shù)據(jù)信息后,在平臺上下載Web Services客戶端,裝在各自會議系統(tǒng)的服務(wù)器上,運行后填寫服務(wù)器的相關(guān)信息,就自動發(fā)布了該會議的Web Services;其次服務(wù)請求者在服務(wù)注冊中心獲取到該Web Services信息后進行查詢請求,Web Services包裝器處理服務(wù)請求獲取查詢結(jié)果數(shù)據(jù);最后將查詢到的局部數(shù)據(jù)模式轉(zhuǎn)換成統(tǒng)一的XML數(shù)據(jù)模式返回給服務(wù)請求者,即可進行相關(guān)共享資源的傳輸,從而實現(xiàn)異構(gòu)資源的集成。
通過異構(gòu)資源集成模型可知,基于Web Services中間件實現(xiàn)異構(gòu)資源集成的詳細過程如圖3所示。
圖3 異構(gòu)資源集成過程示意圖
異構(gòu)會議資源集成主要是通過各個異構(gòu)會議系統(tǒng)管理員在線進行數(shù)據(jù)配置,并下載客戶端安裝在各自的數(shù)據(jù)庫服務(wù)器上,實現(xiàn)相關(guān)會議資源的整合集成。筆者以文獻資源集成為例介紹會議資源集成功能的實現(xiàn)過程。
首先會議資源提供者在平臺上注冊為會員后登錄進入系統(tǒng),然后根據(jù)平臺定義的全局數(shù)據(jù)模式配置自身系統(tǒng)的數(shù)據(jù)信息,主要需填寫數(shù)據(jù)庫域名、集成數(shù)據(jù)庫表名、相應(yīng)的數(shù)據(jù)字段等信息,異構(gòu)數(shù)據(jù)映射信息界面,如圖4所示。
圖4 配置異構(gòu)數(shù)據(jù)映射信息界面
用戶添加集成配置信息后,需在平臺上下載客戶端(Web Services包裝器),配置數(shù)據(jù)庫所在服務(wù)器域名、數(shù)據(jù)庫驅(qū)動文件類型及連接數(shù)據(jù)庫的相關(guān)信息。然后用戶在平臺上選中已添加的配置信息,點擊“確定”按鈕,即根據(jù)配置信息從異構(gòu)數(shù)據(jù)庫中提取數(shù)據(jù)信息傳輸?shù)娇偲脚_,實現(xiàn)異構(gòu)數(shù)據(jù)集成。點擊資源配置信息列表的最后一列“資源展示”,即可看到當前配置信息獲取的資源,如圖5所示。
圖5 根據(jù)集成配置信息獲取的資源列表
筆者針對學(xué)術(shù)會議資源分散、利用率不高等問題,提出了一種基于Web Services的會議異構(gòu)資源的集成模型。Web Services實現(xiàn)了各異構(gòu)數(shù)據(jù)庫和平臺總數(shù)據(jù)庫間的通信;而在數(shù)據(jù)傳輸過
程中采用標準的XML作為統(tǒng)一數(shù)據(jù)模式,實現(xiàn)了各異構(gòu)數(shù)據(jù)的相互轉(zhuǎn)換,從而保證了應(yīng)用服務(wù)器對各異構(gòu)數(shù)據(jù)庫的透明訪問。采用基于 XML 和 Web Services的中間件設(shè)計思想,保證了其通用性和可重復(fù)使用性。
[1]鎖志海,張榕娟,李杰,等.基于信息技術(shù)的高校學(xué)術(shù)會議資源整合研究[J].科研管理,2007,28(4):51-54.
[2]馬利成.基于XML的異構(gòu)數(shù)據(jù)集成系統(tǒng)的研究與實現(xiàn)[D].上海:上海交通大學(xué),2007.
[3]陳光明.基于Web Services的安全中間件的設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2007.
[4]帕派佐格羅.Web服務(wù):原理和技術(shù)[M].北京:機械工業(yè)出版社,2009:12-16.
[5]ZHU Y Q, YU H, JIANG W F, et al.Research on web service-oriented data integration in the distributed system[C]∥2011 IEEE 2nd International Conference on Software Engineering and Service Science.[S.l.]: IEEE, 2011:568-571.
[6]田博涵.基于Web Services的網(wǎng)絡(luò)安全資源共享平臺研究與實現(xiàn)[D].北京:北京郵電大學(xué),2009.
[7]張富強.基于XML的異構(gòu)數(shù)據(jù)庫中間件的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2012.
[8]柏永斌,許利亞,馮震宇,等.基于XML和Web Services的異構(gòu)數(shù)據(jù)整合技術(shù)應(yīng)用研究[J].電腦知識與技術(shù),2009,5(8):1796-1797.
[9]MENG J, MEI S J, YAN Z.Restful web services: a solution for distributed data integration[C]∥2009 International Conference on Computational Intelligence and Software Engineering.[S.l.]:IEEE, 2009:1-4.
[10]李國棟,李樨,柳長安.基于Web Services異構(gòu)資源匯集與共享系統(tǒng)[J].計算機技術(shù)與發(fā)展,2008,18(12):137-143.
Research on Academic Conferences Heterogeneous Resources Integration Based on Web Services
LIU Zhen, ZHAO Nan, SUN Yanchao, ZOU Panpan, CHEN Dejun
An integration model of academic conferences heterogeneous resources based on Web Services is proposed.It provides a solution for collecting heterogeneous resources of academic conferences and increases the resource utilization of all kinds of academic conferences.The results show that this method is effective in integrating academic conferences heterogeneous resources and it is of great significance to improve the resource utilization of academic conferences and disseminate academic achievements.
heterogeneous resources integration; web services; XML; middleware
LIU Zhen:Researcher; China Shipbuilding Industry Corporation.No.722 Research Institute, Wuhan, 430205, China.
2095-3852(2016)04-0498-05
A
2016-03-15.
劉振(1988-),男,安徽阜陽人,中國船舶重工集團公司第七二二研究所研究員.
TP391
10.3963/j.issn.2095-3852.2016.04.022