公務(wù)員期刊網(wǎng) 論文中心 正文

新建Ajax 的農(nóng)業(yè)技術(shù)信息平臺(tái)

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了新建Ajax 的農(nóng)業(yè)技術(shù)信息平臺(tái)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

新建Ajax 的農(nóng)業(yè)技術(shù)信息平臺(tái)

一、基于Ajax的多層體系結(jié)構(gòu)

與傳統(tǒng)的Web應(yīng)用不同,Ajax采用異步交互過(guò)程,從而改變了同步交互過(guò)程中的“處理—等待—處理—等待”的模式,實(shí)現(xiàn)Web頁(yè)面不用打斷交互過(guò)程,動(dòng)態(tài)地更新頁(yè)面局部數(shù)據(jù)。Ajax技術(shù)按需取數(shù)據(jù)、節(jié)省服務(wù)器帶寬和減輕服務(wù)器處理負(fù)擔(dān)。Ajax技術(shù)的關(guān)鍵是添加了一個(gè)中間層在服務(wù)層和客戶層之間,使數(shù)據(jù)的異步訪問(wèn)得以實(shí)現(xiàn)??蛻舳丝梢酝瑫r(shí)向服務(wù)器端發(fā)出多個(gè)請(qǐng)求,不用刷新Web頁(yè)面就能實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)實(shí)時(shí)更新。基于Ajax的多層體系結(jié)構(gòu)?;贏jax技術(shù)的異步通信改善了動(dòng)態(tài)事件的響應(yīng)機(jī)制,極大地提高了平臺(tái)的用戶體驗(yàn)效果,并彌補(bǔ)了B/S架構(gòu)的不足。

二、系統(tǒng)設(shè)計(jì)

1、功能模塊的劃分農(nóng)業(yè)技術(shù)信息平臺(tái)分為系統(tǒng)管理模塊、技術(shù)展示模塊、農(nóng)業(yè)技術(shù)供求信息模塊、綜合查詢模塊、農(nóng)業(yè)技術(shù)交易模塊、跟蹤咨詢服務(wù)模塊、經(jīng)驗(yàn)探討模塊及幫助8個(gè)功能模塊。系統(tǒng)管理模塊包括用戶管理、權(quán)限管理及數(shù)據(jù)的維護(hù)。技術(shù)展示模塊提供一些技術(shù)資料、視頻材料供用戶下載。農(nóng)業(yè)技術(shù)供求信息模塊是主要模塊,完成用戶供求信息查詢、,供求信息對(duì)接。供求信息對(duì)接即供求配對(duì),提交信息時(shí)系統(tǒng)自動(dòng)查詢相應(yīng)配對(duì)信息并彈出告知,供求直接網(wǎng)上對(duì)接。如果配對(duì)不成功,當(dāng)后續(xù)有相關(guān)配對(duì)信息時(shí)采用嵌入短信的方式通知用戶。為了使信息更便捷,也考慮農(nóng)民首次使用的困難,信息提供基于實(shí)例的模式,可在實(shí)例的基礎(chǔ)上更改。綜合查詢模塊是站內(nèi)的綜合信息查詢,支持模糊和準(zhǔn)確查詢。農(nóng)業(yè)技術(shù)交易模塊提供交易平臺(tái)。跟蹤咨詢服務(wù)模塊包括跟蹤、咨詢和服務(wù)3部分。跟蹤主要采用短信模式,在技術(shù)交易成立時(shí)嵌入系統(tǒng)提示短信,根據(jù)技術(shù)自身實(shí)際在合適的時(shí)間將相關(guān)內(nèi)容發(fā)給相關(guān)人。用戶反饋可采用短信或留言的方式提供給技術(shù)提供方。咨詢包括在線咨詢和留言。服務(wù)包括病蟲(chóng)害、土壤、政策、天氣等信息公告及農(nóng)技百科。經(jīng)驗(yàn)探討模塊采用BBS模式,供用戶進(jìn)行經(jīng)驗(yàn)探討。幫助模塊一方面提供系統(tǒng)應(yīng)用幫助,另一方面用戶可通過(guò)電話、短信等告知需求,由系統(tǒng)管理人員幫助其完成需求。

