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