張運濤,梁 曦,吳建玉
(浙江水利水電??茖W(xué)校,浙江 杭州 310018)
教育事業(yè)和信息技術(shù)的飛速發(fā)展,加速了高校數(shù)字化校園的建設(shè)步伐,各大高校都在進行信息化建設(shè),然而由于缺乏統(tǒng)一規(guī)劃,高校內(nèi)不同部門或同一部門內(nèi)部大多存在多套信息系統(tǒng),有各自的數(shù)據(jù)庫和獨立的應(yīng)用程序,以致這些位置上分散的獨立系統(tǒng)形成了所謂的“信息孤島”.高校畢業(yè)實踐綜合管理環(huán)節(jié)時空跨度比較大,信息來源多,急需建立完善的系統(tǒng)進行信息化管理.因此,如何有效地整序、共享、整合現(xiàn)有信息資源,開發(fā)出具有松耦合、業(yè)務(wù)敏捷,能很好地與高校其他信息系統(tǒng)的集成的畢業(yè)實踐管理系統(tǒng)成為當(dāng)前研究熱點.
SOA(service-oriented architecture)即面向服務(wù)的體系架構(gòu),有很多定義,但基本上可以分為兩類:一類認(rèn)為SOA主要是一種架構(gòu)風(fēng)格;另一類認(rèn)為SOA是包含運行環(huán)境、編程模型、架構(gòu)風(fēng)格和相關(guān)方法論等在內(nèi)的一整套新的分布式軟件系統(tǒng)構(gòu)造方法和環(huán)境,涵蓋服務(wù)的整個聲明周期:建模—開發(fā)—整合—部署—運行—管理.SOA的關(guān)鍵是服務(wù)的概念,W3C將服務(wù)定義為:服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果[1].
SOA的體系結(jié)構(gòu)包括3個角色:服務(wù)提供者,服務(wù)請求者,服務(wù)注冊中心,見圖1.角色間通過使用3種操作進行協(xié)作:Publish(發(fā)布)操作,Find(查找)操作和Bind(綁定)操作[2].
圖1 SOA體系結(jié)構(gòu)圖
其中,Web服務(wù)描述語言(即WSDL)用于描述服務(wù);簡單對象訪問協(xié)議(即SOAP)作為傳輸層,用來在消費者和服務(wù)提供者之間傳送消息;統(tǒng)一描述發(fā)現(xiàn)和集成(即UDDI)用來注冊和查找服務(wù).一個消費者可以在UDDI注冊表查找服務(wù),取得服務(wù)的WSDL描述,然后通過SOAP來調(diào)用服務(wù).而SOA最經(jīng)典的實現(xiàn)模型就是建立在三種角色的交互上,分別是服務(wù)的提供者、服務(wù)請求者和服務(wù)注冊中心,而交互的內(nèi)容包括發(fā)布、查找和綁定三個操作.服務(wù)提供者開發(fā)一個通過網(wǎng)絡(luò)可以被訪問的服務(wù),然后將服務(wù)的描述注冊到服務(wù)注冊中心或者發(fā)送給服務(wù)請求者;服務(wù)請求者使用查找操作從本地或服務(wù)的注冊中心得到服務(wù)描述,并使用服務(wù)描述中的信息與服務(wù)的提供者實現(xiàn)綁定,調(diào)用其中的操作.一個服務(wù)既可以是提供者也可以是請求者.
SOA具體的實現(xiàn)有很多,包括Web Services、Session Bean、JINI等.但隨著 Web Services技術(shù)越來越被重視,其已經(jīng)成為實現(xiàn)SOA的主要構(gòu)架技術(shù).它是建立在開放標(biāo)準(zhǔn)和獨立于平臺協(xié)議基礎(chǔ)之上的分布計算單元.Web Services用XML進行數(shù)據(jù)的描述和交換,使用SOAP協(xié)議在服務(wù)提供者與服務(wù)消費者之間進行通信,通過WSDL協(xié)議定義服務(wù)接口,使用UDDI協(xié)議進行Web Services注冊和查找.這些特性使得Web Services成為目前實現(xiàn)SOA的最好方式.而Web Services以分散的形式存在于不同的系統(tǒng)中.
由于人員分散,時間和空間的跨度比較大,畢業(yè)實踐環(huán)節(jié)相對于高校其他的管理環(huán)節(jié)而言,實現(xiàn)信息化管理的需求更為迫切.畢業(yè)實踐綜合管理平臺涉及的信息資源相對比較多,部分信息來源于高?,F(xiàn)有信息資源管理系統(tǒng),例如人力資源管理系統(tǒng)、教學(xué)管理系統(tǒng)、財務(wù)管理系統(tǒng)、學(xué)生管理系統(tǒng)等,但這些信息系統(tǒng)也普遍存在著諸多不足:(1)資源信息及系統(tǒng)的規(guī)劃性不強;(2)資源信息數(shù)據(jù)的共享性差.每個部門的系統(tǒng)都有相應(yīng)的數(shù)據(jù)環(huán)境,而由于自身需求量身定制的數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)、標(biāo)準(zhǔn)不一致.數(shù)據(jù)轉(zhuǎn)換復(fù)雜,增加了數(shù)據(jù)共享的難度,冗余數(shù)據(jù)無法同步更新;(3)軟件復(fù)用困難.各系統(tǒng)主要是以緊密耦合的方式把模塊化的業(yè)務(wù)邏輯組合而成,這些業(yè)務(wù)邏輯在其它信息系統(tǒng)中無法被重用;(4)異構(gòu)平臺環(huán)境.操作系統(tǒng)有基于Unix的,也有基于Windows的,系統(tǒng)架構(gòu)和開發(fā)平臺有C/S結(jié)構(gòu)基于Delphi、VB等開發(fā)的,也有B/S結(jié)構(gòu)基于.NET、JAVA開發(fā).因此需要通過SOA架構(gòu)整合現(xiàn)有資源實現(xiàn)畢業(yè)實踐管理平臺的高效開發(fā).
高校畢業(yè)實踐綜合管理系統(tǒng)的使用角色主要分為畢業(yè)生、指導(dǎo)老師、輔導(dǎo)員、班主任、行政秘書、教學(xué)秘書、教研室主任、系部領(lǐng)導(dǎo)、學(xué)校領(lǐng)導(dǎo)等.他們分布在不同的學(xué)院,不同的部門,通過Intranet或Internet訪問高校畢業(yè)實踐綜合管理系統(tǒng),這些用戶的使用的軟硬件環(huán)境都不盡相同.為了滿足各類人員的需求,構(gòu)建一個與平臺無關(guān)的高校畢業(yè)實踐綜合管理系統(tǒng)是非常必要的,而基于SOA的畢業(yè)實踐綜合管理系統(tǒng)可以很好地滿足這種要求.
高校畢業(yè)實踐綜合管理系統(tǒng)主要功能按角色劃分見表1.
通過分析現(xiàn)有業(yè)務(wù)流程,可以更充分了解此系統(tǒng)的具體功能細(xì)節(jié),也是進行服務(wù)粒度設(shè)計的關(guān)鍵過程,為搭建共享信息平臺提供分析基礎(chǔ).高校畢業(yè)實踐綜合管理系統(tǒng)的主要業(yè)務(wù)流程包括開題報告提交及審核、實習(xí)日志的提交及審核、論文及相關(guān)資料的提交審核等等.這些業(yè)務(wù)流程有很大相似性,因此我們可以將提交過程和逐級審核過程分別定義為服務(wù),由系統(tǒng)自動控制,如果將來由于管理的變革,在提交材料類別和流程上發(fā)生改變,也只需改變服務(wù)調(diào)用的方式和順序.通過對老師指導(dǎo)日志提交、任務(wù)書下達、學(xué)生提交材料的批閱等業(yè)務(wù)流程進行分析可以發(fā)現(xiàn)共同的流程變化,即這些流程中表現(xiàn)出的數(shù)據(jù)最終導(dǎo)致老師指導(dǎo)業(yè)績的變化,這樣就可將共同變化的內(nèi)容抽象為一個服務(wù),在統(tǒng)計老師業(yè)績時候可以利用服務(wù)的重用減少代碼的編寫量.
表1 高校畢業(yè)實踐綜合管理系統(tǒng)角色功能表
雖然,本文以SOA的思想設(shè)計整個畢業(yè)實踐綜合管理平臺,但是考慮到系統(tǒng)效率性能,并不是所有的組件都是用WebServices實現(xiàn).在此架構(gòu)采用面向?qū)ο蟮南到y(tǒng)分析方法和SOA相結(jié)合.面向?qū)ο蟮脑O(shè)計劃分該平臺中各個層次的對象,結(jié)構(gòu)清晰、功能模塊劃分獨立封裝,更好易于開發(fā)和維護.SOA的架構(gòu)設(shè)計主要針對平臺的業(yè)務(wù)的設(shè)計.
此圖是表述了畢業(yè)實踐綜合管理平臺的系統(tǒng)架構(gòu).
本系統(tǒng)采用.NET平臺架構(gòu)構(gòu)建,在系統(tǒng)邏輯上分為以下幾個部分.
數(shù)據(jù)訪問層.此層主要負(fù)責(zé)與平臺數(shù)據(jù)中心進行交互,統(tǒng)一管理和建立系統(tǒng)與數(shù)據(jù)庫的數(shù)據(jù)連接,統(tǒng)一的事務(wù)處理,維護數(shù)據(jù)庫連接.
數(shù)據(jù)實體層.主要根據(jù)具體業(yè)務(wù)抽象的對象實體,實現(xiàn)系統(tǒng)業(yè)務(wù)中的數(shù)據(jù)實體的表現(xiàn)方式,是系統(tǒng)各層之間的數(shù)據(jù)交換載體.
圖2 畢業(yè)實踐綜合管理平臺系統(tǒng)架構(gòu)
實體控制層.實現(xiàn)業(yè)務(wù)數(shù)據(jù)實體對象持久化的功能(包括數(shù)據(jù)的增刪查改),實現(xiàn)常規(guī)針對數(shù)據(jù)業(yè)務(wù)的各種數(shù)據(jù)操作,與業(yè)務(wù)數(shù)據(jù)實體層相結(jié)合實現(xiàn)最小的業(yè)務(wù)數(shù)據(jù)訪問單元.
業(yè)務(wù)規(guī)則層.完成具體應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯,為Web服務(wù)中心庫提供業(yè)務(wù)操作獨立完整的業(yè)務(wù)邏輯封裝.
外部服務(wù)框架.這部分組件主要是為其他外部平臺提供相應(yīng)的基礎(chǔ)服務(wù)(如:安全中心、日志中心、公共函數(shù)庫、系統(tǒng)配置、系統(tǒng)信息編碼庫等).
Web服務(wù)中心庫.這層是整個平臺的相對比較核心的部分,主要是采用SOA的架構(gòu)設(shè)計,實現(xiàn)針對具體系統(tǒng)應(yīng)用的抽象、獨立、松耦合的獨立的業(yè)務(wù)邏輯封裝服務(wù),是整個SOA的核心層,它承上啟下,對上響應(yīng)業(yè)務(wù)模型,對下調(diào)用相關(guān)組件群完成業(yè)務(wù)需求,形成“業(yè)務(wù)驅(qū)動服務(wù)、服務(wù)驅(qū)動技術(shù)”的SOA事務(wù)處理格局.服務(wù)可以根據(jù)粒度分層.雖然細(xì)粒度提供了更多的靈活性,但同時也意味著交互的模式可能更為復(fù)雜.粗粒度降低了交互復(fù)雜性,但敏捷性卻下降.一般對于與外部系統(tǒng)的信息集成盡量采用粗力度、對于平臺內(nèi)部可以采用細(xì)力度增加靈活性.
業(yè)務(wù)外觀層.針對具體的系統(tǒng)應(yīng)用可視業(yè)務(wù)邏輯的外觀界面封裝,為Web應(yīng)用表現(xiàn)層提供業(yè)務(wù)封裝的界面控件.
應(yīng)用表現(xiàn)層.這一層利用ASP.NET和AJAX技術(shù)構(gòu)建最終用戶使用的界面Web展現(xiàn)層.
適配器.實現(xiàn)畢業(yè)實踐綜合管理平臺數(shù)據(jù)中心和其他非平臺系統(tǒng)、其他數(shù)據(jù)中心的數(shù)據(jù)交換或者同步,也是該平臺連接信息孤島、實現(xiàn)信息共享的一個核心組件[3].
本文在研究信息系統(tǒng)開發(fā)技術(shù)的基礎(chǔ)上,利用系統(tǒng)整合架構(gòu)SOA及先進的用戶體驗技術(shù)AJAX,設(shè)計了高校畢業(yè)實踐綜合管理系統(tǒng)方案,該系統(tǒng)與其他管理系統(tǒng)的差別在于基于SOA架構(gòu),具有非常優(yōu)秀的擴展性和集成性,使得該系統(tǒng)可以與既有的系統(tǒng)進行無縫整合,防止重復(fù)開發(fā),又可以為未來進一步開發(fā)奠定良好的基礎(chǔ).但對于真正實現(xiàn)一個高校畢業(yè)實踐綜合管理系統(tǒng)還有很多工作需要做,本文提出的體系結(jié)構(gòu)以及設(shè)計思路可以在具體實現(xiàn)過程中提供一定的參考價值.
[1]吳加娥,王世文.基于SOA的高校人事管理系統(tǒng)的研究[J].計算機應(yīng)用與軟件,2009,26(5):172-173,212.
[2]陳 堅,景 紅.基于SOA的高校信息系統(tǒng)集成研究[J].軟件導(dǎo)刊,2010,9(2):67-69.
[3]梁 剛.基于SOA架構(gòu)的電信綜合信息應(yīng)用平臺[D].大連:大連理工大學(xué),2009.