基于Web Service技術(shù)的校園一卡通中的第三方系統(tǒng)應(yīng)用集成研究
文章出處:http://m.luckydriving.com 作者: 人氣: 發(fā)表時間:2011年09月16日
1 引言
隨著信息高度集中化的發(fā)展,校園一卡通系統(tǒng)越來越需要集成第三方系統(tǒng),以達(dá)到信息高度集中化管理。而傳統(tǒng)的接入方案一般有兩種:一種是由一卡通系統(tǒng)專業(yè)人員開發(fā)一個API標(biāo)準(zhǔn),由API來控制第三方系統(tǒng)的接入。另一種是開發(fā)一個動態(tài)鏈接庫DLL給第三方系統(tǒng),由第三方系統(tǒng)開發(fā)人員自己根據(jù)所提供標(biāo)準(zhǔn)接口自行開發(fā)并接入到一卡通系統(tǒng)中。無論是哪種方案,都會浪費大量的人力和物力,并且系統(tǒng)之間又存在著異構(gòu)的問題,這使得開發(fā)人員在開發(fā)應(yīng)用程序的接口時負(fù)擔(dān)特別的重。本文將討論用Web Service技術(shù)來對一卡通中第三方系統(tǒng)的集成研究。
2 Web Service
2.1 什么是Web Service
Internet發(fā)展非常迅速,Web站點從僅僅能提交單一的用戶界面的頁面,到現(xiàn)在已經(jīng)轉(zhuǎn)變?yōu)槟軌驅(qū)⒍喾N應(yīng)用、服務(wù)等組織在一起的Web站點。它也由最初的被動的地位變成了現(xiàn)在的可進(jìn)行設(shè)計的智能化Web Service,即Web服務(wù)。Web服務(wù)(Web Service)是一種新型的分布式應(yīng)用程序,是下一代的www,它以一種獨立的、自描述的和模塊化的方式,通過Web來發(fā)布、查找和訪問:一個Web服務(wù)就是一個應(yīng)用程序,它的接口和綁定可以用XML描述與發(fā)現(xiàn),并且可以通過基XML、SOAP、WSDL、UDDI等Internet標(biāo)準(zhǔn)直接支持,由XML通過HTTP協(xié)議來調(diào)度的遠(yuǎn)過程調(diào)用(RPC),與其他基于XML消息的軟件應(yīng)用進(jìn)行交互。當(dāng)一個Web服務(wù)部署以后,其它應(yīng)用(以及其他Web服務(wù))就可以發(fā)現(xiàn)和訪問這個服務(wù)。
2.2 Web Service的關(guān)鍵技術(shù)
Web Service完全基于XML技術(shù),利用XML語言建立起一整套協(xié)議棧,解決了從Service的封裝到接口的描述、及Service的注冊和發(fā)行的一系列問題。Web Service服務(wù)提供者和服務(wù)請求者均使用XML傳遞消息和數(shù)據(jù)流。SOAP構(gòu)建于XML之上,與HTTP協(xié)議綁定,解決跨平臺的傳輸問題。Web Service通過SOAP建立跨平臺的遠(yuǎn)程調(diào)用。除了SOAP之外,WSDL也是Web Service架構(gòu)的組成部分。WSDL也是使用XML語言,用來描述Web Service所提供的信端口和服務(wù)。
UDDI用來定位和發(fā)行Web Service。SOAP、WSDL、UDDI構(gòu)成了Web Service技術(shù)的核心。
(1)SOAP(Simple 0bject Acces Protoco1)簡單對象訪問協(xié)議。SOAP是一種基于XML的表示層協(xié)議,它定議了分布式環(huán)境中應(yīng)用軟件之間相一調(diào)用的方法和傳遞數(shù)據(jù)的標(biāo)準(zhǔn)方式,采用XML作為數(shù)據(jù)傳送的格式,RPC作為一致性的調(diào)用途徑,以HTTP作為底層通信協(xié)議通過防火墻使服務(wù)提供者和服務(wù)使用者在Internet上進(jìn)行交互,用來在應(yīng)用程序之間以對象的形式對等地、方便地交換數(shù)據(jù)。
(2 ) UDDI (Universal Discovery DescriptionIntergration)-通用發(fā)現(xiàn)、描述和集成協(xié)議,是一套面向WEB務(wù)服的信息注冊中心的現(xiàn)標(biāo)準(zhǔn)和規(guī)范。它提供一個基于Web的、分布式的注冊、發(fā)布和發(fā)現(xiàn)Web Service的標(biāo)準(zhǔn)機(jī)制。UDDI的核心組件是UDDI商業(yè)注冊中心,它使用一個XML文檔來描述企業(yè)及其提供的Web Service。創(chuàng)建UDDI注冊中心的目的就是發(fā)布和發(fā)現(xiàn)Web Service。
(3)WSDL(Web Service Description Language)-Web服務(wù)描述語言。WSDL定義了一個基于XML的組件描述標(biāo)準(zhǔn)機(jī)制。它將Web Service描述為能夠進(jìn)消息交換的服務(wù)訪問點的集合。
2.3 Web Service關(guān)鍵技術(shù)之間的關(guān)系。
服務(wù)提供者向服務(wù)客戶提供服務(wù)前,先使用WSDL描述其服務(wù),并在UDDI注冊中心注冊。UDDI注冊中心保存有指向WSDL描述和指向服務(wù)的指針。一旦服務(wù)客戶需要使用服務(wù),則先查詢UDDI注冊中心找到相應(yīng)的服務(wù)并獲取相應(yīng)的WSDL描述和指向服務(wù)的指針。服務(wù)客戶使用所得到的WDL描述構(gòu)造一條SOAP消息,服務(wù)客戶與Web Service之間使用此消息進(jìn)行通信。三者的關(guān)系如圖1所示:
3 Web Service的架構(gòu)
Web Service是基于服務(wù)的體系架構(gòu)。其體系結(jié)構(gòu)關(guān)心3個方面的問題:服務(wù)的描述,服務(wù)的注冊發(fā)布和服務(wù)級的通信。Web服務(wù)體系結(jié)構(gòu)提供了3個協(xié)議WSDL(Web Services Description Language)和UDDI(Universal Discovery Description Integration)以及SOAP協(xié)議。其中WSDL和UDDI用來描述和發(fā)布Web服務(wù),SOAP 協(xié)議于具體的網(wǎng)絡(luò)傳輸協(xié)議,應(yīng)用程序可以通過它調(diào)用Web服務(wù),訪問UDDI節(jié)點,以及相互通信,其技術(shù)實現(xiàn)如圖2:
該模型涉及到3個實體即Web服務(wù)提供者、Web服務(wù)請求者、Web服務(wù)代理者和3個操作即Web服務(wù)的發(fā)布、發(fā)現(xiàn)、綁定。
服務(wù)提供者(Service Provider),也叫服務(wù)提供商,它為處理一系列特定任務(wù)的軟件資源提供服務(wù)接口,是Web服務(wù)的制作者和擁有者,它在Web服務(wù)注冊中心通過發(fā)布操作將其Web服務(wù)提供給互聯(lián)網(wǎng)用戶。
服務(wù)請求者(Service Requester),也叫服務(wù)使用者,它向Web服務(wù)提供者發(fā)送SOAP消息,發(fā)現(xiàn)并調(diào)用其它企業(yè)提供的服務(wù),在某些情況下,提供者節(jié)點就在本地的企業(yè)內(nèi)部網(wǎng)上,它也可能存在于遠(yuǎn)的端的因特網(wǎng)上。
服務(wù)代理者(Service Requester),也叫服務(wù)使用者,它向Web服務(wù)提供者發(fā)送SOAP消息,發(fā)現(xiàn)并調(diào)用其它企業(yè)提供的服務(wù),在某些情況下,提供者節(jié)點就在本地的企業(yè)內(nèi)部網(wǎng)上,它也可能存在于遠(yuǎn)端的因特網(wǎng)上。
服務(wù)代理者(Service Broker)作為服務(wù)的中介者,Web服務(wù)提供者和Web服務(wù)使用者之間的橋梁,通過它服務(wù)提供者可以發(fā)布或注冊他們的服務(wù),服務(wù)請求者通過它能夠發(fā)現(xiàn)和定位所申請的服務(wù)并獲得用來綁定服務(wù)的信息,從而完成所要的服務(wù)。
Web Service的3種操作。其中發(fā)布/撤消:服務(wù)提供者在一個或多個注冊處登記他們已有的服務(wù),或者撤消已經(jīng)注冊的服務(wù);查找:服務(wù)請求者與一個或多個注冊處建立連接,查詢能滿足他們需求的服務(wù)信息;綁定:服務(wù)請求者和服務(wù)提供者之間建立服務(wù)路徑。
4 用Web Service技術(shù)實現(xiàn)一卡通系統(tǒng)集成
4.1 Web Service技術(shù)集成的體系架構(gòu)
綜上所述,我們可以利用Web Service良好的封裝性,跨平臺性及以簡單靈活性在校園一卡通中得到很好的應(yīng)用。在傳統(tǒng)應(yīng)用集成模型中,為了能使第三方系統(tǒng)能順利接人,需要在本系統(tǒng)與第三方系統(tǒng)之間加一個代理服務(wù)器,用于提供給第三方客戶端應(yīng)用程序以及企業(yè)本身系統(tǒng)的接口程序,由于系統(tǒng)本身復(fù)雜以及第三方系統(tǒng)的需求使得代理服務(wù)器變得很“胖”。并且由于系統(tǒng)之間本身存在著異構(gòu)問題,這就使代理服務(wù)器的設(shè)計變得復(fù)雜起來。
第1頁第2頁 |