吳詩豪
【摘 要】面向服務體系結構(SOA)是網絡飛速發展和現代企業追求高效益環境下的一種新的系統架構。本文在概述SOA架構理論的基礎上,重點研究了基于SOA的校園信息管理系統設計與實現,對實現一體化的數字化校園有重要的參考意義。
【關鍵詞】SOA架構 校園信息管理 系統設計
1 引言
在信息化高速發展的背景下,面向服務的體系結構應運而生,基于SOA體系結構的開發模式與以應用為中心的一體化應用程序相比具有高度開發性、可重用性等特點。校園信息管理系統需要從整體上變革系統布局,采用開放的技術標準,建立新的構架,在由傳統構架轉到新構架過程中,需要采用一些新的、開放的技術規范和方法。如何合理地把這些新的技術規范和方法應用到校園信息管理系統的流程之中,一直是被校園信息管理者廣泛關注的課題。
2 SOA架構的理論概述
面向服務的體系結構是一個新的組件模型,它將應用程序的不同功能單元(稱為服務),通過功能單元之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互。可以從以下兩個方面具體闡述SOA理念。
首先,在軟件系統架構方面。SOA不是一種語言,也不是一種具體的技術而是一種軟件系統架構,它嘗試給出在特定環境下推薦采用的一種架構,它與很多己有的軟件技術比如面向對象技術,是互補的而非互斥的。它們分別面向不同的應用場景,用來滿足不同的特定需求。
其次,在SOA的使用范圍方面。SOA并不是包治百病的靈藥,它最主要的應用場合在于解決當下的不同商業應用之間的業務集成問題。業務集成問題包括:大量異構系統并存;計算機硬件工作方式不同、操作系統不同、編程語言也不同;頻繁的數據傳輸仍然速度緩慢并且不穩定、版本升級無法完成。SOA體系結構中的組件必須具有上述一種或多種角色,角色之間的關系如圖2-1所示。
在這些角色之間使用了三種操作:
(1)發布(Publish):使服務提供者可以向服務代理注冊自己的功能及訪問接口。
(2)查找(Find):使服務請求者可以通過服務代理查找特定種類的服務,這些服務都是由上述中的服務提供者給出的。
(3)綁定(Bind):使服務請求者能夠真正使用服務提供者。三種操作互相作用,服務提供者向服務代理發布服務,服務請求者通過服務代理查找所申請的服務,并綁定到這些服務上。
3 基于SOA的校園信息管理系統設計
3.1系統的功能設計
校園信息管理系統是一個龐大而又復雜的管理系統,在設計系統總體方案時,既要整合現有的軟、硬件資源,實現這些不同平臺的應用系統之間的數據交換、共享和集成,又要考慮系統的可擴展性,當用戶需求改變時,系統功能應該能夠實現方便地進行擴展。經過深入的用戶需求分析,確定校園信息管理系統的功能模塊包括:
(1)教務管理:教務管理系統包含注冊管理、學籍管理、教學計劃、選課管理、成績管理、智能排課、用戶管理、畢業審查、旁聽系統管理、四六級管理、科研管理等多個模塊。
(2)財務管理包括預算管理、科研項目管理、學雜費管理、貸學金管理,帳務處理,工資發放管理等功能。
(3)圖書管理項目有:圖書期刊入庫管理、借書證管理、圖書期刊借閱歸還管理、圖書期刊借閱查詢管理、圖書期刊歸還查詢管理、圖書期刊報廢管理、圖書期刊盤點管理、圖書期刊查詢。
(4)辦公自動化系統:包括用戶登錄和注冊模塊、用戶和角色管理模塊、用戶考勤及其設置模塊、我的文檔管理模塊、短信管理平臺模塊、以及公文流轉模塊等。
(5)學生管理系統包括成績信息管理、課程信息管理、班級信息管理和學籍信息管理功能。
(6)網絡教學系統:包括數據庫管理模塊、基本業務模塊、信息查詢瀏覽模塊等。
3.2系統解決方案設計
本系統基于SOAP和Web services,實現了各個分布式系統問的跨平臺交互,各個子系統是分散藕合的,這樣就克服了傳統的緊密藕合的分布式系統缺點,達到了良好的可擴展性,可以滿足靈活多變的業務邏輯需求。主要包括兩部分:
(1)各個分院的內部應用系統,可以基于傳統的應用系統模型來實現。
(2)跨平臺數據共享與交換問題、系統安全問題、可擴展性等問題,根構造一種基于XML Web services的軟件體系結構模型和綜合解決方案,這樣可以方便地建立基于XML Web services的信息集成系統。
4 基于SOA的校園信息管理系統實現
在本文研究的校園信息管理系統中,客戶程序包含在系統的前臺Web服務器程序中。通過SOA技術,從數據庫schooldat.mdb中提取更新數據,在本地檢查數據是否冗余,如果沒有冗余,則本地數據庫中添加數據。實現的部分關鍵代碼如下所示:
//檢查并更新課程信息
bool CheckData()
//生成代理類實例
……
schoo1dataProxy.schooldata sd = new schooldataProxyschooldata()
//通過調用遠程方法返回的數據集取得數據
DataSet ds = sd.finddata();
foreach(DataRow r in ds.Tables[0].Rows) {
……}
//檢查并更新數據}
5小結
總之,與傳統軟件系統相比,SOA強調和突出的是“使用者”,它對于用戶而言成了名符其實的“服務”。這是一個里程碑式的轉變。以往的校園信息管理系統更多的是一種技術,而SOA架構下的校園信息管理系統的服務是完好封裝的,可以通過標準接口多次調用的。對使用者而言。因此,基于SOA體系構建新一代信息管理系統就成為趨勢。
參考文獻:
[1]李藏.面向服務架構的應用集成平臺的研究與開發[D].華中科技大學學位論文,2005:23-25.
[2]吳家菊,劉剛,席傳裕.基于Web服務的面向服務架構研究[J].現代電子技術,2007:14-17.
[3]林磊.管理信息系統中基于角色的權限控制[J].計算機應用研究.(作者單位:西北民族大學〈榆中校區〉計算機科學與信息工程學院)