2、多媒體技術(shù)應(yīng)用多媒體技術(shù)就是具有集成性、實(shí)時(shí)性和交互性的計(jì)算機(jī)綜合處理聲音、文字、圖像的多種媒體信息的技術(shù)。該平臺(tái)制作過(guò)程中大量采用多媒體技術(shù),網(wǎng)頁(yè)內(nèi)容用三維動(dòng)畫(huà)、圖片、視頻等形式來(lái)展現(xiàn),更生動(dòng)、形象,易于被廣大農(nóng)民接受。農(nóng)業(yè)技術(shù)往往涉及大量的概念、定義,比較抽象、難以理解、不易記憶,且操作性強(qiáng),需要大量的實(shí)踐才能掌握。鑒于此,平臺(tái)充分運(yùn)用了近年來(lái)新興的傳媒方式———視頻點(diǎn)播。通過(guò)視頻點(diǎn)播,打破了傳統(tǒng)的下載在時(shí)間和空間上的限制,實(shí)現(xiàn)音頻、視頻等多媒體資料隨時(shí)隨地的點(diǎn)播。這些多媒體信息在網(wǎng)絡(luò)上的傳輸主要采用了實(shí)時(shí)流協(xié)議(Realtimestreamingprotocol,RTSP)。

3、層疊樣式表的應(yīng)用層疊樣式表(Cascadingstylesheets,CSS)是一系列格式規(guī)則,用以控制網(wǎng)頁(yè)內(nèi)容的外觀。用CSS樣式可以靈活并很好地控制網(wǎng)頁(yè)外觀,控制的范圍包括從精確的布局定位到特定的字體和樣式。CSS樣式可以控制許多用HTML無(wú)法控制的屬性。平臺(tái)設(shè)計(jì)中通過(guò)使用CSS樣式確保多個(gè)頁(yè)面中字體的類型、顏色、像素單位保持一致,使網(wǎng)頁(yè)讓用戶看起來(lái)整齊、美觀、大方。

4、數(shù)據(jù)庫(kù)設(shè)計(jì)農(nóng)業(yè)技術(shù)信息平臺(tái)的關(guān)鍵是信息的收集、處理、對(duì)接和檢索。該平臺(tái)的數(shù)據(jù)結(jié)構(gòu)采用關(guān)系模型,采用PowerDesigner軟件進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì),然后導(dǎo)入到SQLSerer數(shù)據(jù)庫(kù)中。在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中,既要考慮數(shù)據(jù)的完整性,又要避免冗余、不一致的數(shù)據(jù),避免不規(guī)則的添加、修改和刪除。不規(guī)則的添加、修改和刪除是數(shù)據(jù)操作的問(wèn)題,用戶繁多、文化程度不同,從用戶入手避免數(shù)據(jù)誤操作是不可能的,那就需要從系統(tǒng)入手,也即需要合理設(shè)計(jì)數(shù)據(jù)庫(kù)。設(shè)計(jì)時(shí)要遵循關(guān)系型數(shù)據(jù)庫(kù)的規(guī)范化,即要滿足第1范式(無(wú)重復(fù)的屬性)、第2范式(非主屬性非部分依賴于主碼)和第3范式(屬性不依賴于非主屬性)。以供求部分的數(shù)據(jù)庫(kù)表為例,在供應(yīng)和求購(gòu)信息表中都設(shè)有有效期限,系統(tǒng)定期據(jù)此將無(wú)用數(shù)據(jù)刪除,避免了無(wú)用數(shù)據(jù)長(zhǎng)期占用資源,并減少了系統(tǒng)管理員的勞動(dòng)量。

三、基于Ajax技術(shù)的系統(tǒng)實(shí)現(xiàn)

