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