成桂玲
【摘要】本文了研究SOA架構(gòu)的服務(wù)注冊中心的結(jié)構(gòu)和工作原理,并根據(jù)教學(xué)管理系統(tǒng)的實際需求,設(shè)計并實現(xiàn)了UDDI服務(wù)中心的注冊,有效地實現(xiàn)了基于SOA架構(gòu)的應(yīng)用系統(tǒng)的數(shù)據(jù)發(fā)布和信息共享。
【關(guān)鍵詞】面向服務(wù)的體系結(jié)構(gòu)(SOA)UDDI教學(xué)管理系統(tǒng)
一、SOA架構(gòu)的概述
SOA(Service-Oriented Architecture)面向服務(wù)的體系結(jié)構(gòu)。簡單來說,在基于SOA架構(gòu)的系統(tǒng)中,具體應(yīng)用程序的功能是由一些松耦合并且具有統(tǒng)一接口定義方式的組件(也就是service)組合構(gòu)建起來的。
SOA體系架構(gòu)的構(gòu)成就是Service provider(服務(wù)提供者)、Service broker(服務(wù)代理)、Service requester(服務(wù)請求者)三者的角色變換。
二、基于SOA架構(gòu)的服務(wù)注冊中心的工作原理
2.1服務(wù)注冊中心的使用協(xié)議
SOA架構(gòu)是一種程序設(shè)計的方法,只要是程序設(shè)計語言都可以實現(xiàn)它。但隨著web service的廣泛應(yīng)用,它成為實現(xiàn)SOA架構(gòu)的主要技術(shù)。Web services技術(shù)是一種基于SOAP,WSDL,UDDI的面向服務(wù)的體系結(jié)構(gòu),它使用UDDI服務(wù)注冊中心來為Web服務(wù)的發(fā)布、檢索提供了一種機(jī)制,而且構(gòu)成了動態(tài)服務(wù)調(diào)用中不可或缺的關(guān)鍵環(huán)節(jié)。
2.2服務(wù)注冊中心UDDI的工作原理
UDDI(全稱為Universal Description,Discovery and Integration)通用描述、發(fā)現(xiàn)和集成規(guī)范。它主要提供基于Web服務(wù)的注冊和發(fā)現(xiàn)機(jī)制,為Web服務(wù)提供三個重要的技術(shù)支持:①標(biāo)準(zhǔn)、透明、專門描述Web服務(wù)的機(jī)制;②調(diào)用Web服務(wù)的機(jī)制;③可以訪問的Web服務(wù)注冊中心。
三、基于SOA架構(gòu)的教學(xué)管理系統(tǒng)的UDDI服務(wù)注冊中心的設(shè)計
為了實現(xiàn)異構(gòu)平臺的信息共享,我們用SOA架構(gòu)將教學(xué)管理系統(tǒng)需要共享的信息進(jìn)行封裝,以Web服務(wù)的形式進(jìn)行發(fā)布來實現(xiàn)資源共享。注冊中心是信息發(fā)布和查詢的核心部件。我們可以通過在現(xiàn)有的校園網(wǎng)內(nèi)部構(gòu)建UDDI,將Web服務(wù)上傳發(fā)布至UDDI服務(wù)注冊中心。教學(xué)管理系統(tǒng)中涉及的各部門如需查找信息,便可以通過UDDI服務(wù)注冊中心來定位,進(jìn)而查找到合適的Web服務(wù),動態(tài)地調(diào)用這些Web服務(wù),從而實現(xiàn)在不改變原有教學(xué)管理系統(tǒng)的功能的同時的信息集成。
四、基于SOA架構(gòu)的教學(xué)管理系統(tǒng)的UDDI服務(wù)注冊中心的實現(xiàn)
4.1SOA架構(gòu)下UDDI信息模型的組成
SOA架構(gòu)下的注冊中心UDDI的信息模型由四層組成。(1)businessEntity:它是UDDI信息模型的最高一層。它主要負(fù)責(zé)描述了服務(wù)提供者的實體信息。(2)businessService:它用來描述服務(wù)提供者發(fā)布的服務(wù)的詳細(xì)信息,可以分為很多不同的類。(3)bindingTemplate:它被businessService所包含,主要功能是提供服務(wù)運作的技術(shù)信息。(4)tModels:它是用來展現(xiàn)查找和鑒別服務(wù)的命名空間的UDDI結(jié)構(gòu),并且作為一種描述服務(wù)調(diào)用信息的技術(shù)指紋。tModel是被bindTemplate引用的,而不是被包含的。tModel可能是一個WSDL規(guī)則用來描述服務(wù)和他的調(diào)用機(jī)制之間的接口。
4.2UDDI服務(wù)注冊中心的實現(xiàn)
(1)數(shù)據(jù)服務(wù)的描述。首先我們要將數(shù)據(jù)服務(wù)的描述存儲于UDDI注冊庫里。通過對數(shù)據(jù)服務(wù)的描述,工作人員根據(jù)具體的需求來表達(dá)資源、資源的屬性以及之間的關(guān)系。每一個數(shù)據(jù)服務(wù)都設(shè)計一個元素模型tModel與之相匹配。tModel是一個引用實例,而實際內(nèi)容可以在XML文件里進(jìn)行擴(kuò)充。(2)數(shù)據(jù)服務(wù)查找與匹配。UDDI只能提供基于關(guān)鍵字的查找,為了識別外部描述文件的查找請求,我們需要對其查詢接口進(jìn)行擴(kuò)展。首先,請求者基于數(shù)據(jù)服務(wù)提供描述查找需求的外部描述文件URL之后,UDDI根據(jù)服務(wù)名或是分類屬性查找并選擇合適的可用的相關(guān)服務(wù),將外部文件的URL作為參數(shù)傳給被選中的外部匹配服務(wù)。然后,外部匹配服務(wù)執(zhí)行匹配查找并將匹配結(jié)果返回給UDDI,由UDDI將匹配的外部描述以tModel的形式返回給請求者。最后,請求者根據(jù)返回的tModel信息查找數(shù)據(jù)服務(wù)及與之相關(guān)的服務(wù),以實現(xiàn)服務(wù)請求者的信息需求。
五、結(jié)束語
使用SOA架構(gòu)的程序的開發(fā),數(shù)據(jù)信息的集成和共享是一個關(guān)鍵的問題。UDDI服務(wù)注冊中心為SOA架構(gòu)的系統(tǒng)集成提供了有效的服務(wù)發(fā)布和共享,是整個SOA架構(gòu)實現(xiàn)的重要技術(shù)組成部分。通過UDDI的數(shù)據(jù)服務(wù)的注冊機(jī)制,使教學(xué)管理系統(tǒng)實現(xiàn)了有效的資源整合。