莊光磊,王 靜
(日照職業(yè)技術(shù)學院,日照 276800)
基于服務(wù)的信息集成與訪問模型研究
莊光磊,王 靜
(日照職業(yè)技術(shù)學院,日照 276800)
傳統(tǒng)的信息集成技術(shù),主要有單個的聯(lián)邦系統(tǒng)和基于組件的分布式系統(tǒng)。單個的聯(lián)邦系統(tǒng)是指將各個數(shù)據(jù)源的數(shù)據(jù)集成到一個系統(tǒng)中,統(tǒng)一管理和維護,各集成系統(tǒng)間處于相對獨立狀態(tài),系統(tǒng)維護和擴展比較困難。基于組件的分布式系統(tǒng)構(gòu)建在分布式組件模型上,如CORBA、DCOM、RMI,這種方式克服了單個聯(lián)邦系統(tǒng)的主要特點,適合于分布式系統(tǒng),便于維護和擴展,但是CORBA、DCOM、RMI對于服務(wù)器端和客戶端的耦合性要求非常高[1]。正是由于信息集成過程中動態(tài)、可擴展和松耦合性的要求,本文提出基于服務(wù)來構(gòu)建信息集成與訪問模型。
Web Service是建立在開放的Internet基礎(chǔ)上的一種分布式網(wǎng)絡(luò)模型,是面向商業(yè)應(yīng)用的一種框架,有關(guān)組織已經(jīng)發(fā)布了一些實現(xiàn)Web Service所需要的協(xié)議和標準,如Soap, WSDL, UDDI等。Web Service的目的是將信息和服務(wù)在Internet上實現(xiàn)提供和訪問,實現(xiàn)跨平臺的互操作性。為了實現(xiàn)此目標,Web Service完全基于XML、XSD等獨立于平臺、獨立于軟件供應(yīng)商、獨立于編程語言的標準,是創(chuàng)建可互操作的、分布式應(yīng)用程序的一種平臺[2]。
Web Service的基本結(jié)構(gòu)是基于服務(wù)提供者、請求者和中介者三個角色,以及服務(wù)的發(fā)布、發(fā)現(xiàn)和服務(wù)請求者與服務(wù)提供者之間的綁定三個動作而定義的。
提供者:提供服務(wù)功能的實體,等待為其他服務(wù)和用戶提供自己的功能。
請求者:服務(wù)功能的使用者,它向服務(wù)提供者發(fā)送服務(wù)請求消息,請求使用服務(wù)。
中介者:將服務(wù)請求者和合適的服務(wù)提供者聯(lián)系在一起的管理者,UDDI就是一個全球最大的服務(wù)中介者。
S O A P引擎采用的是目前比較流行的Tomcat+AXIS。
圖1 信息集成與訪問模型整體框架圖
在開發(fā)信息集成系統(tǒng)的過程中,如何解決信息的異構(gòu)性是一個關(guān)鍵的問題。異構(gòu)性是指信息集成系統(tǒng)中兩個信息源的不相似程度,而這種不相似發(fā)生在不同的級別,最底層指硬件平臺、操作系統(tǒng)等異構(gòu),而這種跨平臺跨操作系統(tǒng)的要求正可以用java+xml來解決。其次指信息自身類型的不同。在本系統(tǒng)中我們將異構(gòu)信息分為三類:數(shù)據(jù)庫信息(如Oracle、SQL Server、Sybase、Access等)、文本信息(如現(xiàn)有的xml文檔)、其它信息(如傳感器的動態(tài)數(shù)據(jù)、遺留代碼等)。
reml(root-element xml),是異構(gòu)信息包裝后的一種中間格式,嚴格遵守xml的語法規(guī)范,其格式如下:
其中,root為reml的根元素,element為root的子元素,element的個數(shù)是可以擴展的,可以是一個或多個且子元素的名稱不固定,element下面子元素的名稱是隨著數(shù)據(jù)庫表中欄位名稱的不同變化的,如
可以看出,reml信息就是一個有著更嚴格定義(有特定標簽)的xml信息。
包裝部分采用Java語言來實現(xiàn),以滿足系統(tǒng)的可移植性和良好的跨平臺性能,開發(fā)平臺采用Eclipse, Eclipse是一個開放源碼的、可擴展的應(yīng)用開發(fā)平臺,可以用于構(gòu)建Web Service、J2EE等各種類型的應(yīng)用。本系統(tǒng)使用JDBC訪問數(shù)據(jù)庫,JDBC(Java DataBase Connectivity)是Java與數(shù)據(jù)庫的接口規(guī)范,JDBC定義了一個支持標準SQL功能的通用底層的應(yīng)用程序編程接口(API),它由Java語言編寫的類和接口組成。 JDBC API定義了若干Java中的類,表示數(shù)據(jù)庫鏈接、SQL指令、結(jié)果集、數(shù)據(jù)庫元數(shù)據(jù)等。它允許Java程序員發(fā)送SQL指令并處理結(jié)果。通過驅(qū)動程序管理器,JDBC API可以利用不同的驅(qū)動程序鏈接不同的數(shù)據(jù)庫系統(tǒng)。JDBC的DatabaseMetaData接口提供了一系列方法可以檢驗DBMS對特定特性的支持,從而能對特定數(shù)據(jù)庫的特性給予支持。
如圖2所示為一個包裝前的數(shù)據(jù)庫信息和一個包裝后的reml信息(圖中只截取了一部分)。
圖2 數(shù)據(jù)庫信息圖
對于信息請求方,當獲得信息提供方返回的S O A P消息后,實際上返回的是一個String字符串(其中包含reml中嚴格定義的元素
使用JDOM解析器需將jdom.jar和xerces.jar文件復制到Tomcat網(wǎng)絡(luò)應(yīng)用程序的WEB-INFlib目錄中。Jdom.jar可以在jdom的官方網(wǎng)站上下載,解析過程中比較重要的幾個方法如下:
對于一個信息集成系統(tǒng)來說信息的安全非常重要,而安全訪問控制必須充分考慮認證和授權(quán)。目前,網(wǎng)絡(luò)通信中的安全認證技術(shù)有很多,如使用PKI,X.509認證以及SSL通信協(xié)議機制,提供單點登錄(Single Sign-On, SSO)等安全服務(wù)。目前主流的系統(tǒng)授權(quán)控制機制是基于角色的授權(quán)策略(Role-Based Authorization Control,RBAC),然后借助訪問控制列表(Access Control List,ACL)來實現(xiàn)。但是本系統(tǒng)是基于Web Service的,所以信息的動態(tài)增加或撤銷不可避免,這就增加了安全控制的復雜性,為了達到動態(tài)授權(quán)和控制信息訪問,本系統(tǒng)采用基于門限閉包的授權(quán)控制方案[3]。
門限閉包(用ε表示)是一組滿足如下三個條件的(t,S)門限方案(其中,S是一組用戶的集合且滿足
1)Redundant-free,即不存在兩個不同的(t1,S1),(t2, S2)∈ε使得
可以證明[4],在某個訪問結(jié)構(gòu)T0與ε之間存在著一一對應(yīng)的關(guān)系,即一致性,而正是這種一致性保證了門限閉包策略和安全控制結(jié)構(gòu)是動態(tài)一致的,具有很好的可擴展性。
為解決信息集成系統(tǒng)中信息的異構(gòu)、多樣、自治性,提出了一種擁有reml中間信息格式的信息集成與訪問模型,但是在系統(tǒng)的應(yīng)用過程中,同時也發(fā)現(xiàn)了一些不足,下個階段將繼續(xù)研究如何在用戶層增加一個集成信息的遠程修改,并對修改過程中的信息定位和權(quán)限問題作進一步的研究。
[1]WebServices: NextGenerationApplicationIntegrationArchit ecture[EB/OL].http://www.webservices.ort/,2003.7.
[2]Kishore Channabasavaiah, Kerrie Holley,Edward M, et al.Migrating to a Service-Oriented Architecture Part 1,2[EB/OL].
[3]陳勇,趙曦濱,顧明.Web Services應(yīng)用系統(tǒng)的多級授權(quán)研究及實現(xiàn)[J].計算機應(yīng)用研究,2006,(07).
[4]Zhang C R,Lam K Y,Jajodia S.Scalable Threshold Closure[J].Theoretical Computer Science,1999,226(1-2):185-206.
Research on information integration and access models built on service
ZHUANG Guang-lei, WANG Jing
針對目前網(wǎng)絡(luò)中信息的異構(gòu)性、多樣性、分布性等特點,基于Web Service架構(gòu)構(gòu)建了一個異構(gòu)信息集成與訪問模型。在此模型中,對各種異構(gòu)信息進行包裝并且提出了一種通用的reml信息中間格式,然后將信息注冊到信息注冊中心,信息請求方獲得reml 格式的信息后,使用reml解析器解析并基于瀏覽器顯示給用戶。此外,還針對模型中的安全問題進行了研究。
Web Service;reml;信息集成;門限閉包
王靜(1982 -),女,山東日照人,學士,研究方向為并行計算、網(wǎng)格計算。
TP393
A
1009-0134(2011)5(上)-0034-03
10.3969/j.issn.1009-0134.2011.5(上).13
2010-11-21