首页 > 范文大全 > 正文

基于Ajax的农业技术信息平台的构建

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Ajax的农业技术信息平台的构建范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:为解决农民因信息渠道不畅而利益受损的问题,构建了基于ajax的多层体系结构的农业技术信息平台。平台采用基于实例的方式信息,通过自动查询或嵌入手机短信实现农业信息的自动配对和跟踪指导;开辟经验交流模块,使农民自助参与网站内容的丰富和技术的积累。基于Ajax技术的异步通信改善了动态事件的响应机制,实现无刷新下动态局部页面数据更新。平台简单易用、便捷高效、可读可写,能快捷准确地收集、整理和传递国内外农业技术信息,实现农业技术信息的资源共享。

关键词:农业技术信息平台;Ajax;多层体系结构;异步通信

中图分类号:TP393;S126 文献标识码:A 文章编号:0439-8114(2013)17-4221-03

Construction of Information Platform about Agricultural Technology Based on Ajax

HUANG Xin-jian1,HOU Yan-jun2,YUAN Wen-zhuo3

(1.Zhumadian Party School of CCP, Zhumadian 463000,Henan,China;2.School of Mechanical Engineering, North China University of Water Conservancy and Hydroelectric Power, Zhengzhou 450045,China;3.Henan Provincial Commerce Department, Zhengzhou 450003, China)

Abstract: To decrease the benefit loss of farmers due to inaccessible information channels, an information platform about agricultural technology based on Ajax multi-tier architecture was set up. Information publishing was based on true examples. Agricultural information automatic pairing and the tracking guide were realized through the automatic query when information was released or embedded into mobile phone short message. Experience communication module was developed so that farmers could have self-help access to website content enrichment and technique accumulation. The asynchronous communication based on Ajax improved the responding mechanism of dynamic state affairs, and achieved local data updated without refreshed in dynamic pages. The platform was easy to use, convenient, highly effective, and read-write. It could quickly and correctly collect, sort out and deliver domestic and international agriculture technique information, and carry out the resources share of agricultural technique information.

Key words: information platform about agricultural technology; Ajax; multi-tier architecture;asynchronous communication

收稿日期:2013-01-10

基金项目:水利部公益性行业专项(201201074);河南省教育厅自然科学研究计划项目(2011B450001)

作者简介:黄新建(1977-),男,河南平舆人,讲师,硕士,主要从事计算机应用的研究工作,(电话)13503961309(电子信箱)。

中国作为农业大国,“三农”问题关系到国民素质、经济发展,关系到社会稳定、国富民强,而农业技术信息化是解决“三农”问题的重要途径之一。近年来,各类涉农网站不断涌现,并且势头迅猛,中国农业信息网络的建设和发展已从根本上改变了传统的信息获取方式,极大地提高了信息传播的速度和效率。但现有网站大多以信息为主,互动较少。而对农民而言,文化水平较低,对信息的筛选能力较弱,他们往往最需要的是问题如何解决。一些网站只是推广新品种、新技术,而农民常常在买回种子后对着说明书也不知如何下种、如何进行田间管理等。

此文旨在构建一个简单易用、可读可写、服务先导的交互性农业技术信息平台。通过互联网的开放性、民间性、全球性,快捷准确地收集、整理和传递国内外农业技术信息,实现农业技术信息的资源共享,为农民提供技术服务和市场导向。

1 基于Ajax的多层体系结构

Ajax(Asynchronous JavaScript and XML)[1,2]是Web 2.0的主流应用技术,它可以将笨拙的Web界面转化成强交互性的Ajax应用程序。Ajax不是一种新的编程语言,而是多种成熟技术的有机结合,主要包括:DOM(文档对象模型)进行动态显示、XHTML和CSS(层叠样式表)实现基于各种标准的呈现、采用XML数据格式传输与交换数据、XMLHttpRequest对象负责与服务器异步通讯,最后通过JavaScript脚本语言对各部分进行封装,使之能够协同工作,形成一整套完整的程序框架。

与传统的Web应用不同,Ajax采用异步交互过程,从而改变了同步交互过程中的“处理—等待—处理—等待”的模式,实现Web页面不用打断交互过程,动态地更新页面局部数据。Ajax技术按需取数据、节省服务器带宽和减轻服务器处理负担。

