基于Web Service的校園一卡通系統(tǒng)平臺的研究
文章出處:http://www.sgrivertours.com 作者: 人氣: 發(fā)表時間:2011年09月16日
摘要:校園一卡通系統(tǒng)工程是學(xué)校實現(xiàn)數(shù)字化校園的重要組成部分.系統(tǒng)平臺主要采用了基于Web Services技術(shù)的解決方案,即以“服務(wù)”為中心的服務(wù)結(jié)構(gòu),有效地解決了系統(tǒng)數(shù)據(jù)庫整合和跨平臺特性的要求,并為將來的數(shù)字化校園建設(shè)打下堅實的基礎(chǔ).
隨著科學(xué)技術(shù)的進(jìn)步,信息技術(shù)在學(xué)校的各方面都得到了廣泛的應(yīng)用,很多學(xué)校將“校園卡”項目工程納入學(xué)校數(shù)字化建設(shè)規(guī)劃之中.但是,現(xiàn)存的第3方應(yīng)用系統(tǒng)還存在著異構(gòu)和兼容等諸多的問題,而利用Web Service技術(shù)良好的封裝性、跨平臺性以及簡單靈活的特點(diǎn),可以將它們較好的整合在一起.
1 平臺架構(gòu)
1.1 體系結(jié)構(gòu)
由于整個系統(tǒng)開發(fā)工具采用跨平臺的Java開發(fā)工具,所以一卡通系統(tǒng)的后臺操作平臺可以為Unix/Linux/Windows 2000,在對數(shù)據(jù)庫表進(jìn)行的寫操作時
采用O/R mapping—HIBERNATE技術(shù),數(shù)據(jù)傳輸采用RPC的WEB sERVICE技術(shù)的SOAP協(xié)議,查詢采用XML格式進(jìn)行訪問,實現(xiàn)了數(shù)據(jù)平臺的基本無關(guān)性,所以數(shù)據(jù)庫平臺可以采用Oracle/DB2/Sql server2000,在選用不同的數(shù)據(jù)庫時,對于應(yīng)用程序只需修改HIBERNATE的數(shù)據(jù)庫配置參數(shù)即可實現(xiàn)平穩(wěn)過渡.一卡通系統(tǒng)平臺網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)見圖1
1.2 系統(tǒng)設(shè)計目標(biāo)
校園一卡通系統(tǒng)的總體設(shè)計是在堅持先進(jìn)性、實用性、穩(wěn)定性、安全性、經(jīng)濟(jì)性、擴(kuò)展性原則的基礎(chǔ)上的,直接借助校園網(wǎng)絡(luò)傳輸數(shù)據(jù),進(jìn)行科學(xué)合理建設(shè),實現(xiàn)各校區(qū)、各類商務(wù)收費(fèi)、各種身份識別的一卡通行,并達(dá)到如下目標(biāo).
1)建立學(xué)校各類學(xué)生,教職員工,各種組織機(jī)構(gòu)基本、統(tǒng)一的信息化標(biāo)準(zhǔn),并且作為公用數(shù)據(jù)在整個校園網(wǎng)上實時共享.
2)通過校園一卡通系統(tǒng)在學(xué)校建成一個統(tǒng)一管理的校園基礎(chǔ)數(shù)據(jù)平臺.將來學(xué)校即使規(guī)模擴(kuò)大,卡片應(yīng)用功能增加,只需增加相應(yīng)子系統(tǒng),不需再對一卡通平臺進(jìn)行擴(kuò)充.這一點(diǎn)也體現(xiàn)出該系統(tǒng)的可擴(kuò)充性.
3)在校園一卡通管理平臺的基礎(chǔ)上,通過系統(tǒng)預(yù)留的擴(kuò)展接口和智能控制可以實現(xiàn)與學(xué)?,F(xiàn)有的各類應(yīng)用系統(tǒng)進(jìn)行互通,形成全校范圍的數(shù)字化管理、數(shù)字化空間和信息共享的環(huán)境,動態(tài)實時地反映職能部門運(yùn)作情況和統(tǒng)計分析數(shù)據(jù),提高學(xué)校管理水平.
4)“一卡代多卡”,將校內(nèi)各類身份識別以及校內(nèi)所有的證件都由校園卡代替,實現(xiàn)身份識別的數(shù)據(jù)共享.
2 、veb Service
2.1 Web Service的概念
廣義上說web Services是“松耦合的軟件組件”;而狹義上說Web Services是由W3C等組織和公司推出的基于標(biāo)準(zhǔn)協(xié)議棧的分布式計算體系結(jié)構(gòu).它由最初的被動地位變成了現(xiàn)在的可進(jìn)行設(shè)計的智能化Web Service,即Wleb(Wleb Servi∞)服務(wù).這是一種新型的分布式應(yīng)用程序,它通過Web來發(fā)布、查找和訪問信息.一個web服務(wù)就是一個應(yīng)用程序,它的接口和綁定可以用XML描述,并且可以通過基于XML、SOAP、WSDL、UDDI等Intemet標(biāo)準(zhǔn)直接支持,由XML通過HTTP協(xié)議來調(diào)度的遠(yuǎn)過程調(diào)用,與其他基于XML消息的軟件應(yīng)用進(jìn)行交互.當(dāng)一個web服務(wù)部署以后,其他應(yīng)用以及其他 web服務(wù)就可以發(fā)現(xiàn)和訪問這個服務(wù)。
圖1 一卡通平臺的網(wǎng)絡(luò)拓?fù)?/em>
2.2 Web Services涉及的技術(shù)
1)SOAP(Simple Object Access Protoco1)簡單的對象訪問協(xié)議.S OAP以XML形式提供了一個簡單、輕量的用于在分散或分布環(huán)境中交換結(jié)構(gòu)化和類型信息的機(jī)制,是一種利用XML實現(xiàn)遠(yuǎn)程調(diào)用的方法.SOAP不但具有優(yōu)良的兼容性,更有出色的網(wǎng)絡(luò)通過能力.
2)WSDL(Web Services Description Language)web Services的描述語言.利用XML描述了web Se卜vices所使用的數(shù)據(jù)類型、消息、服務(wù)的名稱、綁定及位置等,這是進(jìn)行Web Services調(diào)用必不可少的信息.利用WSDL描述的Web Services可以被綁定在包括SOAP 在內(nèi)的多種分布式計算模型上.
3)UDDI(Universal Discovery Description Integration)面向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.
2.3 Web Services的運(yùn)行模式
Web Services是獨(dú)立、模塊化的應(yīng)用,能通過因特網(wǎng)來描述、發(fā)布、定位以及調(diào)用.在Web Services的體系架構(gòu)中包括3個角色:服務(wù)提供者、服務(wù)請求者、服務(wù)注冊器.角色間主要有3個操作:發(fā)布、查找和綁定.
3 一卡通系統(tǒng)的子系統(tǒng)接入
3.1 Web Service技術(shù)的應(yīng)用集成
利用Web Service技術(shù)的良好特性可以解決子系統(tǒng)異構(gòu)的集成問題,對于子系統(tǒng)所產(chǎn)生的流水?dāng)?shù)據(jù),由平臺提供標(biāo)準(zhǔn)的接口規(guī)范,采用消息驅(qū)動的方式并在子系統(tǒng)應(yīng)用的平臺中嵌入web Service,由子系統(tǒng)編寫相應(yīng)的API函數(shù),由實時服務(wù)器調(diào)用,主動寫入到子系統(tǒng)應(yīng)用的數(shù)據(jù)庫中,此API函數(shù)存在于子系統(tǒng)應(yīng)用平臺的本地,由實時服務(wù)器異地調(diào)用,其函數(shù)名由一卡通平臺設(shè)定,只是寫入數(shù)據(jù)庫的操作由子系統(tǒng)完成.
一卡通平臺提供2套接口:EJB和Web Service.EJB接口是本系統(tǒng)的核心接口,子系統(tǒng)可以直接調(diào)用EJB接口.在EJB接口的外層利用了Java—axis把EJB接口發(fā)布成web service接口.
3.2 應(yīng)用服務(wù)器與子系統(tǒng)工作站的交互
第三方子系統(tǒng)登錄流程如圖2所示.
校園一卡通系統(tǒng)中現(xiàn)存的各個子系統(tǒng)應(yīng)該被看作web服務(wù)體系結(jié)構(gòu)中的服務(wù)提供者,而中間層看作是Web服務(wù)體系結(jié)構(gòu)中的服務(wù)請求者,它們對上層子系統(tǒng)提供的服務(wù)發(fā)出了調(diào)用請求.由于上層子系統(tǒng)各自的功能服務(wù)已經(jīng)由WSDL進(jìn)行了統(tǒng)一的抽象描述,所以統(tǒng)一的接口形式暴露給下層.中間服務(wù)層把對各個子系統(tǒng)的服務(wù)調(diào)用請求按照SOAP規(guī)范進(jìn)行封裝,就可以順利實現(xiàn)相關(guān)的調(diào)用.一般來講,在web服務(wù)體系結(jié)構(gòu)中,在兩者之間增加服務(wù)注冊中心,上層服務(wù)按統(tǒng)一格式化的接口服務(wù)描述信息通過它注冊,上層的服務(wù)提供者通過它的服務(wù)發(fā)布API.而下層的服務(wù)請求者則通過UDDl的查詢API對服務(wù)注冊中心的信息進(jìn)行檢索,找到需要的內(nèi)容.獲得服務(wù)的WSDL描述信息,形成服務(wù)調(diào)用.
圖2 子系統(tǒng)登錄流程
子系統(tǒng)工作站可在此情景下看成為客戶端,而實時服務(wù)器部署于EJB容器中.它們之間的聯(lián)系是客戶端通過調(diào)用服務(wù)器端發(fā)布的web Service接口達(dá)到跨平臺的效果,此處的調(diào)用遵循EJB規(guī)范,即客戶端建立本地Home對象實例,然后調(diào)用返回值為Remote接口的create方法,從而建立了遠(yuǎn)程接口對象.同時,服務(wù)器端還附有一個SessionBean,它繼承或?qū)崿F(xiàn)了遠(yuǎn)程接口的所有邏輯處理方法.然后就可以對SessionBean中的方法進(jìn)行調(diào)用,以達(dá)到客戶端與服務(wù)器端實時通信的目的,過程如圖3所示.
4 結(jié)束語
在一卡通系統(tǒng)中采用Web Service技術(shù)方案,可以在校園一卡通與其異構(gòu)系統(tǒng)之間實現(xiàn)無縫的連接和集成.web Service體系結(jié)構(gòu)以web服務(wù)本身的松散耦合性、完好封裝性以及跨平臺的集成應(yīng)用而備受廣大專業(yè)人員的的青睞.它可以簡化系統(tǒng)集成,方便快捷地實現(xiàn)系統(tǒng)連接和交易處理,并且這種實現(xiàn)不需要考慮應(yīng)用環(huán)境是什么平臺,相信在以后的技術(shù)發(fā)展歷程中會得到更多的應(yīng)用和更快的發(fā)展.
參考文獻(xiàn)
[1]郭少友.web服務(wù)與與企業(yè)信息系統(tǒng)集成[J].情報科學(xué),2003,21(3):3O6—3O9.
[2]黃偉峰.web Service的安全性[J].計算機(jī)工程與應(yīng)用,2003,6(6):52~55.
[3]許高峰,高建民.基于web Service的企業(yè)集成技術(shù)及實現(xiàn)[J].計算機(jī)應(yīng)用,2004,24.
[4]都志輝,陳渝,劉鵬.網(wǎng)格計算[M].北京:清華大學(xué)出版社.2002:23—45
【稿件聲明】:如需轉(zhuǎn)載,必須注明來源和作者,保留文中圖片和內(nèi)容的完整性,違者將依法追究。