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