Ajax技术的关键是添加了一个中间层在服务层和客户层之间,使数据的异步访问得以实现。客户端可以同时向服务器端发出多个请求,不用刷新Web页面就能实现数据的动态实时更新。基于Ajax的多层体系结构如图1[3-5]。基于Ajax技术的异步通信改善了动态事件的响应机制,极大地提高了平台的用户体验效果,并弥补了B/S架构的不足[6]。

2 系统设计

2.1 功能模块的划分

农业技术信息平台分为系统管理模块、技术展示模块、农业技术供求信息模块、综合查询模块、农业技术交易模块、跟踪咨询服务模块、经验探讨模块及帮助8个功能模块。

系统管理模块包括用户管理、权限管理及数据的维护。技术展示模块提供一些技术资料、视频材料供用户下载。农业技术供求信息模块是主要模块,完成用户供求信息查询、,供求信息对接。供求信息对接即供求配对,提交信息时系统自动查询相应配对信息并弹出告知,供求直接网上对接。如果配对不成功,当后续有相关配对信息时采用嵌入短信的方式通知用户。为了使信息更便捷,也考虑农民首次使用的困难,信息提供基于实例的模式,可在实例的基础上更改。综合查询模块是站内的综合信息查询,支持模糊和准确查询。农业技术交易模块提供交易平台。跟踪咨询服务模块包括跟踪、咨询和服务3部分。跟踪主要采用短信模式,在技术交易成立时嵌入系统提示短信,根据技术自身实际在合适的时间将相关内容发给相关人。用户反馈可采用短信或留言的方式提供给技术提供方。咨询包括在线咨询和留言。服务包括病虫害、土壤、政策、天气等信息公告及农技百科。经验探讨模块采用BBS模式,供用户进行经验探讨。帮助模块一方面提供系统应用帮助,另一方面用户可通过电话、短信等告知需求,由系统管理人员帮助其完成需求。

2.2 多媒体技术应用

多媒体技术就是具有集成性、实时性和交互性的计算机综合处理声音、文字、图像的多种媒体信息的技术[7]。该平台制作过程中大量采用多媒体技术,网页内容用三维动画、图片、视频等形式来展现,更生动、形象,易于被广大农民接受。农业技术往往涉及大量的概念、定义,比较抽象、难以理解、不易记忆,且操作性强,需要大量的实践才能掌握。鉴于此,平台充分运用了近年来新兴的传媒方式——视频点播。通过视频点播,打破了传统的下载在时间和空间上的限制,实现音频、视频等多媒体资料随时随地的点播。这些多媒体信息在网络上的传输主要采用了实时流协议(Real time streaming protocol,RTSP)。

2.3 层叠样式表的应用

层叠样式表(Cascading style sheets,CSS)是一系列格式规则,用以控制网页内容的外观。用CSS样式可以灵活并很好地控制网页外观,控制的范围包括从精确的布局定位到特定的字体和样式。CSS样式可以控制许多用HTML无法控制的属性。平台设计中通过使用CSS样式确保多个页面中字体的类型、颜色、像素单位保持一致,使网页让用户看起来整齐、美观、大方。

2.4 数据库设计

农业技术信息平台的关键是信息的收集、处理、对接和检索。该平台的数据结构采用关系模型,采用Power Designer软件进行数据库的设计,然后导入到SQL Server数据库中。在数据库的设计过程中,既要考虑数据的完整性,又要避免冗余、不一致的数据,避免不规则的添加、修改和删除。不规则的添加、修改和删除是数据操作的问题,用户繁多、文化程度不同,从用户入手避免数据误操作是不可能的,那就需要从系统入手,也即需要合理设计数据库。设计时要遵循关系型数据库的规范化,即要满足第1范式(无重复的属性)、第2范式(非主属性非部分依赖于主码)和第3范式(属性不依赖于非主属性)。以供求部分的数据库表为例(图2),在供应和求购信息表中都设有有效期限,系统定期据此将无用数据删除,避免了无用数据长期占用资源,并减少了系统管理员的劳动量。

3 基于Ajax技术的系统实现

农业技术信息平台采用基于Ajax的多层体系结构,用JAVA作为主要开发语言,辅以HTML、CSS、JavaScript等标记、脚本语言,选用Tomcat作服务器, 数据库管理系统使用的是功能强大的易于维护的SQL Server,用Sybase Power Designer进行数据库设计。在数据校验、按需求获取的级联菜单、多级下拉列表框、动态重载表单内容等方面采用了Ajax技术。

