论文部分内容阅读
[摘要]针对鲜活农产品供应链的业务需求,提出基于spring MVC框架的鲜活农产品供应链交易平台,该平台利用Spring MVC+Mybatis设计系统的主体架构,使用分层技术实现对象之间的松耦合;部署BES作为Web服务器,以提高框架运行稳定性。鲜活农产品销售供应链交易平台的构建,可为鲜活农产品物流提供支持与保障。
[关键词]鲜活农产品;交易平台;供应链;Spring MVC框架;BES
1引言
鲜活农产品主要指新鲜蔬菜、水果、鲜活水产品、活的畜禽和新的肉蛋奶等五类农产品。鲜活农产品在采摘后仍有生命活动,在运输、销售的过程中很容易腐烂或者变质,从而带来较大经济损失翻。近年来,针对鲜活农产品供应链流通的研究逐渐增多,然而,鲜活农产品在线交易平台,是农产品流通模式不可或缺的一部分,对最优物流配货、降低农产品的损失率、促进价格稳定具有重要的现实意义。
轻量级Spring框架提供了对MVC模式的实现机制,有效的实现跨平台信息交流。目前,许多学者针对这一框架进行研究,申彬等为了满足中小企业对于库存管理系统的业务要求,研究了基于MVC模式S2SH框架的库存管理系统。黎吾鑫在Spring MVC框架和前端Extis技术的基础上,提出将Spring MVC和Extis进行高效整合的web系统框架。廖福保针对目前SpringMVC模块的不足,对模块进行了扩展,并将AJAX,技术引入到Spring MVC模块中,使其具有易维护性。然而,上述研究中,缺乏服务器的配置研究,本文利用Swing MVC+Mybatis设计系统的主体架构,同时,为了使运行平台达到稳定性、服务易于控制等需求,使用BES部署Web服务器,分别从显示层、控制层、业务逻辑层、数据访问层搭建整体框架,并将其应用于鲜活农产品交易实践平台。
2平台构架相关技术
2.1Spring框架
Swing是一个为解决企业应用开发而创建的开源框架。框架的主要优势之一就是其分层架构,使得应用时允许用户选择任意组件,同时也为J2EE应用程序开发提供集成的框架,如图1所示。
其主要优点包括:
(1)轻量。轻量级的容器框架没有侵人性;
(2)松耦合。容易组合对象直接间关系,面向接口编程,降低耦合;
(3)可扩展。AOP可以更加容易的进行功能扩展,遵循OCP开发原则;
(4)面向切面。允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
2.2Spring MVC框架
Swing MVC是一个简单灵活的轻量级MVC框架,其工作原理如图2所示,用户向服务器发出请求,请求会被DispatcherServlet捕获,通过HandlerMapping找到相应处理请求的控制器Controller,Controller接收请求后进行相应逻辑的处理,处理完成后返回一个Mode-1AndView(视图和模型的集合),然后DispatcherServlet查询ViewResoler视图解析器,找到ModelAndView指定的视图并通过视图将结果显示到客户端。
2.3Mvbatis
Mybatis是存储过程和高级映射的优秀持久层框架,提供了数据映射功能,可实现对底层数据访问的封装。Mvbatis原理是使用简单的XML文件或注解s將Javabean,Map的实现和基本数据类型的包装类映射成JDBC的PreparedStatement,实现Java对象与数据库之间的映射关系。相比于Hibernate,Mybatis为系统的设计提供了更大的自由空间,维护更简单。
3Spring MVC+Mybatis框架结构
本平台的设计分为四层架构,分别为显示层、控制层、业务逻辑层、数据访问层。为了降低层与层之间的耦合度,提高系统的可维护性和扩展性,框架以Mysql作为底层数据,使用Maven进行代码管理,用MyEclipse作为开发工具。显示层用Jsp+Jstl实现,控制层以Spring MVC作为控制器,业务层用Swing控制日志记录与事务一致,数据访问层用Mybatis實现与MysqI数据库之间的访问。在每个在功能上职责明确,功能独立,各层通过通信接口实现相互联系,整个平台的架构关系如图3所示。
3.1显示层
显示层是用户与管理员与系统进行直接进行交互的界面,本平台采用Jsp和Jstl标签实现数据页面的展示,通过E1表达式接收控制层传来的数据,并用Jstl进行数据的控制,展示在页面上,使页面代码简洁。
3.2控制层
控制层相当于一个路由器,起到一个线路开关的作用,它接收页面的请求,调用业务逻辑层接口进行相应处理,再将处理的数据返回给相应的显示层页面。
3.3业务逻辑层
业务逻辑层提供了系统所需要的业务逻辑方法,是平台设计的核心,负责处理系统的业务逻辑以及数据访问层与控制层之间的通讯。本平台由Swing实现业务逻辑层,并负责日志和事务的管理。
3.4数据访问层
数据访问层是由数据访问对象组成,这些数据访问对象提供对基本对象的创建、查询、修改、删除等操作。框架由Mybatis实现数据访问层,使用泛型创建基类,且基类包含对基本对象的创建、查询、修改、删除、分页等操作,并使其他数据访问对象继承该基类,使不同的实体对象保持相同的数据访问方法,为业务逻辑层数据存取提供方法,实现数据库数据的增、删、改、查操作。
4BES服务器部署
考虑平台的访问量需求,也为了使运行平台达到稳定性、服务易于控制等要求,本平台选择BES作为Web服务器,通过为平台设置集群以解决海量访问的问题,部署过程如图4所示。
主机部署与项目发布过程中,FTP实现Windows系统与Linux主机之间文件传输,将主机需要的文件上传到Linux主机,同时也可以从Linux主机上下载文件;通过BES服务器的iastool命令对项目进行发布,或通过BES管理控制台图形化界面进行项目的发布与管理;利用MySQL作为项目底层数据库支持;Windows系统经过HTYP网络协议,通过浏览器对项目进行访问。如果项目运行出现问题,使用SecureCRT登录主机,查看相应日志,或通过Navicat for Mysq!远程连接数据库,查看日志表记录,快速定位以提高系统的可维护性。
[关键词]鲜活农产品;交易平台;供应链;Spring MVC框架;BES
1引言
鲜活农产品主要指新鲜蔬菜、水果、鲜活水产品、活的畜禽和新的肉蛋奶等五类农产品。鲜活农产品在采摘后仍有生命活动,在运输、销售的过程中很容易腐烂或者变质,从而带来较大经济损失翻。近年来,针对鲜活农产品供应链流通的研究逐渐增多,然而,鲜活农产品在线交易平台,是农产品流通模式不可或缺的一部分,对最优物流配货、降低农产品的损失率、促进价格稳定具有重要的现实意义。
轻量级Spring框架提供了对MVC模式的实现机制,有效的实现跨平台信息交流。目前,许多学者针对这一框架进行研究,申彬等为了满足中小企业对于库存管理系统的业务要求,研究了基于MVC模式S2SH框架的库存管理系统。黎吾鑫在Spring MVC框架和前端Extis技术的基础上,提出将Spring MVC和Extis进行高效整合的web系统框架。廖福保针对目前SpringMVC模块的不足,对模块进行了扩展,并将AJAX,技术引入到Spring MVC模块中,使其具有易维护性。然而,上述研究中,缺乏服务器的配置研究,本文利用Swing MVC+Mybatis设计系统的主体架构,同时,为了使运行平台达到稳定性、服务易于控制等需求,使用BES部署Web服务器,分别从显示层、控制层、业务逻辑层、数据访问层搭建整体框架,并将其应用于鲜活农产品交易实践平台。
2平台构架相关技术
2.1Spring框架
Swing是一个为解决企业应用开发而创建的开源框架。框架的主要优势之一就是其分层架构,使得应用时允许用户选择任意组件,同时也为J2EE应用程序开发提供集成的框架,如图1所示。
其主要优点包括:
(1)轻量。轻量级的容器框架没有侵人性;
(2)松耦合。容易组合对象直接间关系,面向接口编程,降低耦合;
(3)可扩展。AOP可以更加容易的进行功能扩展,遵循OCP开发原则;
(4)面向切面。允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
2.2Spring MVC框架
Swing MVC是一个简单灵活的轻量级MVC框架,其工作原理如图2所示,用户向服务器发出请求,请求会被DispatcherServlet捕获,通过HandlerMapping找到相应处理请求的控制器Controller,Controller接收请求后进行相应逻辑的处理,处理完成后返回一个Mode-1AndView(视图和模型的集合),然后DispatcherServlet查询ViewResoler视图解析器,找到ModelAndView指定的视图并通过视图将结果显示到客户端。
2.3Mvbatis
Mybatis是存储过程和高级映射的优秀持久层框架,提供了数据映射功能,可实现对底层数据访问的封装。Mvbatis原理是使用简单的XML文件或注解s將Javabean,Map的实现和基本数据类型的包装类映射成JDBC的PreparedStatement,实现Java对象与数据库之间的映射关系。相比于Hibernate,Mybatis为系统的设计提供了更大的自由空间,维护更简单。
3Spring MVC+Mybatis框架结构
本平台的设计分为四层架构,分别为显示层、控制层、业务逻辑层、数据访问层。为了降低层与层之间的耦合度,提高系统的可维护性和扩展性,框架以Mysql作为底层数据,使用Maven进行代码管理,用MyEclipse作为开发工具。显示层用Jsp+Jstl实现,控制层以Spring MVC作为控制器,业务层用Swing控制日志记录与事务一致,数据访问层用Mybatis實现与MysqI数据库之间的访问。在每个在功能上职责明确,功能独立,各层通过通信接口实现相互联系,整个平台的架构关系如图3所示。
3.1显示层
显示层是用户与管理员与系统进行直接进行交互的界面,本平台采用Jsp和Jstl标签实现数据页面的展示,通过E1表达式接收控制层传来的数据,并用Jstl进行数据的控制,展示在页面上,使页面代码简洁。
3.2控制层
控制层相当于一个路由器,起到一个线路开关的作用,它接收页面的请求,调用业务逻辑层接口进行相应处理,再将处理的数据返回给相应的显示层页面。
3.3业务逻辑层
业务逻辑层提供了系统所需要的业务逻辑方法,是平台设计的核心,负责处理系统的业务逻辑以及数据访问层与控制层之间的通讯。本平台由Swing实现业务逻辑层,并负责日志和事务的管理。
3.4数据访问层
数据访问层是由数据访问对象组成,这些数据访问对象提供对基本对象的创建、查询、修改、删除等操作。框架由Mybatis实现数据访问层,使用泛型创建基类,且基类包含对基本对象的创建、查询、修改、删除、分页等操作,并使其他数据访问对象继承该基类,使不同的实体对象保持相同的数据访问方法,为业务逻辑层数据存取提供方法,实现数据库数据的增、删、改、查操作。
4BES服务器部署
考虑平台的访问量需求,也为了使运行平台达到稳定性、服务易于控制等要求,本平台选择BES作为Web服务器,通过为平台设置集群以解决海量访问的问题,部署过程如图4所示。
主机部署与项目发布过程中,FTP实现Windows系统与Linux主机之间文件传输,将主机需要的文件上传到Linux主机,同时也可以从Linux主机上下载文件;通过BES服务器的iastool命令对项目进行发布,或通过BES管理控制台图形化界面进行项目的发布与管理;利用MySQL作为项目底层数据库支持;Windows系统经过HTYP网络协议,通过浏览器对项目进行访问。如果项目运行出现问题,使用SecureCRT登录主机,查看相应日志,或通过Navicat for Mysq!远程连接数据库,查看日志表记录,快速定位以提高系统的可维护性。