C/S、B/S結構在校園一卡通系統中的應用
文章出處:http://hz-huyue.com 作者:胡敏 人氣: 發表時間:2011年06月27日
各高等院校作為發展的先驅,相繼建立了自己的校園網并得到不斷的完善,校園一卡通系統正是在校園網平臺的基礎上建立起來,成為數字化校園建設的重要部分。
校園一卡通系統包含了多種金融系統和信息管理系統,為實現“一卡在手,走遍校園”的愿望,校園一卡通系統將多種應用集于一張Ic卡當中,并且系統的功能應用也在不斷的擴展。
基于一卡通系統的功能擴展需要軟件的靈活性、可維護性、可重性,數據處理的高效性、安全性等問題,廣東輕工職業技術學院校園一卡通系統采用了三層C/S及B/S結構混合使用的風格。
1 系統結構及相關技術
1.1 C/S結構
C/S(client/server)客戶/服務器結構是20世紀90年代較為先進的結構,具有強大的數據操作和事務處理能力。傳統二層C/S結構將應用一分為二,服務器(后臺)負責數據管理,客戶機(前臺)完成與用戶的交互任務。
C/S結構主要優點在于系統的客戶應用程序和服務器構件分別在不同的計算機上,系統中每臺服務器都可以適合構件的要求,這對于硬件和軟件的變化顯示出極大的適應性和靈活性,且易于對系統進行擴充和縮小。但隨著企業規模的日益擴大,軟件的復雜程序不斷提高,傳統二層C/S結構存在一些局限性,如軟、硬件的組合及集成能力有限、客戶機負荷太重、數據安全性不夠好等,提出了三層C/S結構。
三層C/S結構在傳統二層C/S結構中增加了一個應用服務器,將整個應用邏輯駐留在此應用服務器上,這樣,三層C/S結構將應用功能分為表示層、功能層和數據層三個部分,彌補了二層C/S結構的一些不足,有效提高了系統的靈活性、高效性、安全性,如圖1所示。
表示層:用戶接口部份,擔負用戶與應用間的對話功能。提供信息瀏覽、數據輸入輸出查詢。
功能層:實現客戶的全部業務邏輯。通過接口響應表示層發出的請求,完成相應的業務處理及對數據庫的操作,并把結果返回給客戶端。
數據層:數據庫管理系統,負責管理對數據庫數據的讀寫。實現數據定義、存儲、備份、檢索,響應功能層的數據處理請求,并將結果返回給功能層。
使用這種模型,可以將系統需求劃分成可以明確定義的服務,并邏輯上使其獨立,這樣安全性得到了更高的保證。該模型可以更靈活有效的選用相應平臺和硬件系統,各層之間可以并行開發,也可以選擇各自合適的開發語言,使系統開發起來更加高效,性價比更高。
1.2 中間件技術
在三層C/S結構中,中間件是最重要的構件。它位于硬件、操作系統平臺和應用程序之間,是一個用API定義的軟件層,是具有強大通信能力和良好可擴展性的分布式軟件管理框架,可實現不同硬件和操作系統平臺上的數據共享和應用互操作。
中間件技術對數據接口的開放性和安全性方面來說都是最佳的一種模式。數據服務器通過建立一系列的中間數據服務,根據系統的功能、性能等各方面的需求,系統管理員可以在網絡上靈活的部署這些組件.針對不同的第三方系統應用,同時制定不同的開放策略,靈活性很高。
中間件技術具有可重用性、靈活性、可管理性、易維護性等一系列優良的特性。一卡通系統采用了流行的中間件技術,加強了數據交換的靈活性、傳輸的安全性,以及易實施性等諸多優點,如與水電費繳費系統、網絡繳費系統、圖書館借閱書管理系統等等系統對接,很好的實現了軟件可復用,靈活性優點。其結構圖如圖2所示。
1.3 DCOM 技術
Microsoft的DCOM(分布式組件模型)技術是OLE與ActiveX的擴展,是實現三層C/S結構的關鍵技術,它支持在不同計算機上組件對象與客戶程序之間或者組件之間的相互通信,這些計算機可以分布在局域網、廣域網上。DCOM 具有以下幾個特點:
1)可復用性:構件支持的重用是建立在構件對象的行為方式上,而不是具體的實現上。它既支持面向對象的代碼級復用,也支持目標碼級復用。
2)語言無關性:DCOM 是一個二進制代碼級的標準,不依賴于特定的編程語言。
3)易擴展性:當測試系統的負載發生變化時,DCOM 可以輕松地把所需的組件和功能模塊進行分配,極大地方便了系統軟件的測試和維護。
4)構件運行進程和位置透明性:DCOM對分布式應用的支持是基于遠程過程調用(RPC)的進程間通信機制,RPC為DCOM提供了跨越網絡為對象服務的能力。
DCOM技術要求用戶依據軟件的要求開發組件,這些組件通常是被設計成DLL的形式,可以將這些組件放置在一臺專用的組件服務器上,由客戶端來進行遠程調用,或者直接放于客戶端進行調用。
1.4 B/S結構
B/S(Browser/Server)結構,即瀏覽器/服務器結構。其原理簡單來說就是用戶通過瀏覽器向服務器發送請求,服務器收到請求后對其進行處理,然后將用戶所需的信息返回到瀏覽器,實現瀏覽器與服務器的交互功能。
B/S結構不需要用戶在客戶機安裝管理軟件,只需配置少量的插件程序,這對比C/S結構而言,客戶機的壓力減輕了,把負荷分配給了WEB服務器。在B/S結構中,系統安裝、修改和維護全在服務器端解決,系統可以面向網絡上所有用戶,可以更加的充分利用資源。
而C/S結構中,客戶端程序需要安裝在每一臺客戶機上,系統及客戶端升級或者更新都需要在每一臺服務器及客戶機上處理,工程量很大。因此,對比C/S結構,B/S結構在系統升級方面有很大的優勢;且可以在運行時升級,同時應用程序維護的工作量也大大減少;管理員可以把主要精力放在服務器程序的更新工作上。
同時,與C/S結構相比,B/S結構也有以下不足之處:
1)B/S結構對動態頁面的支持能力和數據庫處理能力較差。
2)B/S結構的系統擴展能力較差,采用瀏覽器以HTTP方式,可靠性、安全性較低。
3)處理大量數據或大量用戶同時訪問時,B/S結構在響應速度方面遠遠低于C/S結構,且會造成WEB服務器負載過重。
4)B/S結構在數據的交互性上不夠強,不利于在線事務處理應用。
2 系統應用與實現
我校一卡通系統采用C/S結構與B/S結構混合模式,主要是將這兩種結構優點都發揮出來,提高系統安全,揚長避短,很好的實現用戶的需求。系統查詢功能主要采用B/S結構模式,而其中采用專用硬件設備操作的部分或觸摸屏客戶端繳費系統采用C/S模式,具體如:Ic卡綜合業務模塊、身份信息采集模塊、繳費系統等采用C/S模式,基礎數據查詢模塊、掛失IC卡、水電費查詢等采用B/S模式。系統使用多臺應用服務器及Web服務器,負責不同的功能模塊,與數據庫的操作是通過Oracle 8數據引擎來完成的。
2.1 C/S結構的運用與實現
一卡通系統中,對于使用POS刷卡機以及用Ic卡等設備的業務應用模塊采用C/S結構,只有授權的應用子系統才能進行連接。具體運用如下:
1)飯堂、超市、車載、水控等用POS刷卡機消費方式的商務管理子系統。這一方式均是用硬件系統來實現,采用智能Ic卡,結合數據傳輸技術,把POS機作為消費終端,將刷卡消費流水通過485通訊線傳輸至網關,網關收集所有POS機傳來的流水經過校園網傳輸至應用服務器,實現多層C/S結構。
2)使用Ic卡的其它業務方式。這需要在客戶機上配備一個通用讀卡器,用來讀取Ic卡里的信息。如用于充值結算業務的綜合業務子系統、廣東輕工職業技術學院個性化設置的網費、水費、電費繳費系統、圖書管理子系統、上機管理子系統等。
其中網費、水費、電費繳費系統是針對校園個性化設計的系統,采用Delphi 7.0開發環境的Automation ObjectWizard定義了DCOM類,并用類型庫編輯器定義接口的屬性和方法,最終結合一卡通系統提供的第三方接入套件API進行系統參數對接,實現了與其它子系統耦合成一卡通系統。
圖書館管理子系統是已經應用了較為成熟且專業的管理系統,為了保護學校前期投資和系統平滑升級,同樣通過中間件技術和一卡通系統緊密耦合在一起。這樣,加快了軟件的開發進度,直接使用現有的成熟開發類庫,避免了與硬件結合的測試和節約了時間。
3)使用客戶端系統的方式,如身份信息管理系統。就是使用管理界面與應用服務器進行交互,針對身份信息采集和管理功能而開發,是制作信息Ic卡的首先步驟。
2.2 B/S結構的運用與實現
雖然在與硬件設備緊密結合的模塊采用C/S結構,系統大范圍的應用還是基于B/S結構,主要體現在Ic卡消費流水查詢、IC卡掛失處理,網費、水費、電費查詢系統上。在校園一卡通系統中,WEB服務器采用的是J2EE (Java 2 platform enterpriseedition)平臺,Java的優勢是純語言的,跨平臺性非常好。它所提供的Java分布對象技術和基于XML的數據交換,以及統一的安全模式和靈活的事物控制,非常適用擁有復雜事務和大量數據流的校園一卡通系統。
3 結束語
基于以上系統結構的分析,校園一卡通系統上應用的商務管理子系統、綜合業務子系統、身份信息管理子系統和繳費子系統等由于要求實時響應程度高及安全性能高的特點,采用了C/S三層體系結構風格;通過校園網訪問的查詢業務子系統由于面向全校師生,范圍廣,故采用B/S體系結構。
廣東輕工職業技術學院2004年建設一卡通系統至今,已經實現廣州校區和南海校區兩校區互聯,一卡通系統在兩校區正常運行,基本實現了“一卡在手,走遍校園”的愿望。