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