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