李伯偉
齊魯師范學(xué)院計(jì)算機(jī)系 山東 濟(jì)南 250013
隨著網(wǎng)絡(luò)的發(fā)展,對(duì)管理信息系統(tǒng)的要求也在提升。而以傳統(tǒng)HTML開發(fā)的管理軟件由于控件和處理機(jī)制的原因存在諸多不足,客戶端使用界面單調(diào),不夠美觀;在多媒體、文字等方面整合性不足;頁(yè)面跳轉(zhuǎn)、刷新時(shí)數(shù)據(jù)交換量大,響應(yīng)緩慢。AJAX雖然采用異步數(shù)據(jù)傳輸,讓用戶瀏覽頁(yè)面時(shí)不用刷新整個(gè)頁(yè)面,但是AJAX開發(fā)難度高,而且對(duì)不同的瀏覽器支持效果也有差別,無(wú)形中增加了開發(fā)的復(fù)雜性和測(cè)試的難度[1]。Silverlight是設(shè)計(jì)、開發(fā)和發(fā)布有多媒體體驗(yàn)與富互聯(lián)網(wǎng)應(yīng)用程序(Rich Internet Application,RIA)的網(wǎng)絡(luò)交互程序,是提升互聯(lián)網(wǎng)用戶體驗(yàn)的一項(xiàng)Web技術(shù)。Silverlight技術(shù)的出現(xiàn)將桌面豐富的用戶界面體驗(yàn)帶到了互聯(lián)網(wǎng)。Silverlight整合了一系列工具、技術(shù)和服務(wù),使創(chuàng)建富互聯(lián)網(wǎng)應(yīng)用程序的工作更加輕松,不再受限于瀏覽器所能實(shí)現(xiàn)的功能,而是可以實(shí)現(xiàn)新的RIA平臺(tái)所支持的各種交互行為,是一種跨瀏覽器、跨平臺(tái)的.NET Framework實(shí)現(xiàn),用于為Web生成和提供下一代媒體體驗(yàn)和豐富的交互式應(yīng)用程序。Silverlight統(tǒng)一了服務(wù)器、Web和桌面的功能,統(tǒng)一了托管代碼和動(dòng)態(tài)語(yǔ)言、聲明性編程和傳統(tǒng)編程以及Windows Presentation Foundation(WPF)的功能。通過(guò) Silverlight和 ASP.Net無(wú)障礙集成及其提供的強(qiáng)大工具使得該系統(tǒng)在瀏覽器上呈現(xiàn)出全新的效果。
教師招聘管理系統(tǒng)主要實(shí)現(xiàn)了招聘信息管理、考場(chǎng)信息管理,系統(tǒng)信息管理等功能,不同的用戶有不同的權(quán)限,進(jìn)行不同的管理工作,如圖1所示。
圖1 系統(tǒng)功能示意圖
(1)開發(fā)工具:Visual Studio 2010
(2)數(shù)據(jù)庫(kù):Microsoft SQL Server 2005
(3)Microsoft Silverlight 4 Tools for Visual Studio 2010
系統(tǒng)數(shù)據(jù)庫(kù)主要包括:招聘學(xué)科表(含學(xué)科名稱、學(xué)科所考試卷類型、初試所占比例、筆試所占比例、綜合考察所占比例、個(gè)人綜合水平考核所占比例)考點(diǎn)信息表(含考點(diǎn)代碼、名稱、地址、聯(lián)系電話、所設(shè)考場(chǎng)數(shù)目),用戶設(shè)定表(用戶名、密碼、角色),考生報(bào)名信息表(含考生自身信息、報(bào)考信息、考場(chǎng)信息等)
圖2是系統(tǒng)的主畫面,用戶可根據(jù)不同的需要選擇不同的功能,例如招聘學(xué)科設(shè)定功能,可以雙擊進(jìn)行編輯,也可以點(diǎn)右鍵進(jìn)行追加和刪除,見圖3。
圖2 系統(tǒng)主畫面
圖3 招聘學(xué)科設(shè)定子畫面
系統(tǒng)包括客戶端Silverlight應(yīng)用程序、服務(wù)器端應(yīng)用程序。表現(xiàn)層利用異步調(diào)用通過(guò)WCF與服務(wù)器進(jìn)行通信。它使用WCF服務(wù)引用,并依照服務(wù)的操作約定和數(shù)據(jù)約定,實(shí)現(xiàn)Silverlight應(yīng)用程序與服務(wù)的通信。數(shù)據(jù)約定公開了服務(wù)器應(yīng)用程序中的實(shí)體類結(jié)構(gòu)[2]。圖4顯示的是此體系結(jié)構(gòu)模型。
圖4 系統(tǒng)體系結(jié)構(gòu)
利用微軟提供的ADO.NET實(shí)體數(shù)據(jù)模型[3],創(chuàng)建實(shí)體模型見圖5,在該實(shí)體模型創(chuàng)建的同時(shí),也自動(dòng)創(chuàng)建了數(shù)據(jù)訪問(wèn)層,減少了編程的代碼量。對(duì)于業(yè)務(wù)邏輯層,可以新建一個(gè)Domain Service Class,如圖6所示。Domain Services是Silverlight 4新增的技術(shù),是向客戶端公開數(shù)據(jù)訪問(wèn)層的WCF Services。當(dāng)我們創(chuàng)建一個(gè)domain services實(shí)例時(shí),就指定了想要公開的實(shí)體類,以及這個(gè)domain Services所允許的數(shù)據(jù)操作。通過(guò)該服務(wù)可以極少量代碼實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢、更新、刪除操作。
圖5 實(shí)體數(shù)據(jù)模型建立示意圖
在圖6創(chuàng)建jszpDomainService后,Silverlight項(xiàng)目會(huì)自動(dòng)生成名為jszpDomainContext的類,通過(guò)使用該類,客戶端以異步調(diào)用方式與上述服務(wù)器端進(jìn)行數(shù)據(jù)的交互,返回的實(shí)例則可直接綁定到待顯示的DataGrid控件的ItemsSource屬性上,結(jié)果會(huì)自動(dòng)顯示在畫面上。相關(guān)代碼如下:
圖6 Domain Service Class建立示意圖
本文通過(guò)WCF與Silverlight的結(jié)合,以C#為開發(fā)語(yǔ)言,開發(fā)了教師招聘管理系統(tǒng),實(shí)現(xiàn)了對(duì)報(bào)名前招聘學(xué)科的設(shè)定、報(bào)名結(jié)束后對(duì)報(bào)名人員信息的修正、考試前考場(chǎng)的預(yù)測(cè)及設(shè)定、考場(chǎng)內(nèi)考生的隨機(jī)編排、編排后考場(chǎng)標(biāo)牌、桌貼、考生照片的打印等。該系統(tǒng)實(shí)現(xiàn)界面無(wú)刷新,通過(guò)使用C#程序顯著提高了程序開發(fā)效率和用戶體驗(yàn)性,因而在當(dāng)前的互聯(lián)網(wǎng)應(yīng)用中具有很好的實(shí)用價(jià)值和研究意義。
[1]譚淇.基于WCF服務(wù)框架與Silverlight的Web應(yīng)用研究[J].計(jì)算機(jī)與現(xiàn)代化,2011,(01):79-81.
[2]程國(guó).Silverlight和WCF的媒體管理系統(tǒng) [J].電腦編程技巧與維護(hù),2009,(04):48-50.
[3]丁士峰.精通Silverlight RIA 開發(fā)技術(shù)詳解[M].北京:人民郵電出版社,2008.