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