1 农产品安全生产管理系统功能结构
农产品安全生产管理系统主要是以农业企业生产档案数据为基础,对农产品的生产环境、生产活动等信息实施电子化管理,最终达到提高农业企业科学管理水平、规范农产品生产信息记录、提高农产品质量、保障消费安全以及实现生产过程的可控性和农产品安全质量可追溯化的目的。系统的功能结构图如图1所示。

图1 农产品安全生产管理系统功能结构图
2 农产品安全生产管理系统框架结构
传统的Web应用程序的系统架构如图2所示。客户端向Web服务器端发送HTTP请求,服务器接收到客户端的请求后对请求做相应处理,若需要访问数据库,则向数据库服务器发送SQL请求,数据库服务器将结果发送到Web服务器,然后Web服务器将处理的结果生成一个HTML页面,发送到客户端。

图2 传统农产品安全生产管理系统的B/S结构图
基于Ajax和jQuery的农产品安全生产管理系统整体架构如图3所示。本架构与传统的基于Web的农产品安全生产管理系统的不同之处是:采用Ajax进行客户端/服务器通信以及jQuery作为客户端JavaScript框架,使得Ajax能够更灵活快捷地更新客户端页面;由于Ajax支持采用异步通信机制,在服务器进行数据处理过程中不需要等待,可以直接进行其它操作。

图3 基于Ajax和jQuery的农产品安全生产管理系统整体架构
3 农产品安全生产管理系统处理流程
基于Ajax+jQuery框架的农产品生产管理系统处理过程与传统的3层B/S结构基本上是相同的,不同之处在于以下两方面:一是向服务器的处理请求通过发送XMLHttpRe-quest请求到服务器处理程序,处理结果不需转换成HTML,而是通过普通文本或者XML的形式发送的;二是客户端的页面通过jQuery执行数据更新过程,可以实现页面的快速局部更新。
具体处理流程如下:
1)下载HTML文件:将含有表单的HTML文件从服务器下载到客户端浏览器。
2)用户操作HTML表单:用户操作表单执行农产品生产信息管理操作,设置相关参数。
3)开始异步通信:在表单中,当鼠标或键盘操作由Javascript描述的元素时,一个事件处理被设置成为一个属性或行为。当需要与服务器通信时,表单设置的参数就通过CGI程序由XMLHttpRequest传递到服务器端。
4)服务器端处理请求:当接收到客户端请求后,服务器端执行相应的JavaBean程序进行处理。
5)与数据库通信:在处理过程中如果需要访问数据库,就会向数据库服务器发送请求。本系统采用MySQL作为数据库管理系统。
6)将服务端的处理结果发送到客户端:传统的基于CGI的系统将结果以HTML文件的形式发送到客户端,此文件描述了整个网页,然而本系统只发送最少的信息到客户端,仅发送数据或者文件的路径等用来更新Web页面的信息。
7)更新客户端HTML页面:客户端接收从服务器返回的处理结果,然后执行jQuery动态更新HTML页面,实现页面的局部快速更新。

