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

    聯系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

    基于J2EE的校園一卡通系統平臺的設計與實現

    文章出處:http://www.xujuanpiju.com 作者: 人氣: 發表時間:2011年09月08日

    [文章內容簡介]:基于J2EE標準的四層體系結構以其良好的靈活性和可擴展性、可共享性、可復用性、安全性等優點,成為建立校園一卡通系統平臺的最佳選擇。通過一個應用實例,闡述了開發一個基于J2EE的應用系統的方法。

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

    EJB基本思想

    圖1 EJB基本思想

      1.2 EJB的應用

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

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

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

    考勤終端子系統部署圖

    圖2 考勤終端子系統部署圖

      1.3 數據庫設計

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

      表1 考勤記錄表

      表2 考勤項目定義表

      1.4 EJB開發

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

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

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

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

      1.5 客戶端

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

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

      2.1 基于J2EE的系統平臺的體系架構

      校園一卡通系統平臺體系架構見圖3。

    校園一卡通系統平臺的體系架構

    圖3 校園一卡通系統平臺的體系架構

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

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

      在系統平臺層和數據層的支持下,系統通過服務層對整個平臺提供服務,提供應用的支持和標準化的應用接口。用戶認證中心就建立在服務層,給每一個用戶一個建立用戶標識,并負責對每一個登錄客戶進行系統認證。

      在服務層之上系統構架了應用層。應用層包括校園內的其他各種綜合應用系統,如指揮自動化網、政治工作宣傳網、財務網等。由于系統提供標準化接口,因此,單位內部已有的應用系統和以后開發的應用只要使用標準化接口,就可以方便、無縫地構架在系統平臺應用中。

      整個多層次結構組成了的系統的整體,通過多層次的結構應用,系統的擴展性和靈活性都得以保證,并且具有更廣闊的適用性。

      2.2 系統間互操作的要領

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

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

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

      3 結語

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

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

    本文關鍵詞:J2EE,校園一卡通,一卡通系統,考勤,一卡通平臺
    回到頂部