【摘 要】本文結(jié)合學(xué)院軟件技術(shù)專業(yè)的實(shí)際情況,詳細(xì)介紹了一種基于WebService在線考試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),并對(duì)WebService理論和技術(shù)進(jìn)行了著重研究和探討。論文從軟件技術(shù)專業(yè)學(xué)生的實(shí)際考試需求出發(fā),提出了基于WebService的在線平臺(tái)模型,并對(duì)在線考試平臺(tái)應(yīng)具備的主要功能模塊進(jìn)行了詳細(xì)闡述。
【關(guān)鍵詞】WebService 中間件 考試平臺(tái)
隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,以網(wǎng)絡(luò)為基礎(chǔ)的在線考試系統(tǒng)平臺(tái)在越來越多的考試中被使用。但大部分的考試系統(tǒng)由于缺乏統(tǒng)一的格式標(biāo)準(zhǔn)和技術(shù)手段,沒有統(tǒng)一的試題資源庫(kù)設(shè)計(jì)和相關(guān)開發(fā)規(guī)范,在不同的考試系統(tǒng)中使用不同的數(shù)據(jù)存儲(chǔ)方式,各個(gè)系統(tǒng)各自設(shè)計(jì)獨(dú)立的試題資源系統(tǒng),這將直接導(dǎo)致這些試題資源內(nèi)容難以被共享和重用。由此,本文利用WebService和XML技術(shù)為我系軟件技術(shù)專業(yè)構(gòu)建一個(gè)分布式、多層次、信息共享、跨平臺(tái)和代碼重用的課程在線考試平臺(tái)。
一、WebService技術(shù)
WebService平臺(tái)是一套定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性的標(biāo)準(zhǔn),是解決應(yīng)用程序之間相互通信操作的接口。它采用簡(jiǎn)單易懂的標(biāo)準(zhǔn)Web協(xié)議作為組件協(xié)同描述和表示層界面描述規(guī)范,通過SOAP、WSDL、XML、UDDI等技術(shù)手段進(jìn)行開發(fā)和運(yùn)行。此外,WebService接口具有良好的跨平臺(tái)性,開發(fā)者可以用任何喜歡的編程語言,在任何自己喜歡的平臺(tái)上進(jìn)行WebService開發(fā),只要訪問請(qǐng)求可以通過這些WebService接口進(jìn)行查詢和訪問就行。
下面簡(jiǎn)單介紹下與WebService相關(guān)的幾個(gè)關(guān)鍵技術(shù)。
(一)XML。XML(Extensible Markup Language)全稱為可擴(kuò)展標(biāo)記語言,它具有形式和內(nèi)容分離的特點(diǎn),是目前Web應(yīng)用領(lǐng)域的一種通用數(shù)據(jù)標(biāo)準(zhǔn)。WebService的通訊基礎(chǔ)是通過XML進(jìn)行消息傳遞,其傳遞是基于HTTP之類的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議,這對(duì)任何編程語言、軟件平臺(tái)和中間件來說都是很容易實(shí)現(xiàn)的通訊機(jī)制,使得系統(tǒng)的協(xié)同工作能力變得更加輕松和方便。
(二)SOAP。SOAP(Simple Object Access Protocal)是簡(jiǎn)單對(duì)象訪問協(xié)議的簡(jiǎn)稱,它定義了傳遞XML數(shù)據(jù)時(shí)的統(tǒng)一方式和使用HTTP作為底層通訊協(xié)議時(shí)執(zhí)行遠(yuǎn)程調(diào)用的方法,是一種基于XML的協(xié)議。SOAP可以在不同的操作系統(tǒng)和不同的體系結(jié)構(gòu)中進(jìn)行通訊。
(三)WSDL。WSDL(WebService Description Language)是WebService的描述語言,它定義了WebService以及如何被調(diào)用。WSDL文檔可以用于動(dòng)態(tài)發(fā)布、查找和綁定WebService。
(四)UDDI。UDDI(Universal Description,Discovery and Integration)是通用描述、發(fā)現(xiàn)和集成協(xié)議的簡(jiǎn)稱,它提供了一套對(duì)WebService的標(biāo)準(zhǔn)化描述和動(dòng)態(tài)發(fā)布、查找、調(diào)用的機(jī)制,是分布式WebService的信息注冊(cè)規(guī)范。WebService可以按照這個(gè)規(guī)范進(jìn)行注冊(cè)并提供查詢服務(wù),我們開發(fā)的各個(gè)不同的在線考試系統(tǒng)可以通過UDDI機(jī)制發(fā)現(xiàn)并集成不同的WebService,從而減少系統(tǒng)的重復(fù)開發(fā),達(dá)到共享和寫作的目的。
(五)WebService技術(shù)的優(yōu)勢(shì)和特點(diǎn)。WebService的優(yōu)勢(shì)和特點(diǎn)主要表現(xiàn)如下:首先,WebService的優(yōu)點(diǎn)主要體現(xiàn)在它的平臺(tái)無關(guān)性和互操作性兩方面,WebService是使用SOAP協(xié)議來調(diào)用和回調(diào)的,開發(fā)者不用再為開發(fā)平臺(tái)不同和協(xié)議的不同而建立不同的連接程序了,因?yàn)镾OAP協(xié)議本身就是與開發(fā)平臺(tái)無關(guān)的。另外,不同的WebService之間可以進(jìn)行交互操作體現(xiàn)出其良好的互操作性。其次,WebService基于HTTP協(xié)議通過XML進(jìn)行通訊的,由于目前絕大部分應(yīng)用都是基于HTTP協(xié)議的,并且XML也已經(jīng)被廣泛的使用,所以只要支持這兩種技術(shù)的平臺(tái)都可以承載和訪問WebService,實(shí)現(xiàn)系統(tǒng)的最高可以集成性。還有,開發(fā)者可以通過使用WebService技術(shù)實(shí)現(xiàn)網(wǎng)頁(yè)的無刷新與服務(wù)器交互;使用SOAP、XML等技術(shù)將使得開發(fā)難度和成本降低;使用HTTP協(xié)議通訊能夠很方便穿透防火墻等特性也都是在在線考試系統(tǒng)中應(yīng)用WebService技術(shù)的優(yōu)勢(shì)。
二、構(gòu)建系統(tǒng)平臺(tái)模型
本文是以我院軟件技術(shù)專業(yè)的課程考試為例,按照該專業(yè)的應(yīng)用需求對(duì)在線考試系統(tǒng)的模型進(jìn)行構(gòu)建。經(jīng)過研究分析,我們?cè)O(shè)計(jì)的在線考試系統(tǒng)模型主要包括考試綜合管理接口(對(duì)管理員、學(xué)生帳號(hào)信息,系統(tǒng)配置信息的管理)、試卷管理接口、題庫(kù)管理接口、組卷接口、登錄和身份驗(yàn)證接口、系統(tǒng)信息加載接口、試卷評(píng)分接口,文件上傳接口和數(shù)據(jù)庫(kù)訪問接口等。
系統(tǒng)模型邏輯結(jié)構(gòu)如圖1所示:
主要功能模塊說明如下:
(一)考試綜合管理。本模塊主要包括系統(tǒng)管理員管理、學(xué)生帳號(hào)信息管理、系統(tǒng)配置信息管理等功能,是整個(gè)考試系統(tǒng)的綜合管理模塊。
(二)試卷管理。該模塊主要負(fù)責(zé)的是考生試卷信息的綜合管理,包括保存,查詢等功能。
(三)題庫(kù)管理。題庫(kù)管理主要包括考試系統(tǒng)試題的添加、修改、刪除、查詢等操作。
(四)組卷。組卷是很重要的一個(gè)模塊,該模塊主要負(fù)責(zé)按照系統(tǒng)提供的信息進(jìn)行組卷,其中智能組卷包括按照難度、分值、考試內(nèi)容等進(jìn)行綜合評(píng)定隨機(jī)組卷。
(五)登錄和身份驗(yàn)證??忌?、監(jiān)考老師和管理員的帳號(hào)信息驗(yàn)證都要通過這個(gè)模塊的接口去訪問數(shù)據(jù)庫(kù),信息有效則進(jìn)入系統(tǒng),無效則返回登錄界面。
(六)試卷評(píng)分??忌峤煌昕荚嚁?shù)據(jù)后,系統(tǒng)將試卷信息轉(zhuǎn)交給試卷評(píng)分模塊進(jìn)行綜合評(píng)定,返回評(píng)定結(jié)果給調(diào)用者。
(七)文件上傳。文件上傳模塊主要負(fù)責(zé)的是考試結(jié)束后考試數(shù)據(jù)或者作品的上傳,該接口的調(diào)用只需要請(qǐng)求者傳入文件信息和保存目錄即可。
(八)系統(tǒng)信息加載。該模塊主要負(fù)責(zé)的是考試系統(tǒng)的系統(tǒng)信息加載和配置。
三、系統(tǒng)架構(gòu)研究與設(shè)計(jì)
基于以上系統(tǒng)的功能模塊,我們?cè)趯?duì)系統(tǒng)進(jìn)行設(shè)計(jì)的時(shí)候應(yīng)當(dāng)隨時(shí)考慮系統(tǒng)模塊的重用性,越多的組件被重用,那么表現(xiàn)出來的就是開發(fā)代價(jià)越少、系統(tǒng)維護(hù)成本越低、系統(tǒng)可擴(kuò)展性越好。以WebService方式發(fā)布一些系統(tǒng)中提供公共服務(wù)、業(yè)務(wù)規(guī)則的應(yīng)用,我們只需要指定訪問權(quán)限,哪些是提供公開訪問的,哪些是私有即可。
上圖2中各個(gè)WEB服務(wù)即為在線考試系統(tǒng)所提供的服務(wù),也就是圖1中左邊的各個(gè)功能模塊接口,這些服務(wù)采用多層思想進(jìn)行設(shè)計(jì),提供WebService接口,在UDDI中進(jìn)行注冊(cè),同時(shí)可以整合應(yīng)用服務(wù)提供的WebService形成新的業(yè)務(wù)邏輯。在線考試系統(tǒng)客戶端訪問層可以采用任意支持HTTP協(xié)議和XML技術(shù)的平臺(tái)進(jìn)行開發(fā),具有完全的跨平臺(tái)性。
整個(gè)系統(tǒng)的工作流程為:應(yīng)用服務(wù)器收到訪問者的請(qǐng)求后,先到UDDI注冊(cè)中心查詢是否存在該服務(wù),如果存在則通過WSDL綁定定位到提供服務(wù)的應(yīng)用服務(wù),調(diào)用相關(guān)WebService進(jìn)行處理,整個(gè)訪問過程都是基于SOAP交互進(jìn)行的。最后,不同應(yīng)用服務(wù)的WebService在應(yīng)用服務(wù)器中進(jìn)行整合,以Web頁(yè)面的形式返回給訪問者。
四、結(jié)論
本系統(tǒng)借助我院校園網(wǎng),使用WebService技術(shù)構(gòu)建軟件架構(gòu),按照軟件技術(shù)專業(yè)實(shí)際課程考試的需求進(jìn)行設(shè)計(jì)與開發(fā)。該考試系統(tǒng)投入使用后,克服了以前軟件技術(shù)專業(yè)課程考試的一些缺點(diǎn),大大提高了考試的工作效率和管理水平,解決了一些實(shí)際問題,達(dá)到了預(yù)期的研究目的。
參考文獻(xiàn):
[1]Vincent Ryan(美).Web服務(wù)的革新[J].CIO Today Magazine,2010(9):90-95
[2]柴曉路.架構(gòu)WebService為什么需要Web服務(wù)[G].IBM:deverloperWorks,2009
[3]穆丹.集成JavaEE架構(gòu)構(gòu)建MIS系統(tǒng)的研究與實(shí)現(xiàn)[D].長(zhǎng)安大學(xué)碩士論文,2008
(此文用于湖南省教育廳課題11C0274《基于移動(dòng)Agent的無線WebService中間件應(yīng)用研究》結(jié)題)
作者簡(jiǎn)介:易燦(1979~),男,湖南湘陰,漢族,湖南大眾傳媒職業(yè)技術(shù)學(xué)院講師,主要研究方向:計(jì)算機(jī)應(yīng)用。