歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機(jī)第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

基于J2EE的校園一卡通系統(tǒng)平臺的設(shè)計與實(shí)現(xiàn)

文章出處:http://xianjuhong.com 作者: 人氣: 發(fā)表時間:2011年09月08日

[文章內(nèi)容簡介]:基于J2EE標(biāo)準(zhǔn)的四層體系結(jié)構(gòu)以其良好的靈活性和可擴(kuò)展性、可共享性、可復(fù)用性、安全性等優(yōu)點(diǎn),成為建立校園一卡通系統(tǒng)平臺的最佳選擇。通過一個應(yīng)用實(shí)例,闡述了開發(fā)一個基于J2EE的應(yīng)用系統(tǒng)的方法。

  J2EE是SUN公司為開發(fā)企業(yè)級應(yīng)用程序提供的強(qiáng)大的平臺,是用來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。在這個體系結(jié)構(gòu)中,應(yīng)用開發(fā)者的注意力集中在封裝商業(yè)邏輯和商業(yè)規(guī)則上,而一切與基礎(chǔ)結(jié)構(gòu)服務(wù)相關(guān)的問題及底層分配問題都由應(yīng)用程序容器或服務(wù)器來處理。作為J2EE一部分的企業(yè)Java組件(Enterprise Java Bean,EJB)是一種服務(wù)器端組件體系結(jié)構(gòu),它簡化了用Java開發(fā)企業(yè)級的分布式組件應(yīng)用程序的過程。EJB被設(shè)計為支持應(yīng)用程序可移植性和可重用性,這些特性適用于任何廠商的企業(yè)中間件服務(wù)。
  
  Weblogic是J2EE的純Java實(shí)現(xiàn),長期以來被認(rèn)為是市場最好的J2EE工具之一。Weblogic的高性能、可靠性、跨平臺能力、多功能性、對J2EE標(biāo)準(zhǔn)的支持以及Jbuilder對Weblogic良好的支持,使得Weblogic與Jbuilder的組合成為J2EE應(yīng)用開發(fā)的最佳選擇。
  
  校園一卡通的主要應(yīng)用包括2大方面:①校園消費(fèi):食堂消費(fèi)、機(jī)房上機(jī)、超市消費(fèi)等;②身份認(rèn)證:門禁、考勤系統(tǒng)、學(xué)籍管理、醫(yī)療、圖書館等。在學(xué)校的管理中,如果能開發(fā)一個系統(tǒng)使得教師和學(xué)生能夠僅僅憑一張CPU卡就能完成以上日常事務(wù),這將大大方便師生員工以及管理者的管理。
  
  1 一卡通系統(tǒng)的開發(fā)
  
  一卡通系統(tǒng)采用EJB有以下好處:EJB服務(wù)器提供了諸如事務(wù)和安全之類中間件服務(wù),應(yīng)用開發(fā)人員只需關(guān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn)而不是底層的實(shí)現(xiàn)機(jī)制;可擴(kuò)展性:EJB可以根據(jù)您應(yīng)用的增長而擴(kuò)展,EJB服務(wù)器往往還提供了負(fù)載均衡并考慮到記錄數(shù)據(jù)的突發(fā)性、時間集中性以及對系統(tǒng)要求的穩(wěn)定性和安全性,利用CMB(容器管理Bean)來完成這項(xiàng)重要的任務(wù)是一個較好的選擇。
 
  1.1 EJB的基本思想
  
  EJB的實(shí)現(xiàn)是基于RMI—IIOP,其基本思想?yún)⒖磮D1,具體如下:①客戶端調(diào)用本地stub;②stub將參數(shù)整理成適合網(wǎng)絡(luò)傳輸形式;③stub通過網(wǎng)絡(luò)與Skeleton連接;④Skeleton將參數(shù)整理成適合Java的形式;⑤Skeleton調(diào)用EJB對象;⑥EJB對象完成所需的中間件服務(wù);⑦企業(yè)Bean完成工作后以上步驟將在返回Home途中重復(fù)執(zhí)行。

EJB基本思想

