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