農(nóng)業(yè)技術(shù)信息平臺(tái)采用基于Ajax的多層體系結(jié)構(gòu),用JAA作為主要開(kāi)發(fā)語(yǔ)言,輔以HTML、CSS、JaaScript等標(biāo)記、腳本語(yǔ)言,選用Tomcat作服務(wù)器,數(shù)據(jù)庫(kù)管理系統(tǒng)使用的是功能強(qiáng)大的易于維護(hù)的SQLSerer,用SybasePowerDesigner進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。在數(shù)據(jù)校驗(yàn)、按需求獲取的級(jí)聯(lián)菜單、多級(jí)下拉列表框、動(dòng)態(tài)重載表單內(nèi)容等方面采用了Ajax技術(shù)。Ajax采用異步交互,通過(guò)XMLHttpRequest對(duì)象動(dòng)態(tài)地更新頁(yè)面局部數(shù)據(jù)。XMLHttpRequest對(duì)象可以實(shí)現(xiàn)發(fā)送和接收超文本傳輸協(xié)議(HypertextTransferProtocol,HTTP)的請(qǐng)求與響應(yīng)信息,從而實(shí)現(xiàn)客戶端與服務(wù)器異步通信功能。XMLHttpRequest對(duì)象創(chuàng)建如下:arxmlHReq=false;fuctionsetXMLHttpRequest{if(window.XMLHttpRequest)//Mozilla/Fire-Fox瀏覽器{xmlHReq=newXMLHttpRequest;}elseif(window.ActieXObject)//IE瀏覽器{try{xmlHReq=newactieXObject("Msxml2.XMLHTTP");}catch(e){try{xmlHReq=newactiexobject("Microsoft.XMLHTTP");}catch(e)創(chuàng)建XMLHTTPRequest對(duì)象后,就可以使用XMLHTTPRequest對(duì)象的方法完成相應(yīng)的操作,XMLHTTPRequest對(duì)象的方法主要有Send、Open、abort、getAllResponseHeaders等。要把請(qǐng)求發(fā)送到服務(wù)器,需要使用open和send方法。用Open和send方法向服務(wù)器發(fā)出請(qǐng)求取得XML數(shù)據(jù)程序如下:functionsendRequest(url)//發(fā)送請(qǐng)求函數(shù){setXMLHttpRequestxmlHReq.Open("GET",url,true);//true表示請(qǐng)求是異步的xmlHReq.onreadystatechange=proResfun;//指定響應(yīng)函數(shù)xmlHReq.send(null);//將請(qǐng)求送往服務(wù)器}在異步方式下工作,需要設(shè)置異步的事件處理函數(shù)。onreadystatechange是XMLHTTPRequest對(duì)象的屬性之一,存有處理服務(wù)器響應(yīng)的函數(shù),它是狀態(tài)改變的事件觸發(fā)器。XMLHTTPRequest對(duì)象的屬性還有readyState、responseText、responseXML、status、statusText。readyState屬性存有服務(wù)器響應(yīng)的狀態(tài)信息。每當(dāng)readyState改變時(shí),onreadystatechange函數(shù)就會(huì)被執(zhí)行。下面是用來(lái)檢查MLHTTPRequest文檔是否已經(jīng)解析完畢的proResfun。functionproResfun{if(xmlHReq.readyState==4&&xmlHReq.status==200)//檢查是否正確取得數(shù)據(jù){xmldoc=xmlHReq.responseXML;doSthing;//實(shí)現(xiàn)瀏覽器用戶界面中的功能}else{window.alert("頁(yè)面有異常。")}}至此,取得了XML格式的響應(yīng)數(shù)據(jù)。下面就可以在doSthing方法中實(shí)現(xiàn)瀏覽器用戶界面中的功能了。

四、小結(jié)

采用基于Ajax的多層體系結(jié)構(gòu),以JAA為主要開(kāi)發(fā)語(yǔ)言,采用SQLSerer數(shù)據(jù)庫(kù),設(shè)計(jì)了一簡(jiǎn)單、實(shí)用、高效的農(nóng)業(yè)技術(shù)信息平臺(tái)系統(tǒng)。通過(guò)在信息時(shí)系統(tǒng)自動(dòng)查詢,或通過(guò)系統(tǒng)嵌入的手機(jī)短信,實(shí)現(xiàn)了信息自動(dòng)配對(duì),減少了對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的依賴,也使后期跟蹤服務(wù)更方便有效。為擴(kuò)大使用群體、提高系統(tǒng)的易用性,設(shè)計(jì)中采用了基于實(shí)例的信息方式。需要在客戶端和服務(wù)器間頻繁傳送少量的數(shù)據(jù)時(shí),使用Ajax引擎實(shí)現(xiàn)異步數(shù)據(jù)通信而無(wú)刷新頁(yè)面,從而減少了網(wǎng)絡(luò)開(kāi)銷,改善了用戶體驗(yàn),增強(qiáng)了互動(dòng)性。

作者:黃新建 單位:河南省駐馬店市委黨