圖1 EJB基本思想

  1.2 EJB的應(yīng)用

  EJB 2.0規(guī)范里,Bean分為3類,分別是EntityBean(實(shí)體Bean)、Session Bean(會話Bean)和Mes—sageDrive Bean(消息驅(qū)動Bean)。

  根據(jù)EJB實(shí)例是否保存客戶端的狀態(tài),會話Bean還可分為有狀態(tài)會話Bean和無狀態(tài)會話Bean。實(shí)體Bean可分為BMP(Bean管理持久Bean)和CMP(容器管理持久Bean),兩者的區(qū)別在于數(shù)據(jù)存儲的實(shí)現(xiàn)方式。前者由Bean開發(fā)人員指定,后者則由容器自動實(shí)現(xiàn)。

  在本系統(tǒng)中,EJB模塊由1個會話Bean和2個實(shí)體Bean組成,分別為無狀態(tài)會話bean:Record—Ses,2個容器管理Bean:Schedule和CheckRecord。采用這樣的設(shè)計模式有以下好處:使用1個會話Bean作為前端可以隱藏實(shí)體Bean提供的功能,客戶端不知道您在使用實(shí)體Bean,以后可以更換為其他技術(shù),對客戶端影響最小;與使用實(shí)體Bean相比,使用會話Bean的成本較小。本文以考勤終端子系統(tǒng)為例,闡述基于J2EE應(yīng)用系統(tǒng)的方法??记诮K端子系統(tǒng)部署圖見圖2。

考勤終端子系統(tǒng)部署圖

圖2 考勤終端子系統(tǒng)部署圖

  1.3 數(shù)據(jù)庫設(shè)計

  定義考勤項(xiàng)目時,同一時間段,如有同一個人在不同地點(diǎn)需要考勤的情況,則在考勤記錄表(見表1)中設(shè)置其考勤狀態(tài)為沖突(StatusID=4);考勤項(xiàng)目表(見表2)要定義一些時間字段以確定師生在不同時間打卡時的狀態(tài)(遲到、早退等);師生每一次打卡僅僅在其需要考勤的時間段才有效,否則不予記錄。

  表1 考勤記錄表

  表2 考勤項(xiàng)目定義表

  1.4 EJB開發(fā)

  1.4.1 開發(fā)的準(zhǔn)備工作 按照Borland的白皮書[ 《E]B Development Using Borland JBuilder 8and Oracle9i Application Server)進(jìn)行Jbuilder和Weblogic的配置。新建項(xiàng)目指定應(yīng)用服務(wù)器為Weblogic 7.0添加EJB模塊。引入數(shù)據(jù)庫模式,其中數(shù)據(jù)源名設(shè)為RecordDataSource,分別為考勤記錄表和考勤項(xiàng)目定義表。創(chuàng)建容器管理實(shí)體Bean,分別為Check—Record和Schedule,再添加一個無狀態(tài)會話Bean:RecordSes。在Weblogic創(chuàng)建數(shù)據(jù)源條目,包括一個數(shù)據(jù)連接池和一個事務(wù)數(shù)據(jù)源。數(shù)據(jù)源名為RecordData—Source。

  1.4.2 實(shí)體Bean的關(guān)系對于每個教師的每一個考勤項(xiàng)目,需要2次打卡,另外還有教師多次打卡的情況,因此,考勤項(xiàng)目定義表與考勤記錄表是1對多的關(guān)系,相應(yīng)的,這樣的關(guān)系也映射到了兩個實(shí)體Bean上。右鍵點(diǎn)擊Schedule,創(chuàng)建一個關(guān)系,只需將鼠標(biāo)移動到CheckRecord上就可以建立好。點(diǎn)擊新建的關(guān)系,然后編輯數(shù)據(jù)庫關(guān)系,將一個表中的SchedulelD和Staff1D拖到另一表中就定義好了數(shù)據(jù)庫的關(guān)系。

  1.4.3 處理自動增長字段ScheduleRecord的主鍵是自動增加的,必須要在部署描述里注明,以使得容器正確處理數(shù)據(jù)得持久化。這可以在開發(fā)工具Jbuilder里可視化地實(shí)現(xiàn)。在項(xiàng)目控制面板Projectpane雙擊ScheduleRecord,然后點(diǎn)擊Weblogic 7.XGeneral標(biāo)簽,找到Automatic key generation,輸入以下信息:Generator type:SQL廣SERVER,Generatorname:SchedulelD,Key cache size:1。

  1.4.4 主要方法 客戶端需要調(diào)用會話Bean的addRecord方法來實(shí)現(xiàn)添加記錄的功能。會話Bean里的addRecord方法要做以下工作:查找合適的考勤項(xiàng)目,創(chuàng)建考勤記錄,根據(jù)打卡時間設(shè)定持卡人的狀態(tài)。因此,實(shí)體Bean Schedule需要一個查找合適的考勤項(xiàng)目的定位器方法和一個創(chuàng)建(Create)方法。在Jbuilder里添加方法,然后在查詢(Query)窗口寫上Ejb_Ql語言即可。

  1.5 客戶端

  JBuilder根據(jù)所編寫的Bean提供一個向?qū)?,幫助客戶端來測試編寫好的Bean。作為一個包裝類,只需要將這個客戶端測試類進(jìn)行一些符合自己要求的改動就可以直接使用。一般需要以下步驟:實(shí)例化這個類,調(diào)用類的Create方法,調(diào)用類的方法,這個方法實(shí)現(xiàn)的是在會話Bean里編寫的方法,它們具有相同的名稱。

  2 一卡通平臺和其他平臺的集成

  2.1 基于J2EE的系統(tǒng)平臺的體系架構(gòu)

  校園一卡通系統(tǒng)平臺體系架構(gòu)見圖3。

