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