數(shù)字化校園應(yīng)用系統(tǒng)架構(gòu)的研究
文章出處:http://srpd123.com 作者:盛昀 方明 人氣: 發(fā)表時(shí)間:2011年11月23日
數(shù)字化校園已經(jīng)成為目前高等院校發(fā)展信息化建設(shè)的一個(gè)重要目標(biāo)。作為數(shù)字化校園的基礎(chǔ),各個(gè)學(xué)校紛紛對(duì)校園的硬件和網(wǎng)絡(luò)進(jìn)行建設(shè),一些學(xué)校已引入或者自行開發(fā)了很多業(yè)務(wù)管理系統(tǒng),實(shí)現(xiàn)了部分管理的自動(dòng)化,使得校園網(wǎng)得到充分的利用。但是這種發(fā)展也帶來了一些新的問題,如由于應(yīng)用系統(tǒng)在不同時(shí)間由不同人群研發(fā)完成,缺乏全局的系統(tǒng)規(guī)劃,容易造成各應(yīng)用系統(tǒng)彼此分割、各自分散,出現(xiàn)眾多分散的、異構(gòu)的、相互封閉的信息資源系統(tǒng)。每個(gè)應(yīng)用系統(tǒng)有自己的數(shù)據(jù)庫,自編的一套應(yīng)用軟件,系統(tǒng)內(nèi)部缺乏合理的通道,系統(tǒng)之間信息無法共享、無法交換,導(dǎo)致資源浪費(fèi),并對(duì)數(shù)字化校園的信息通、教學(xué)通、資源通和管理通等需求造成嚴(yán)重的障礙。針對(duì)這一現(xiàn)象,本文通過比較當(dāng)前數(shù)字化校園應(yīng)用系統(tǒng)的技術(shù)路線,提出了一個(gè)數(shù)字化校園應(yīng)用系統(tǒng)整體的邏輯架構(gòu)以及技術(shù)實(shí)現(xiàn)的手段。
一、數(shù)字化校園總體架構(gòu)
數(shù)字化校園的建設(shè)目標(biāo)可借用下面的一幅場(chǎng)景來描述。如某個(gè)學(xué)生選擇一門課程之后,當(dāng)他再次登錄或返回自己的個(gè)性化頁面時(shí),他應(yīng)該可以看到:①這門課程的授課老師、課程安排和教學(xué)計(jì)劃等;② 這門課程在圖書館內(nèi)的參考書籍的鏈接;③ 這門課程的學(xué)分是多少,自己已經(jīng)完成了多少學(xué)分,本學(xué)期還需要幾個(gè)學(xué)分;④ 這門課程需要繳納的費(fèi)用是多少,同時(shí)在此頁面提供付費(fèi)確認(rèn)鏈接。
在上述4 個(gè)步驟中,用戶對(duì)一個(gè)應(yīng)用系統(tǒng)的動(dòng)作,觸動(dòng)其他3個(gè)不同的應(yīng)用系統(tǒng)進(jìn)行工作,最終將結(jié)果通過個(gè)性化頁面反饋給用戶,從而實(shí)現(xiàn)一站式服務(wù)。從以上描述可以知道一個(gè)數(shù)字化校園的應(yīng)用系統(tǒng)必須是一個(gè)總的校園信息系統(tǒng)的集成,它從全局的高度分析校園內(nèi)部的關(guān)系,并通過建立統(tǒng)一的信息標(biāo)準(zhǔn),提供平臺(tái)與接口規(guī)范,將各種信息系統(tǒng)以松散耦合的方式集成起來,以統(tǒng)一的形象為用戶提供個(gè)性化的服務(wù)。為了解決當(dāng)前校園信息化建設(shè)過程中缺乏發(fā)展規(guī)劃、資源不能共享、應(yīng)用難以集成及用戶使用繁雜等問題,本文提出以下數(shù)字化校園總體架構(gòu)模型(圖1)。
從圖1可以看出整個(gè)系統(tǒng)與操作系統(tǒng)無關(guān),遵循J2EE 規(guī)范。統(tǒng)一身份認(rèn)證與授權(quán)平臺(tái)為各業(yè)務(wù)應(yīng)用系統(tǒng)提供數(shù)據(jù)加密、數(shù)字簽名、身份認(rèn)證和授權(quán)管理等安全服務(wù),應(yīng)用集成平臺(tái)通過異構(gòu)數(shù)據(jù)接口平臺(tái)協(xié)同多個(gè)其他業(yè)務(wù)系統(tǒng)進(jìn)行計(jì)算。網(wǎng)上校園通過業(yè)務(wù)工作流等中間件實(shí)現(xiàn)數(shù)字化校園的應(yīng)用互動(dòng)。整個(gè)系統(tǒng)按照這種一體化的思想設(shè)計(jì),即一體化的安全平臺(tái)、一體化的接口技術(shù)及一體化的業(yè)務(wù)平臺(tái)。一體化的安全平臺(tái)指各業(yè)務(wù)系統(tǒng)都可以建立在統(tǒng)一身份認(rèn)證與授權(quán)服務(wù)平臺(tái)之上,這樣解決了一個(gè)用戶進(jìn)入校園網(wǎng)的不同應(yīng)用系統(tǒng)可能需要不同的密碼,甚至不同的身份標(biāo)識(shí)的問題;一體化的接口技術(shù)指各個(gè)應(yīng)用系統(tǒng)通過統(tǒng)一的Web Service 技術(shù)實(shí)現(xiàn)與統(tǒng)一身份認(rèn)證/授權(quán)平臺(tái)、異構(gòu)數(shù)據(jù)庫接口平臺(tái)、校園內(nèi)部各業(yè)務(wù)系統(tǒng)的接口,解決了各應(yīng)用系統(tǒng)之間無法直接訪問相互間的數(shù)據(jù)和功能,可能需要人為的處理,如數(shù)據(jù)交換的問題。一體化的業(yè)務(wù)平臺(tái)指公網(wǎng)和內(nèi)網(wǎng)在確保安全的前提下合二為一、實(shí)現(xiàn)了信息無縫共享,公網(wǎng)和內(nèi)網(wǎng)使用同一個(gè)數(shù)據(jù)庫管理系統(tǒng)。這樣一個(gè)數(shù)字化校園網(wǎng)體系可以實(shí)現(xiàn)一體化的安全、一體化的業(yè)務(wù)和一體化的訪問控制。
圖1 數(shù)字化校園總體架構(gòu)
二、技術(shù)路線選型
就目前的技術(shù)而言,實(shí)現(xiàn)數(shù)字化校園有兩條技術(shù)路線:EAI(企業(yè)應(yīng)用集成)解決方案和Web 服務(wù)。EAI 可以說是建立一個(gè)靈活的、標(biāo)準(zhǔn)化的企業(yè)應(yīng)用底層架構(gòu),可以允許新的基于IT 的應(yīng)用能夠更容易更有效地被部署。新的底層架構(gòu)允許企業(yè)中的應(yīng)用能夠?qū)崟r(shí)地、無縫地互相通信。從技術(shù)角度來說,EAI 可以看作許多不同集成方法的集合,例如數(shù)據(jù)適配器、消息代理和其他類型的中間件等,來實(shí)現(xiàn)對(duì)不同應(yīng)用的合并與協(xié)調(diào),從而實(shí)現(xiàn)企業(yè)信息系統(tǒng)的集成。Web服務(wù)則是一種通過URI 識(shí)別的模塊化軟件應(yīng)用,它通過標(biāo)準(zhǔn)的 XML 格式接口來訪問網(wǎng)絡(luò)(包括Internet,Intranet,Extranet),通過Internet 的基本協(xié)議和其他軟件代理交換XML 信息。傳統(tǒng)的EAI 是一種緊耦合集成模式,比較適用于那些對(duì)性能要求較高的、需要多種層次集成的應(yīng)用集成系統(tǒng)。Web 服務(wù)是一種標(biāo)準(zhǔn)化的松耦合集成模式,比較適用于那些需要更大的靈活性,改動(dòng)頻繁的應(yīng)用集成系統(tǒng)。結(jié)合了Web 服務(wù)的EAI 系統(tǒng)則實(shí)現(xiàn)了一種面向服務(wù)層的松耦合的企業(yè)應(yīng)用集成系統(tǒng),可以最大限度地同時(shí)滿足性能和靈活性的要求。
所以在數(shù)字化校園的建設(shè)進(jìn)程中,不能單靠某一技術(shù)或某一廠商的產(chǎn)品一蹴而就。從諸多成功和失敗的案例可以看出:跨多個(gè)操作系統(tǒng)、編程語言和硬件平臺(tái)集成軟件應(yīng)用程序不可能由任何一個(gè)專門的環(huán)境來解決。這個(gè)問題一直是一個(gè)緊耦合問題,即調(diào)用遠(yuǎn)程網(wǎng)絡(luò)的應(yīng)用程序通過自己發(fā)出的函數(shù)調(diào)用和請(qǐng)求的參數(shù)與遠(yuǎn)程網(wǎng)絡(luò)緊密地聯(lián)系在一起。如果采用固定接口,當(dāng)環(huán)境或需要改變時(shí),就會(huì)顯得缺乏靈活性或適用性。
為了數(shù)字化校園進(jìn)程的順利推動(dòng),采用以技術(shù)標(biāo)準(zhǔn)結(jié)合廠商產(chǎn)品的方法為主線,兩種技術(shù)相結(jié)合,以EAI 的技術(shù)框架結(jié)構(gòu)實(shí)現(xiàn)面向多種層次的集成,如數(shù)據(jù)層、應(yīng)用層、商業(yè)邏輯層、用戶(界面)接口層、服務(wù)層的集成。其中服務(wù)層的集成,通過引入 Web服務(wù)的相關(guān)技術(shù)標(biāo)準(zhǔn)實(shí)現(xiàn)。這樣可以做到讓任何平臺(tái)上的用任何語言編寫的服務(wù)進(jìn)行交互;可以將應(yīng)用程序功能概念化成任務(wù),從而形成面向任務(wù)的開發(fā)和工作流;允許松耦合,每當(dāng)其中某個(gè)或多個(gè)服務(wù)在設(shè)計(jì)或?qū)崿F(xiàn)中發(fā)生變更時(shí),服務(wù)應(yīng)用程序之間的交互作用不會(huì)因此而中斷,使現(xiàn)有的應(yīng)用程序能適應(yīng)變化中的業(yè)務(wù)條件和客戶需要;向現(xiàn)有或原有的軟件應(yīng)用程序提供服務(wù)接口,而無需改變?cè)瓉淼膽?yīng)用程序,從而使這些應(yīng)用程序完全可以運(yùn)行在這種服務(wù)環(huán)境下。
三、實(shí)現(xiàn)手段
(一)應(yīng)用系統(tǒng)的邏輯結(jié)構(gòu)
根據(jù)上節(jié)的設(shè)計(jì)思想,系統(tǒng)可設(shè)計(jì)成一個(gè)基于J2EE 的Web 應(yīng)用系統(tǒng),從構(gòu)架結(jié)構(gòu)上來講,采用三層或多層構(gòu)架的組件化設(shè)計(jì)思想,這樣做可以滿足系統(tǒng)的性能、縮放性、安全性、可訪性、重用性及可維護(hù)性的要求。這一架構(gòu)遵循統(tǒng)一數(shù)據(jù)出口和統(tǒng)一數(shù)據(jù)入口的原則,通過統(tǒng)一的一站式服務(wù)門戶對(duì)外給用戶提供閉環(huán)式服務(wù)和共享機(jī)制,對(duì)內(nèi)整合各業(yè)務(wù)應(yīng)用系統(tǒng)。通過對(duì)上層應(yīng)用服務(wù)的請(qǐng)求,調(diào)度下層業(yè)務(wù)邏輯及其相關(guān)業(yè)務(wù)系統(tǒng)的資源,完成以事件為驅(qū)動(dòng)的工作流和數(shù)據(jù)流的運(yùn)行。
系統(tǒng)整體的邏輯架構(gòu)以及技術(shù)實(shí)現(xiàn)的手段如圖2所示。
圖2 信息系統(tǒng)邏輯框架示意圖
系統(tǒng)從邏輯上可劃分為用戶表現(xiàn)層、應(yīng)用層、數(shù)據(jù)訪問層和數(shù)據(jù)庫層。用戶表現(xiàn)層采用MVC(模塊-示圖-控制)構(gòu)架結(jié)構(gòu)設(shè)計(jì),它是由Weblogic 或WebSphere 等主流應(yīng)用服務(wù)器所支持的JavaServlet,JSP 和JavaBean 去實(shí)現(xiàn)的。應(yīng)用層采用EJB(Enterprise JavaBean)去執(zhí)行業(yè)務(wù)規(guī)則和形成業(yè)務(wù)對(duì)象。由于應(yīng)用程序集中放置在這一層上,由所有用戶共享,使得系統(tǒng)的維護(hù)和更新變得簡(jiǎn)單。當(dāng)業(yè)務(wù)邏輯發(fā)生變化時(shí),只需更新服務(wù)器上相應(yīng)的應(yīng)用組件,之后所有的用戶就可以使用新的業(yè)務(wù)處理邏輯,避免了用戶端應(yīng)用程序版本控制和更新的困難。而且這些組件可以鏡像到多臺(tái)機(jī)器上同時(shí)運(yùn)行,從而分擔(dān)多用戶的負(fù)載。
數(shù)據(jù)訪問層使用JDBC的應(yīng)用層可以訪問多種數(shù)據(jù)資源而不會(huì)影響業(yè)務(wù)本身的邏輯。應(yīng)用程序組件可以共享與數(shù)據(jù)庫的連接,數(shù)據(jù)庫服務(wù)器不再是為每個(gè)活動(dòng)的用戶保持一個(gè)連接,從而降低了數(shù)據(jù)庫服務(wù)器的負(fù)擔(dān),提高了性能。
數(shù)據(jù)庫層可以分為三類:信息數(shù)據(jù)庫,業(yè)務(wù)管理綜合數(shù)據(jù)庫以及決策支持使用的數(shù)據(jù)倉庫。這些數(shù)據(jù)庫將存貯所有業(yè)務(wù)信息和管理信息以及一些系統(tǒng)應(yīng)用參數(shù)。
這樣的體系結(jié)構(gòu)適合大規(guī)模配置的應(yīng)用系統(tǒng),而在中間層的業(yè)務(wù)邏輯不必信任客戶機(jī),極大地提高了系統(tǒng)的效率,而這些業(yè)務(wù)邏輯共享數(shù)據(jù)庫連接,就可以使大量的用戶有機(jī)會(huì)使用系統(tǒng),這樣增加的是用戶數(shù)量而不是數(shù)據(jù)庫的連接數(shù)量,不會(huì)影響服務(wù)器的工作效率和增加系統(tǒng)的負(fù)擔(dān)。
(二)統(tǒng)一認(rèn)證和授權(quán)系統(tǒng)的具體實(shí)現(xiàn)
從圖1 可以看出統(tǒng)一認(rèn)證和授權(quán)是實(shí)現(xiàn)數(shù)字化校園的前提,統(tǒng)一身份認(rèn)證與授權(quán)屬于安全管理的范疇。通過認(rèn)證與授權(quán)的集中統(tǒng)一,實(shí)現(xiàn)授權(quán)主體對(duì)客體的安全訪問。由于多應(yīng)用涉及到異構(gòu)系統(tǒng)的互聯(lián)與互操作問題,除應(yīng)用本身考慮跨平臺(tái)設(shè)計(jì)外,安全設(shè)計(jì)要求考慮通用安全服務(wù)機(jī)制。技術(shù)發(fā)展趨勢(shì)包括Intel CDSA,Microsoft Crypto API 和Sun JCA/JCE等規(guī)范。信息系統(tǒng)的通用安全服務(wù)可以通過建設(shè)應(yīng)用安全服務(wù)平臺(tái)來實(shí)現(xiàn),通過安全平臺(tái)向各應(yīng)用提供統(tǒng)一的安全服務(wù)如信息加密/解密、數(shù)字簽名/驗(yàn)證、數(shù)據(jù)完整性校驗(yàn)及密鑰管理等功能。安全服務(wù)平臺(tái)可以基于統(tǒng)一的身份鑒別(如認(rèn)證中心)和統(tǒng)一授權(quán)管理(如訪問控制中心)實(shí)現(xiàn)。
安全服務(wù)平臺(tái)采用安全層次體系和模塊化設(shè)計(jì),并通過標(biāo)準(zhǔn)通用接口向信息系統(tǒng)提供信息安全服務(wù)。通過安全服務(wù)平臺(tái)實(shí)現(xiàn):
(1)一次登錄,全網(wǎng)通行。對(duì)整個(gè)學(xué)校的信息系統(tǒng)平臺(tái)主體(如老師和學(xué)生)的身份標(biāo)識(shí)與鑒別,即用戶只需在網(wǎng)絡(luò)的任一臺(tái)計(jì)算機(jī)上登錄一次,經(jīng)過身份驗(yàn)證后,便可訪問各應(yīng)用系統(tǒng)中其有權(quán)訪問的功能。
(2)統(tǒng)一資源管理。對(duì)網(wǎng)絡(luò)中客體(如應(yīng)用資源)的安全屬性定義和級(jí)別劃分,即對(duì)整個(gè)系統(tǒng)范圍內(nèi)的所有用戶、各種應(yīng)用系統(tǒng)及各種資源進(jìn)行統(tǒng)一管理。系統(tǒng)管理員對(duì)整個(gè)網(wǎng)絡(luò)資源有一個(gè)清晰的了解。用戶基于一種樹型層次化規(guī)則對(duì)資源和應(yīng)用系統(tǒng)進(jìn)行管理和訪問。
(3)統(tǒng)一組織、權(quán)限管理。主體對(duì)客體的訪問控制與授權(quán)管理。同時(shí),通過應(yīng)用安全服務(wù)平臺(tái)提供系統(tǒng)安全審計(jì)和統(tǒng)一管理的能力。即將人員按自然的組織結(jié)構(gòu)以樹狀形式組織。人員調(diào)動(dòng)的操作就好像在目錄間移動(dòng)一個(gè)文件。不同權(quán)限的用戶只能訪問與自己權(quán)限一致的資源。角色權(quán)限改變時(shí),管理人員只需修改角色權(quán)限,該角色所有用戶自動(dòng)繼承相應(yīng)的權(quán)限。
1.系統(tǒng)結(jié)構(gòu)
系統(tǒng)設(shè)計(jì)的主要思想是應(yīng)用目錄服務(wù)集中存儲(chǔ)用戶的信息和各個(gè)應(yīng)用系統(tǒng)的信息,然后通過統(tǒng)一身份認(rèn)證服務(wù)實(shí)現(xiàn)對(duì)用戶的集中管理、集中認(rèn)證和統(tǒng)一授權(quán)。其結(jié)構(gòu)如圖3 所示。
圖3 統(tǒng)一身份認(rèn)證系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)主要包括三部分功能:
(1)用戶的認(rèn)證。為了在校園網(wǎng)中實(shí)現(xiàn)基于用戶的網(wǎng)絡(luò)管理,要求所有用戶在使用網(wǎng)絡(luò)資源以前要先登錄認(rèn)證服務(wù)器以確認(rèn)身份,之后,將用戶的身份和他所使用的IP 地址綁定,以解決IP 地址盜用的問題,同時(shí)實(shí)現(xiàn)基于用戶的計(jì)費(fèi)等管理。用戶登錄應(yīng)用系統(tǒng)申請(qǐng)服務(wù)時(shí),提供一個(gè)由統(tǒng)一身份認(rèn)證系統(tǒng)發(fā)給的身份認(rèn)證令牌,由應(yīng)用系統(tǒng)將這個(gè)認(rèn)證令牌交給統(tǒng)一身份認(rèn)證服務(wù)進(jìn)行認(rèn)證,確認(rèn)用戶身份后應(yīng)用系統(tǒng)根據(jù)用戶的組別授予用戶相應(yīng)的訪問權(quán)限。
(2)用戶的集中管理。在學(xué)校里,每個(gè)人都有自己的一個(gè)身份,它是由學(xué)校相應(yīng)的管理部門負(fù)責(zé)維護(hù)和管理的,例如,學(xué)校的人事處管理所有教職工的資料。各個(gè)管理部門有自己的一套數(shù)據(jù)庫系統(tǒng)維護(hù)著相應(yīng)的資料。作為網(wǎng)絡(luò)管理部門,進(jìn)行用戶的身份的集中管理,主要的任務(wù)就是實(shí)現(xiàn)用戶的真實(shí)身份到用戶的電子身份的一個(gè)映射,確保每個(gè)校園網(wǎng)的用戶得到一個(gè)和他的真實(shí)身份相對(duì)應(yīng)的電子身份,并享有和他的身份相對(duì)應(yīng)的網(wǎng)絡(luò)使用權(quán)限。因此,用戶集中管理部分的設(shè)計(jì)重點(diǎn)在于實(shí)現(xiàn)和現(xiàn)有用戶管理系統(tǒng)之間的信息交互,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)交流。
(3)應(yīng)用系統(tǒng)注冊(cè)。每個(gè)應(yīng)用系統(tǒng)要使用統(tǒng)一身份認(rèn)證模式,它必須先向統(tǒng)一身份認(rèn)證系統(tǒng)進(jìn)行注冊(cè),提供必要的信息,包括應(yīng)用系統(tǒng)的身份信息、應(yīng)用系統(tǒng)所有合法用戶的信息、應(yīng)用系統(tǒng)的訪問控制信息和應(yīng)用資源的訪問控制信息等。
2.授權(quán)策略實(shí)現(xiàn)
授權(quán)策略的具體實(shí)現(xiàn)是,應(yīng)用系統(tǒng)根據(jù)用戶權(quán)限的不同將合法用戶分為若干組,根據(jù)用戶的身份信息決定用戶屬于哪個(gè)用戶組別。應(yīng)用系統(tǒng)注冊(cè)后其用戶組信息存儲(chǔ)在目錄數(shù)據(jù)庫中,應(yīng)用系統(tǒng)要求統(tǒng)一身份認(rèn)證系統(tǒng)認(rèn)證用戶身份信息時(shí),統(tǒng)一身份認(rèn)證系統(tǒng)根據(jù)用戶身份查找該用戶在應(yīng)用系統(tǒng)中所屬的用戶組,并將該信息返回給應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)再根據(jù)用戶所屬組別決定用戶權(quán)限。
用戶得到應(yīng)用系統(tǒng)的授權(quán)經(jīng)過下面3個(gè)步驟:登錄統(tǒng)一身份認(rèn)證系統(tǒng)確認(rèn)身份;向應(yīng)用系統(tǒng)提出服務(wù)申請(qǐng),并提交身份證明;應(yīng)用系統(tǒng)將用戶的身份證明交統(tǒng)一身份認(rèn)證系統(tǒng)認(rèn)證并得到用戶授權(quán)信息,然后根據(jù)用戶授權(quán)信息返回給用戶服務(wù)申請(qǐng)應(yīng)答。
3.SSO(單點(diǎn)登錄)實(shí)現(xiàn)
有了統(tǒng)一認(rèn)證和授權(quán)的基礎(chǔ),便可進(jìn)行SSO 的實(shí)施。在用戶通過認(rèn)證之后,可以通過反向代理服務(wù)器結(jié)合策略管理器產(chǎn)生授權(quán)憑證,或利用插件方式攔截會(huì)話,從而達(dá)到一次登錄,全網(wǎng)通行的目的。如圖4 所示。
圖4 SSO 實(shí)現(xiàn)
四、結(jié)束語
數(shù)字化校園的基礎(chǔ)是解決應(yīng)用系統(tǒng)集成的問題,在進(jìn)行建設(shè)時(shí)要通盤考慮,其系統(tǒng)結(jié)構(gòu)上要有可擴(kuò)展性。本文通過分析討論與應(yīng)用集成相關(guān)的技術(shù)發(fā)展趨勢(shì),指出數(shù)字化校園并不能簡(jiǎn)單靠采用新技術(shù)而一蹴而就,它必須由清晰的目標(biāo)和戰(zhàn)略進(jìn)行管理,關(guān)鍵在于提供方向、控制變更和提高整個(gè)系統(tǒng)運(yùn)行的整體效能,本系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)已經(jīng)應(yīng)用到一些校園網(wǎng)中并得到認(rèn)可。
(文/西安工業(yè)學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院西安:盛 昀,西安石油大學(xué)計(jì)算機(jī)學(xué)院西安:方明)