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