Ajax采用异步交互,通过XMLHttpRequest对象动态地更新页面局部数据。XMLHttpRequest对象可以实现发送和接收超文本传输协议(Hypertext Transfer Protocol,HTTP)的请求与响应信息,从而实现客户端与服务器异步通信功能。XMLHttpRequest对象创建如下[8,9]:

var xmlHReq=false;

fuction setXMLHttpRequest()

{ if(window.XMLHttpRequest) //Mozilla/FireFox浏览器

{ xmlHReq =new XMLHttpRequest();}

elseif(window.ActiveXObject) //IE浏览器

{

try{ xmlHReq =new activeXObject("Msxml2.XMLHTTP") ;}

catch(e) { try{ xmlHReq =new activexobject("Microsoft.XMLHTTP") ;}

catch(e){ }

}

}

}

创建XMLHTTPRequest对象后,就可以使用XMLHTTPRequest对象的方法完成相应的操作,XMLHTTPRequest对象的方法主要有Send()、Open()、abort()、getAllResponseHeaders()等。要把请求发送到服务器,需要使用open()和send()方法。用Open()和send()方法向服务器发出请求取得XML数据程序如下:

function sendRequest (url) //发送请求函数

{ setXMLHttpRequest()

xmlHReq.Open("GET",url,true) ; // true表示请求是异步的

xmlHReq.onreadystatechange= proResfun;//指定响应函数

xmlHReq.send(null) ; // 将请求送往服务器

}

在异步方式下工作,需要设置异步的事件处理函数。onreadystatechange是XMLHTTPRequest对象的属性之一,存有处理服务器响应的函数,它是状态改变的事件触发器。XMLHTTPRequest对象的属性还有readyState、responseText、responseXML、status、statusText。readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。下面是用来检查MLHTTPRequest文档是否已经解析完毕的proResfun ()。

function proResfun ()

{ if(xmlHReq. readyState==4&& xmlHReq.status==200) //检查是否正确取得数据

{ xmldoc= xmlHReq.responseXML;

doSthing();//实现浏览器用户界面中的功能

}

else{window.alert("页面有异常。")}

}

至此,取得了XML格式的响应数据。下面就可以在doSthing()方法中实现浏览器用户界面中的功能了。

4 小结

采用基于Ajax的多层体系结构,以JAVA为主要开发语言,采用SQL Server数据库,设计了一简单、实用、高效的农业技术信息平台系统。通过在信息时系统自动查询,或通过系统嵌入的手机短信,实现了信息自动配对,减少了对计算机网络的依赖,也使后期跟踪服务更方便有效。为扩大使用群体、提高系统的易用性,设计中采用了基于实例的信息方式。需要在客户端和服务器间频繁传送少量的数据时,使用Ajax引擎实现异步数据通信而无刷新页面,从而减少了网络开销,改善了用户体验,增强了互动性。

参考文献:

[1] GARRETT J J. Ajax: A New Approach to Web Applications[EB/OL]. http:///ideas/essays/archives/000385. php,2005-02-18.

[2] 孟庆瑞,田兆锋,阎楚良.Ajax技术在农业装备信息网中的应用[J].农业机械学报,2008,39(12):132-135.

[3] 任 毅,王 平,龚亚丽,等.Ajax和Web服务在空间信息中的应用研究[J].计算机工程与设计,2009,30(11):2698-2701, 2717.

[4] 李 健,黄晗文,刘 芳,等. Ajax在Web中的应用研究[J].计算机与现代化,2009(7):84-87.

[5] 李 娟,汪厚祥,焦志强,等.动态ERP系统中Ajax/SOA系统架构模型的构造[J].计算机应用与软件,2010,27(7):65-66.

[6] 翟彦博,杨桂丽,刘 阳.基于B/S模式的仪器设备管理WEB系统的设计与功能实现[J].沈阳建筑大学学报(社会科学版),2008,10(3):298-301.

[7] 孙晓玲.多媒体技术在网站设计中的艺术运用[D].济南:山东大学,2010.

[8] 冯曼菲.精通AJAX:基础概念、核心技术与典型案例[M].北京:人民邮电出版社,2008.

[9] 张桂元,贾燕枫,姜 波.征服Ajax——Web 2.0快速入门与项目实践(Java)[M].北京:人民邮电出版社,2006.