(1.南京郵電大學 a.軟件學院;b.計算機學院 南京 210003;2.南京信息職業技術學院 軟件學院南京 210046;3.南京大學 計算機軟件新技術國家重點實驗室 南京 210093)
摘 要:為了有效提高校園資源的利用率及減少信息化建設的成本,在清華大學提出的URP “1+N+1”模型基礎上,結合面向服務架構(SOA)集成框架,給出一種可實現校園遺產系統的無縫集成模型。對現有的URP模型進行了抽象描述,但是現有模型在數據層和校園信息化系統業務組件層中的集成和互操作上都無法同時實現集成,因此提出一種“1+1+N+1+1+N”模型。通過高校課件資源規劃分析、設計和實現證明該模型可以有效解決現有模型存在的不完全集成問題。
關鍵詞:服務組件;面向服務體系架構;校園資源規劃;課件資源規劃
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2009)05-1810-03
Study on model of campus resource planning based on SOA
JI Yimu1a,LU Lili2,WANG Ruchuan1b,3
(1.a.College of Software,b.College of Computer Science Nanjing University of Posts Telecommunications Nanjing 210003 China;2.College of Software Nanjing College of Information Technology Nanjing 210046 China;3.State Key Laboratory for Novel Software Technology Nanjing University Nanjing 210093 China)
Abstract:In order to inrease the efficiency of resources and decrease the cost of building the information system on campus this paper put forward one noseam integration model named CRP with SOA based on the URP “1+N+1” model suggested by Tsinghua University. Firstly,abstracted the current model of URP,but it was difficult to integrate the data layer and business logic layer simultaneously.Therefore,proposed one “1+1+N+1+1+1” model. Through analysis designing and implementation of “1+1+N+1+1+1” it indicates that the model can solve the incomplete integration problem of existing models.
Key words:service component; services oriented architecture(SOA); campus resource planning; courseware resources planning
目前,校園信息化建設進入資源整合和集成階段。由于不同應用系統處理和訪問的信息資源有所不同,這些異同的高校資源及其對應的子系統之間如何共享和集成是一個系統工程。首要做的工作就是需要對這些資源進行合理的規劃,規劃的目標是實現這些應用系統既可以獨立工作,又可以交互工作,實現校園資源的無縫集成。本文就是在此背景下,提出一種基于SOA的校園資源規劃CRP模型,該模型能改進現有的URP(university resource planning,大學資源規劃)模型[1]。
1 相關工作
URP是大學信息系統的總集成,它利用統一的平臺和接口規范將大學的各種信息系統集成起來,實現信息的共享和交換,為用戶提供統一的訪問界面,并為后續的應用系統設計和實施提供統一、規范化的要求[2]。
ERP(enterprise resource planning,企業資源規劃)是一個以管理會計為核心的信息系統,識別和規劃企業資源從而獲取客戶訂單,完成加工和交付,最后得到客戶付款。換言之,ERP將企業內部所有資源整合在一起,對采購、生產、成本、庫存、分銷、運輸、財務和人力資源進行規劃,從而達到最佳資源組合,取得最佳效益[3]。ERP是一個全局的、自上而下的過程,從設計之初就考慮了整個企業的需求,保證了數據的共享和一致性。一個ERP系統在企業的實施過程中,企業各個部門的管理和運作都向ERP靠攏,企業也借此實現標準化管理。
高校由于其主要任務是教學和科研,它的組織結構及管理模式與企業有很大的不同,主要表現在以下五個方面[4]:
a)高校的教學模式和管理模式比較松散,隨時都有可能會發生變化,這與寬松的學術環境密切相關;而企業有相對穩定的生產、運行、管理模式。
b)高校具有一種非集中式的校園文化,各部門與院系之間都具有相對獨立性;而企業各個子系統之間關系緊密、耦合度高,各部門的信息交織在一起,互相影響、互為條件。
c)高校具有很強的個性化特點,學校、教師、學生都具有各自的個性,并且鼓勵個性的發展;而企業則是強調團隊合作,尤其是大公司更不欣賞員工搞個人英雄主義。
d)高校教學、科研和管理的各環節主要是通過信息流發生傳遞進行的,這與企業以供應鏈為核心,圍繞物流和資金流的管理模式有根本的區別。
e)高校的培養對象——學生本身又是高校中一個非常活躍的主體,這對高校的運行與管理模式不同于企業產生了決定性的影響。
2 URP結構與模型建立
URP是數字校園中各種應用系統的集成,是能夠將這些應用系統集成的基礎平臺與接口規范,它可概括為一個基礎平臺、N個應用系統和一個門戶(1+N+1)。
a)一個平臺是用于解決信息服務多元化問題,解決應用系統之間的集成、數據共享和一致性問題的公共平臺與工具,為各個應用系統的集成提供一系列的基礎服務,使得各應用系統之間能夠實現數據交換和共享,以及應用間的系統級調用和統一的用戶訪問接口,從而實現應用的即插即用。
b)N個應用是指用于高校教學、科研、管理、服務的各種應用系統,解決各類用戶對信息管理和信息服務的需求,解決業務邏輯和信息服務的需求,是校園信息化建設的支撐系統。
c)一個URP門戶,是將應用集成起來為用戶提供單一訪問點的個性化服務。
在建立URP抽象模型之前,本文在文獻[5]的基礎上提出一種校園MIS框架并指出了它們之間存在的關系,如圖1所示。正是由于這些關聯的存在,校園信息資源還需要進行更合理的規劃,也即這些功能子系統的集成。
圖1所示的關聯指的是各子系統間的資源共享、交互性和一致性等方面的關聯。關聯1表示校園信息發布平臺、OA管理系統和無線網絡管理系統三者之間的資源共享關聯。校園信息發布平臺和OA管理中的信息發布存在某些共性的功能,它們既可以利用有線IP網絡環境發布消息,也可以利用校園的無線網絡環境發布。關聯2是教務管理系統、學生工作管理系統和網絡教學平臺之間的信息一致性聯系。其中,教務管理系統中的學生信息應與學生工作管理平臺中一致,教務管理系統中的教學信息應與網絡教學平臺一致,同時學生工作管理平臺中學生網絡學習信息應與網絡教學平臺一致。關聯3是科研管理系統和國有資產管理系統之間的交互性聯系,這種聯系體現在科研項目經費的有效利用和管理上。隨著新項目的立項和老項目的驗收,會在兩種管理系統之間進行數據的讀寫等交互性操作。因而,不但在校園MIS中要解決各個功能模塊的信息共享問題,還要解決與其他應用系統之間的交互問題。通過對圖1所示的校園MIS功能結構進行模型抽取,建立一種“N+(0/1)+N”模型,具體如圖2所示。
在傳統的校園MIS中N個子系統獨立工作,缺少交互,圖1在傳統校園MIS功能的基礎上進行了簡單的關系性分析。由于在校園MIS模型中基礎支撐平臺并不是都有,用“0/1”表示不存在和存在。通過圖2的模型圖很容易看出,N個子系統在不同的區域對同一個用戶而言,如果想使用其中兩個以上的子系統(如教務管理和財務管理),他就需要去教務處和財務處兩地,這明顯浪費人力。N個DB表示可能涉及到N個數據庫管理系統,可能是Oracle、SQL Server和DB2等,這無疑也給上層的應用子系統間的互操作帶來了障礙。
3 CRP模型的結構與建立
目前,大學資源規劃URP系統“1+N+1”模型已經成為標準[1],也有人對該模型進行改進,如文獻[2]提出的“1+N+N+1”模型。本文對文獻[1,2]中所給出的URP架構功能模型也進行了抽象描述,建立了一種“1+N+1+N”模型,如圖3所示。
通過對以上兩個模型的建立可以清楚地看出大學資源規劃模型的改進之處,但是N個DB的互操作性不好以及N個子系統間的耦合粒度還比較粗,它只能解決一些簡單的交互。隨著Web技術的發展以及Web服務開發技術的成熟,要求不但能解決各子系統間的關聯度,而且還能實現多個子系統的組合,形成相應的業務流程。SOA作為一種企業架構(包括高校),與其他企業架構方法的不同之處在于可提供業務敏捷性[6]。另外,校園資源規劃中的各種子系統之間需要彼此交互并向外界提供服務支持,以便不同的業務系統之間進行交互,也要為各種業務應用程序提供對外的Web解決方案,最佳的選擇就是采用SOA框架[7],通過無狀態的業務組件把服務和業務流程封裝、部署和發布為Web服務。學校信息化是一個逐步完善和擴展的過程,各階段的應用系統在不同時期開發使用,個體差異大、設計思路不同、開發平臺各異、技術手段多樣化,高校中設計和建立全局的應用系統困難重重。
鑒于第2章介紹的高校資源與企業資源的不同特點,無論是CRP還是其集成方案的設計,都應突出考慮以下兩點:a)CRP中,學生作為學校的產品,參與自身的培養過程,并能影響CRP的執行,ERP中產品本身不可能影響自身制造過程;b)CRP不同于ERP系統中各種業務數據和業務邏輯密切相關的緊密耦合方式,而是通過一個基礎平臺,使得各個應用系統能夠以一種松散耦合的方式實現集成。每個應用程序仍然獨立運行,保持相互間的松耦合度,使得局部的變動不至于影響到整體,應用之間也不必互相依賴。同時每個應用向其他應用提供一些業務服務調用,使得其他應用可以通過這層接口調用這些服務,從而訪問該應用系統內部的信息。因此,在圖2、3以及基于SOA的應用集成框架基礎上,提出高校信息資源規劃CRP模型,提出一種CRP“1+N′(N)+1+1+N”模型,如圖4所示。
圖4所給模型在URP“1+N′+1+N”模型的數據與應用子系統之間加了一層異構數據適配層。因為目前高校的資源存放在各個不同的數據庫服務器中,這些數據庫之間可能是異構的,如何解決這種異構資源之間的共享與互操作,而“1+N′(N)+1+1+N”模型中的異構數據適配層可以實現應用子系統對異構數據源的訪問。
4 用例分析
4.1 高校網絡教學資源規劃分析
為了使整個學校離散分布的網絡教學資源能很好地整合和利用,保證在校園網絡內對每一門課都只會有一個物理存儲,至于采用的備份機制暫不考慮。各個應用系統能夠以一種松散耦合的方式實現集成,每個應用程序仍然獨立運行,保持相互間的松耦合度,使得局部的變動不至于影響到整體,應用之間也不必互相依賴。各部門的教學資源庫與校園網中心的UDDI(universal description discovery and integration,統一描述、定義和集成)中心庫之間建立一個映射表,存儲各個院系的教學資源,這些資源嚴格按照學校教學計劃中規定的教材名稱存儲,所以這個庫中的表信息很簡單:XX課程_教學資源(ID(int(16)),course_name(char(32)),location(char(32)))。其中,XX表示某課程;ID為主鍵,系統自動編號;course_name表示課程名;location表示課程物理資源所在地。這樣既不會導致增加網絡中心的存儲負載,也可以提高訪問和查詢速度。
針對高校中各學院資源的獨立性,可能存在的問題有:不利于各學院資源之間的共享;可能會使不同學院之間的資源產生冗余。對校園網絡教學資源進行重新規劃,以圖5所示的情況規劃,這樣既會帶來節約成本,也可以提高訪問速度,無須多次進入不同學院的資源庫進行查找。
4.2 異構教學資源庫視圖建立
異構教學資源庫的建立是針對圖5所示的校園資源狀況來建立對應的UDDI中心資源庫,異構教學資源庫的建立目的包括以下三方面:
a)通過數據庫達到訪問不同部門資源的目的。
b)通過構建UDDI數據庫中心使同一資源在各部門不存在多個副本,減少冗余。
c)達到學校資源的有序訪問,因為現有學生訪問某個資源可能有多個入口,也可能有多個版本,內容的無序導致學校網絡的運行也是無序的,從而會引起一些不安全因素。
異構資源庫的建立過程為首先對各學院目前獨立的異構資源進行元數據抽取,形成校園集成的UDDI中心資源庫;經由UDDI中心供上層訪問的資源是邏輯資源,再通過RDF(resource description framework,資源描述框架)進行元數據的統一描述,該描述是基于XML格式的[8];最后通過CRP中間業務邏輯層提供的資源組件開發功能將這些物理資源經邏輯描述后形成對應的Web服務,供應用層請求和用戶訪問。用戶請求可通過門戶統一集中訪問,如何由邏輯資源到供上層訪問的Web service由CRPWare服務管理層完成,邏輯資源通過CRPWare中的.NET或Java Applet組件開發技術實現。
校園資源既能保證全局數據的共享,又能保證各應用系統及其數據庫管理系統的自治,確保基于異構系統平臺實現對異構數據庫的查詢和聯合使用,構造用戶所需要的透明性的全局數據庫,提供一個獨立于特定數據庫管理系統的統一編程界面。具體來講,就是要將數據庫管理系統的不同、操作系統的不同、計算機平臺的不同或者底層網絡的不同屏蔽掉,使用戶可以將異構數據庫系統看成普通的數據庫系統,用自己熟悉的數據處理語言去訪問數據庫,如同訪問一個數據庫一樣,對其進行透明的操作。
4.3 異構教學資源組件的Web實現
以數據結構中BF/KMP字符串匹配為例(取名為DSCAIWeb組件),DSCAI組件的實現是從當前微軟、IBM和Sun公司兩大開發陣營分別進行實現。DSCAI的實現內容是基于數據結構課件資源制作中的經典的字符串匹配BF和KMP算法,如何將這兩個算法分別通過NetBeans和VS2005兩大平臺實現的Web組件開發。具體Web組件開發部件和實現如圖6所示。
5 結束語
本文首先討論了高校信息系統集成模型和URP規劃模型。在逐步分析現有的校園資源規劃模型不足的基礎上,通過研究發現,Web服務和SOA架構可以更好地設計校園資源規劃模型CRP。通過高校的課件資源組件實例的分析、異構資源庫的建立及通過NetBeans和VS2005兩種平臺實現了DSCAI Web組件,通過SOA集成框架可以很好地將