校園一卡通系統(tǒng)平臺的體系架構(gòu)

圖3 校園一卡通系統(tǒng)平臺的體系架構(gòu)

  系統(tǒng)平臺采用J2EE標(biāo)準(zhǔn),基于J2EE標(biāo)準(zhǔn)開發(fā)的應(yīng)用可以跨平臺移植,并提供了企業(yè)計算中需要的各種服務(wù);J2EE中多數(shù)標(biāo)準(zhǔn)定義了接口,例如JNDI,JDBC等,因此可以和許多廠商的產(chǎn)品配合,容易得到廣泛支持;J2EE樹立了一個廣泛而通用的標(biāo)準(zhǔn),大大簡化了應(yīng)用開發(fā)和部署過程。操作系統(tǒng)可以使用基于MS Windows或者UNIX、LUNIX等操作系統(tǒng)。

  在系統(tǒng)平臺層之上是系統(tǒng)的數(shù)據(jù)層,數(shù)據(jù)庫可以使用XML。XML具有良好的可擴(kuò)展性,語言簡單有效,可自行定義標(biāo)記;內(nèi)容與形式的分離,主要刻畫數(shù)據(jù)內(nèi)容,不考慮顯示效果;有嚴(yán)格的語法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫信息轉(zhuǎn)換,便于傳輸,為純文本形式,可通過Http協(xié)議直接傳輸,可跨越防火墻等。系統(tǒng)還可以采用MS SQL Server、DB2、MySql等其他數(shù)據(jù)庫。

  在系統(tǒng)平臺層和數(shù)據(jù)層的支持下,系統(tǒng)通過服務(wù)層對整個平臺提供服務(wù),提供應(yīng)用的支持和標(biāo)準(zhǔn)化的應(yīng)用接口。用戶認(rèn)證中心就建立在服務(wù)層,給每一個用戶一個建立用戶標(biāo)識,并負(fù)責(zé)對每一個登錄客戶進(jìn)行系統(tǒng)認(rèn)證。

  在服務(wù)層之上系統(tǒng)構(gòu)架了應(yīng)用層。應(yīng)用層包括校園內(nèi)的其他各種綜合應(yīng)用系統(tǒng),如指揮自動化網(wǎng)、政治工作宣傳網(wǎng)、財務(wù)網(wǎng)等。由于系統(tǒng)提供標(biāo)準(zhǔn)化接口,因此,單位內(nèi)部已有的應(yīng)用系統(tǒng)和以后開發(fā)的應(yīng)用只要使用標(biāo)準(zhǔn)化接口,就可以方便、無縫地構(gòu)架在系統(tǒng)平臺應(yīng)用中。

  整個多層次結(jié)構(gòu)組成了的系統(tǒng)的整體,通過多層次的結(jié)構(gòu)應(yīng)用,系統(tǒng)的擴(kuò)展性和靈活性都得以保證,并且具有更廣闊的適用性。

  2.2 系統(tǒng)間互操作的要領(lǐng)

  在數(shù)字化校園中,數(shù)據(jù)層面所需的信息集中存儲,并給各應(yīng)用子系統(tǒng)共享,有效防止了信息的冗余和不一致,保證數(shù)據(jù)的準(zhǔn)確性和可靠性;可以方便地實(shí)現(xiàn)核心數(shù)據(jù)的集中管理與備份,提高系統(tǒng)的安全性,減少設(shè)備的投資和管理的人力成本。數(shù)據(jù)中心在數(shù)據(jù)級對“一卡通”和其他系統(tǒng)的數(shù)據(jù)進(jìn)行無縫集成,便于信息的共享、交流和各項(xiàng)業(yè)務(wù)的協(xié)作。

  一卡通系統(tǒng)應(yīng)該充分使用統(tǒng)一共享數(shù)據(jù)平臺提供的公共數(shù)據(jù)編碼、身份信息等數(shù)據(jù),而不應(yīng)該單獨(dú)維護(hù)一套獨(dú)立、非標(biāo)準(zhǔn)的信息。同時,一卡通系統(tǒng)擁有自己的業(yè)務(wù)數(shù)據(jù)庫,將其他應(yīng)用系統(tǒng)需要的信息納入共享數(shù)據(jù)庫的統(tǒng)一設(shè)計中,實(shí)現(xiàn)校園一卡通系統(tǒng)數(shù)據(jù)對整個數(shù)字化校園的共享。通過數(shù)字化校園應(yīng)用建設(shè),形成一套符合高校自身實(shí)際的管理信息化標(biāo)準(zhǔn),也是數(shù)字化校園建設(shè)中的一項(xiàng)重要內(nèi)容。筆者結(jié)合大量案例,根據(jù)學(xué)校信息化現(xiàn)狀提出信息代碼編碼標(biāo)準(zhǔn)、軟硬件平臺標(biāo)準(zhǔn)、應(yīng)用系統(tǒng)規(guī)范、業(yè)務(wù)流程規(guī)范和數(shù)據(jù)交換標(biāo)準(zhǔn)等,為今后的應(yīng)用系統(tǒng)的建設(shè)制定了規(guī)范。一卡通作為重要的應(yīng)用系統(tǒng)必須符合整體標(biāo)準(zhǔn)。

  為了集成,一卡通使用的公共信息字典必須遵循學(xué)校的信息編碼規(guī)范,數(shù)據(jù)模式必須遵循數(shù)據(jù)庫第三范式,一卡通使用的用戶及其信息必須與業(yè)務(wù)系統(tǒng)提供的信息一致,可以相互關(guān)聯(lián),以保證一卡通的數(shù)據(jù)和學(xué)校的其他信息數(shù)據(jù)同時進(jìn)行查詢、分析、統(tǒng)計。針對于卡的門戶應(yīng)用,共享數(shù)據(jù)中心的數(shù)據(jù)既要能展示相關(guān)的信息,如校園卡選課后學(xué)生的選課課程、選課的繳費(fèi)等,又能統(tǒng)計相關(guān)的信息,如不同專業(yè)的學(xué)生費(fèi)用使用總計及平均消費(fèi)情況等,這些都需要充分的集成設(shè)計。

  3 結(jié)語

  一卡通系統(tǒng)是以非接觸卡為信息載體,適用于各式各樣消費(fèi)和管理的多功能網(wǎng)絡(luò)系統(tǒng),目前已實(shí)現(xiàn)就餐收費(fèi)管理、圖書借閱管理、醫(yī)療收費(fèi)管理、上機(jī)計時收費(fèi)管理、校內(nèi)消費(fèi)管理、早操出勤管理等,本文簡要說明了利用JBuilder和Weblogie快速開發(fā)基于J2EE的應(yīng)用。由于采用了容器管理的持久性(Container-Managed Persistent,CMP),由容器負(fù)責(zé)將entity beans的更新同步(保存)到數(shù)據(jù)庫,即由容器負(fù)責(zé)entity beans的持久性管理,開發(fā)人員只需考慮業(yè)務(wù)邏輯,大大減輕了開發(fā)人員的負(fù)擔(dān),而且還提供了良好的事務(wù)與安全保障;JBuilder是個功能強(qiáng)大的工具,熟練掌握這個開發(fā)工具,可以大大提高J2EE應(yīng)用的開發(fā)效率。(文/楊志和 上海電機(jī)學(xué)院電子信息學(xué)院)

  參考文獻(xiàn):
  [1] Girdley M.J2EE應(yīng)用與BEA Weblogic Server EM].邢國慶,譯.北京:電子工業(yè)出版社,2003.
  [2] 楊芙清,梅宏,李克勤.軟件復(fù)用與軟件構(gòu)件技術(shù)EJ].電子學(xué)報,1999,27(2):68—75.
  [3] 趙芳,韋群.基于構(gòu)件的軟件工程研究I-J].裝備指揮技術(shù)學(xué)院學(xué)報,2002,13(4):56-58、
  [4]劉海巖,梁建龍.基于中間件的分布式系統(tǒng)開發(fā)過程的研究[J].計算機(jī)應(yīng)用研究,2004(1):85—87.
  [5]楊志和,李業(yè)榮.基于Web Services的企業(yè)電子商務(wù)應(yīng)用集成技術(shù)的研究[J].廣西科學(xué)院學(xué)報,2006,22(3):161— 163.
  [6]楊志和.RFID系統(tǒng)與第三方應(yīng)用的信息集成技術(shù)[J].華東理工大學(xué)學(xué)報:自然科學(xué)版,2007,33(增刊):141— 144.
  [7]楊志和.基于Web Services的教育資源共享平臺的設(shè)計與研究EJ].上海電機(jī)學(xué)院學(xué)報,2007,10(1):49—52.
  [8]楊志和,李業(yè)榮.基于中間件和RFID技術(shù)的第三方物流MIS的應(yīng)用研究I-J].計算機(jī)應(yīng)用研究,2006(增刊):592—593.

本文關(guān)鍵詞:J2EE,校園一卡通,一卡通系統(tǒng),考勤,一卡通平臺
回到頂部