新建Ajax 的农业技术信息平台
一、基于Ajax的多层体系结构
与传统的Web应用不同,Ajax采用异步交互过程,从而改变了同步交互过程中的“处理―等待―处理―等待”的模式,实现Web页面不用打断交互过程,动态地更新页面局部数据。Ajax技术按需取数据、节省服务器带宽和减轻服务器处理负担。Ajax技术的关键是添加了一个中间层在服务层和客户层之间,使数据的异步访问得以实现。客户端可以同时向服务器端发出多个请求,不用刷新Web页面就能实现数据的动态实时更新。基于Ajax的多层体系结构。基于Ajax技术的异步通信改善了动态事件的响应机制,极大地提高了平台的用户体验效果,并弥补了B/S架构的不足。
二、系统设计
1、功能模块的划分农业技术信息平台分为系统管理模块、技术展示模块、农业技术供求信息模块、综合查询模块、农业技术交易模块、跟踪咨询服务模块、经验探讨模块及帮助8个功能模块。系统管理模块包括用户管理、权限管理及数据的维护。技术展示模块提供一些技术资料、视频材料供用户下载。农业技术供求信息模块是主要模块,完成用户供求信息查询、,供求信息对接。供求信息对接即供求配对,提交信息时系统自动查询相应配对信息并弹出告知,供求直接网上对接。如果配对不成功,当后续有相关配对信息时采用嵌入短信的方式通知用户。为了使信息更便捷,也考虑农民首次使用的困难,信息提供基于实例的模式,可在实例的基础上更改。综合查询模块是站内的综合信息查询,支持模糊和准确查询。农业技术交易模块提供交易平台。跟踪咨询服务模块包括跟踪、咨询和服务3部分。跟踪主要采用短信模式,在技术交易成立时嵌入系统提示短信,根据技术自身实际在合适的时间将相关内容发给相关人。用户反馈可采用短信或留言的方式提供给技术提供方。咨询包括在线咨询和留言。服务包括病虫害、土壤、政策、天气等信息公告及农技百科。经验探讨模块采用BBS模式,供用户进行经验探讨。帮助模块一方面提供系统应用帮助,另一方面用户可通过电话、短信等告知需求,由系统管理人员帮助其完成需求。
2、多媒体技术应用多媒体技术就是具有集成性、实时性和交互性的计算机综合处理声音、文字、图像的多种媒体信息的技术。该平台制作过程中大量采用多媒体技术,网页内容用三维动画、图片、视频等形式来展现,更生动、形象,易于被广大农民接受。农业技术往往涉及大量的概念、定义,比较抽象、难以理解、不易记忆,且操作性强,需要大量的实践才能掌握。鉴于此,平台充分运用了近年来新兴的传媒方式―――视频点播。通过视频点播,打破了传统的下载在时间和空间上的限制,实现音频、视频等多媒体资料随时随地的点播。这些多媒体信息在网络上的传输主要采用了实时流协议(Realtimestreamingprotocol,RTSP)。
3、层叠样式表的应用层叠样式表(Cascadingstylesheets,CSS)是一系列格式规则,用以控制网页内容的外观。用CSS样式可以灵活并很好地控制网页外观,控制的范围包括从精确的布局定位到特定的字体和样式。CSS样式可以控制许多用HTML无法控制的属性。平台设计中通过使用CSS样式确保多个页面中字体的类型、颜色、像素单位保持一致,使网页让用户看起来整齐、美观、大方。
4、数据库设计农业技术信息平台的关键是信息的收集、处理、对接和检索。该平台的数据结构采用关系模型,采用PowerDesigner软件进行数据库的设计,然后导入到SQLSerer数据库中。在数据库的设计过程中,既要考虑数据的完整性,又要避免冗余、不一致的数据,避免不规则的添加、修改和删除。不规则的添加、修改和删除是数据操作的问题,用户繁多、文化程度不同,从用户入手避免数据误操作是不可能的,那就需要从系统入手,也即需要合理设计数据库。设计时要遵循关系型数据库的规范化,即要满足第1范式(无重复的属性)、第2范式(非主属性非部分依赖于主码)和第3范式(属性不依赖于非主属性)。以供求部分的数据库表为例,在供应和求购信息表中都设有有效期限,系统定期据此将无用数据删除,避免了无用数据长期占用资源,并减少了系统管理员的劳动量。
三、基于Ajax技术的系统实现
农业技术信息平台采用基于Ajax的多层体系结构,用JAA作为主要开发语言,辅以HTML、CSS、JaaScript等标记、脚本语言,选用Tomcat作服务器,数据库管理系统使用的是功能强大的易于维护的SQLSerer,用SybasePowerDesigner进行数据库设计。在数据校验、按需求获取的级联菜单、多级下拉列表框、动态重载表单内容等方面采用了Ajax技术。Ajax采用异步交互,通过XMLHttpRequest对象动态地更新页面局部数据。XMLHttpRequest对象可以实现发送和接收超文本传输协议(HypertextTransferProtocol,HTTP)的请求与响应信息,从而实现客户端与服务器异步通信功能。XMLHttpRequest对象创建如下: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)创建XMLHTTPRequest对象后,就可以使用XMLHTTPRequest对象的方法完成相应的操作,XMLHTTPRequest对象的方法主要有Send、Open、abort、getAllResponseHeaders等。要把请求发送到服务器,需要使用open和send方法。用Open和send方法向服务器发出请求取得XML数据程序如下:functionsendRequest(url)//发送请求函数{setXMLHttpRequestxmlHReq.Open("GET",url,true);//true表示请求是异步的xmlHReq.onreadystatechange=proResfun;//指定响应函数xmlHReq.send(null);//将请求送往服务器}在异步方式下工作,需要设置异步的事件处理函数。onreadystatechange是XMLHTTPRequest对象的属性之一,存有处理服务器响应的函数,它是状态改变的事件触发器。XMLHTTPRequest对象的属性还有readyState、responseText、responseXML、status、statusText。readyState属性存有服务器响应的状态信息。每当readyState改变时,onreadystatechange函数就会被执行。下面是用来检查MLHTTPRequest文档是否已经解析完毕的proResfun。functionproResfun{if(xmlHReq.readyState==4&&xmlHReq.status==200)//检查是否正确取得数据{xmldoc=xmlHReq.responseXML;doSthing;//实现浏览器用户界面中的功能}else{window.alert("页面有异常。")}}至此,取得了XML格式的响应数据。下面就可以在doSthing方法中实现浏览器用户界面中的功能了。
四、小结
采用基于Ajax的多层体系结构,以JAA为主要开发语言,采用SQLSerer数据库,设计了一简单、实用、高效的农业技术信息平台系统。通过在信息时系统自动查询,或通过系统嵌入的手机短信,实现了信息自动配对,减少了对计算机网络的依赖,也使后期跟踪服务更方便有效。为扩大使用群体、提高系统的易用性,设计中采用了基于实例的信息方式。需要在客户端和服务器间频繁传送少量的数据时,使用Ajax引擎实现异步数据通信而无刷新页面,从而减少了网络开销,改善了用户体验,增强了互动性。
作者:黄新建 单位:河南省驻马店市委党
养殖技术论文 生态学论文 环境治理论文 农业推广论文 农业科技论文 农业技术论文 农业经济论文 农业机械论文 农业产业论文 设施农业论文 生态农业论文 有机农业论文 休闲农业论文 农业毕业论文 农业旅游论文 农业物流论文 水产发展论文 农业生态论文 农业建设论文 农业保护论文 农业水保论文 农机具应用论文 病害防治论文 循环农业论文 林业科技论文 农业机械化论文 畜牧机械论文 农业发展论文 栽培技术论文 水资源论文