基于J2EE农产品电子商务平台的设计

  • 投稿全球
  • 更新时间2015-09-22
  • 阅读量579次
  • 评分4
  • 61
  • 0

洪 颖

(北京服装学院计算机信息中心,北京 100029)

摘要:针对当前电子商务模式的应用优势和农业信息化的需求,采用J2EE技术基于组件的方法设计和实现了农产品电子商务平台。由于采用了J2EE多层架构技术,该系统不但具有良好的可移植性和可扩展性,也具有较高的可靠性。

教育期刊网 http://www.jyqkw.com
关键词 :农产品;电子商务;电子商务平台;J2EE;EJB;农业

中图分类号:TP311文献标识码:A文章编号:0439-8114(2015)01-0192-04

DOI:10.14088/j.cnki.issn0439-8114.2015.01.050

Design of Agricultural Products E-commerce Platform Based on J2EE

HONG Ying

(Computer Information Center, Beijing Institute of Fashion Technology, Beijing 100029, China)

Abstract: In the view of the advantages of applying e-commerce and the requirement of agricultural information, the agricultural products e-commerce platform was designed and implemented based on J2EE component technique. This system has a good portability, good scalability and high reliability due to using J2EE multi-layer architecture technique.

Key words: agricultural product; e-commerce; e-commerce platform; J2EE; EJB; agriculture

收稿日期:2014-01-10

基金项目:北京市青年英才项目(YETP1414);北京服装学院院内科研项目(2012A-17)

作者简介:洪 颖(1980-),男,安徽黄山人,讲师,硕士,主要从事信息检索和数据挖掘研究,(电话)18600209162(电子信箱)hongy1207@163.com。

中国是个传统农业大国,农业产业一直是中国的重要经济支柱,但是农业经济模式具有地域性强、季节性强、产品的标准化程度低、生产者分散等特点,传统的农户和经销商面对面的这种农产品销售模式显然难以满足农业发展要求,农民生产的农产品如果无法及时找到销售渠道,无疑会带来损失。随着互联网的发展,电子商务这种新型的商业运作模式迅速发展起来,它打破了时空的局限性,改变了传统的贸易模式,通过网络的方式实现消费者的购物、网上交易和在线电子支付以及各种商务活动[1]。如果将电子商务模式引入到农业行业中,构建农产品的电子商务平台将会有效推动农业产业化的步伐,促进农村经济发展。农产品电子商务平台能降低成本,提高效率,打破区域和时间的限制,实现农产品流通的规模化。

目前,在大型电子商务平台中,采用J2EE基于组件技术来开发具有较大的优势,能保证电子商务系统所需的高可用性、安全性、可靠性和可扩展性等特点,还能降低系统实现的复杂性。为此,使用J2EE技术来开发一个农产品电子商务平台,以期为农产品流通的规模化提供一定的保障。

1 相关技术介绍

1.1 J2EE技术

J2EE(Java 2 Platform Enterprise Edition)是SUN公司提出的使用Java技术构建多层次企业级应用的一系列标准和规范。其中所包含的各种组件、服务架构及技术层次均有共同的标准和规范,使各种依循这种标准和规范的不同平台之间具有了良好的兼容性,摆脱了过去企业级应用之间彼此无法兼容而导致的企业内部应用与外部应用难以互通的窘境[2]。

J2EE具有典型的四层结构[3],包括运行在客户端服务器上的客户层组件、运行在J2EE服务器上的表示层组件和业务逻辑层组件以及运行在EIS服务器上的企业信息系统(Enterprise information system)层软件。图1为J2EE多层应用模型体系结构。

客户层通常为浏览器或Applet等客户端实现的用户界面;表示层是一些Web组件,运行在J2EE服务器上,由Web容器运行,包括JSP、Servlet等;业务逻辑层由一些运行在J2EE服务器上的EJB组件组成,这些组件运行在EJB容器中,一个Bean从客户端接收数据、处理,然后把数据送到企业信息系统层存储起来。同样,一个Bean也可以从企业信息系统取出数据,发送到客户端程序;企业信息系统层主要处理企业其他一些系统软件和进行数据的存储。

J2EE平台能够更好地解决企业应用中的“信息共享”和“服务集成”两大技术问题[4]。系统具有安全性高、稳定性和可用性好、扩展性和伸缩性好以及良好的平台无关性等优势。

1.2 MVC设计模式

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,该模式把应用程序分为三个核心模块:模型(Model)、视图(View)和控制器(Controller)。各个模块分别担负着不同的任务[5]。

控制器负责视图和模型之间的交互,它主要负责两方面的动作,把用户的请求分发到相应的模型和将模型的改变及时反映到视图上[6,7]。视图是应用程序和用户之间的接口,它负责将应用显现给用户和显示模型的状态;模型是应用程序的主体核心部分,它封装了应用程序的数据结构和事务逻辑。

1.3 EJB组件及其类型

EJB(Enterprise Java Beans)是J2EE架构中服务器端组件模型,主要用于开发和部署多层结构、分布式的应用程序[8]。EJB组件通常要运行在EJB容器中,它的优点在于封装性和可移植性,在具有相似业务逻辑功能的应用系统之间不需要修改代码重新编译,支持软件的复用,降低开发成本,应用系统可以在一个支持EJB的环境中开发,完成后可以部署在其他环境中。

EJB从功能上可分为会话Bean(Session Bean)和实体Bean(Entity Bean)。

1)会话Bean(Session Bean)。Session Bean实现了运行于服务器上的业务逻辑,用户通过调用Session Bean来访问服务器,Session Bean在J2EE服务器上代表一个用户,它通过在服务器端运行业务逻辑为用户完成特定任务。

Session Bean有两种应用模式:无状态Session Bean(Stateless)和有状态Session Bean(Stateful)[9]。无状态Session Bean在一个方法调用的过程中能维持调用用户的状态,一旦方法执行完,状态就不被保持,但无状态Session Bean的Bean实现类可以被多个客户端共享使用。有状态Session Bean可以使用不同的Bean实现类一对一地维持某个调用用户的状态,每一个并发的用户都有一个对应的有状态Session Bean。

2)实体Bean(Entity Bean)。实体Bean代表数据库或另外一个企业应用系统中的数据对象,如数据库中的一条记录[10]。实体Bean的属性代表业务过程中处理的永久性数据,是持久性的,运行共享访问。会话Bean的状态不依赖于应用服务器而存在,是底层数据库记录的映像,和数据库记录保持同步,所以如果应用服务器停止运行,实体Bean的状态还保存在数据库中。

2 系统设计

2.1 系统功能模块的设计分析

农产品电子商务平台系统包括前台和后台部分,其中前台有以下功能模块。

1)会员模块。用户首次使用农产品电子商务平台需要进行会员注册,注册成功才能登陆平台购买商品,也可以享受会员商品特价。在会员模块中用户还可以进行修改注册资料、兑换积分等操作。

2)购物车模块。用户进入平台选购农产品时,可以使用购物车。购物车具有查看购物车商品、修改购物车商品、确认订单信息(包括查看商品数量、价格和总金额等)以及提交订单等功能。

3)订单管理模块。该模块主要提供订单信息,包括订单编号、金额、下单日期、订单状态等,用户可以查看和修改订单信息。

4)商品搜索模块。该模块可以让用户按日期、商品名称、类型等方式搜索商品,快速找到需要的农产品。

农产品电子商务平台的后台包括以下功能模块。

1)商品类别管理模块。主要实现对商品类别进行增加、修改和删除等操作,管理员还可以通过分类管理实现商品的分类并可以增加、修改和删除商品信息。该模块还支持下载Excel模板,批量导入商品信息。

2)商品管理模块。该模块主要实现管理员进行增加、修改和删除商品的操作。支持下载Excel模板,批量导入商品信息。

3)订单管理模块。系统管理员可以对订单进行管理、统计和打印,既可以按照会员信息进行统计,也可以按照商品信息进行统计等。

4)会员管理模块。此模块实现系统管理员对注册会员的管理功能,包括会员的查看、删除、设置会员权限、设置会员商品折扣和会员积分管理等。

5)管理员用户管理模块。该模块提供对系统管理员用户的管理功能,包括增加、删除、修改管理员用户等操作。

基于J2EE的农产品电子商务平台系统功能模块如图2所示。

2.2 数据库设计

数据库设计在系统开发过程中是一项重要的工作。一个系统的好坏很大程度上依赖于数据库设计的质量。为实现对数据的系统管理,保证数据的整体性、完整性和共享性,系统的开发采用了SQL Server 2005数据库。Microsoft SQL Server 2005是一个全面的数据库平台,提供了企业级的数据管理,具有连接速度快、支持用户多和安全性好等优点[11]。电子商务平台设计的主要数据表包括农产品信息表、农产品类别信息表、管理员表、用户信息表、订单信息表等,系统数据库ER模型如图3。

2.3 系统架构

依据J2EE的典型架构和B/C电子商务平台的特点,农产品电子商务平台采用4层架构,分别是客户层、表示层、业务逻辑层和企业信息系统层(图4)。

客户层是用户通过浏览器对农产品电子商务平台进行访问的网络终端,系统用户分为管理员用户、未注册用户和会员用户,管理员用户负责对电子商务平台进行管理和维护,而未注册用户和会员用户可以通过访问电子商务平台的前台界面进行商品查询和产品订购等操作。

表示层主要处理客户层的请求并做出响应,主要采用JSP实现与客户的信息交互。该层向客户层提供了两个接口,分别是电子商务平台接口和管理接口。电子商务平台接口允许客户层的所有用户访问农产品电子商务平台,而管理接口只能由管理员用户进行访问,一般用户与会员用户没有权限。只有注册会员才能从交易系统购买商品。一般公共信息浏览不做限制。

业务逻辑层主要对表示层的数据请求进行处理,是农产品电子商务平台的核心层。在该层中封装了各个业务逻辑EJB,如会员管理、订单管理及商品管理等。电子商务平台对业务逻辑层的业务对象进行封装,使得表示层不直接访问EJB组件,而是通过系统访问会话Bean和子系统会话Bean来实现对EJB组件的访问。该层主要应用的J2EE技术有EJB和JDBC。

企业信息系统层是农产品电子商务平台数据库系统所在的层。企业信息系统层一般处理业务逻辑层的数据库操作,该层提供了对组织数据基本的存储和访问。

3 系统实现

基于J2EE架构的农产品电子商务平台采用J2EE的4层架构,分别为客户层、表示层、业务逻辑层和企业信息系统层。下面主要介绍一下各层的实现。

3.1 客户层

基于J2EE架构的农产品电子商务平台客户层采用JSP动态网页的形式来实现,单击页面链接或按钮进入相应的功能模块执行。

3.2 表示层

基于J2EE的农产品电子商务平台通过HTTP协议使用Servlet调用相应的ELB组件来完成用户请求,并将处理的结果返回给用户。系统主要包括以下一些Java Servlet。

1)登录Servlet。当用户登录农产品电子商务平台时,登录Servlet负责读取用户名,然后检索和用户名匹配的用户实体Bean,并将用户输入的密码与用户实体Bean所存储的密码进行匹配,如果匹配成功,则为用户创建一个临时的购物车,并转到农产品电子商务平台的主页Servlet,如果匹配不成功,则显示一个错误信息并提示用户再次输入密码。

2)购物车查询Servlet。用户可以查看和修改购物车,当用户修改了购物车的状态时,购物车查询Servlet,将通过调用计算总价的无状态会话Bean重新计算价格。

3)购买Servlet。用户选择完商品确认购买时,可以将购物车状态会话Bean转化为订单实体Bean。

3.3 业务逻辑层

基于J2EE的农产品电子商务平台业务逻辑层的EJB组件主要有商品、用户、订单、订单明细、购物车、购物车明细和总价计算等。其中购物车和购物车明细不是永久性的,所以采用有状态会话Bean来实现,而商品、用户、订单和订单明细具有永久性的持续性对象,即便电子商务平台由于某种原因意外终止服务,这些实体的状态仍然要保证存在,所以采用实体Bean来实现,一旦机器出现问题,实体Bean能够在内存中被重新创建。总价计算可以针对任何一个购物车,非永久性,采用无状态会话Bean实现。

4 小结

针对电子商务平台在农业领域的应用优势,分析了农产品电子商务平台开发的各个环节的关键技术和实现方法,构建了高质量的J2EE应用框架。与其他电子商务平台相比,基于J2EE组件技术开发的系统具有很多优点,比如系统可以跨平台运行,后期修改很方便,单个EJB组件的修改对整个系统的影响很小等;由于采用J2EE架构和EJB组件技术,系统具有良好的可靠性和可扩展性。

教育期刊网 http://www.jyqkw.com
参考文献

[1] 杨传明.基于开源J2EE框架的电子商务实验平台研究[J].计算机应用与软件,2009,26(10):70-71.

[2] 徐俊萍,翟玉庆. J2EE技术及其在电子商务开发中的应用研究[J].计算机应用研究,2009(1):142-144.

[3] 董福壮.基于组件的B2C电子商务系统应用[J].计算机工程与应用,2009,72(2):127-129.

[4] 陈 勇.电子商务Web数据库技术相关方法的应用研究[J].计算机工程与应用,2008(5):175-178.

[5] 常晋义.基于J2EE的电子商务网构建技术及应用[J].计算机应用研究,2009(4):105-108.

[6] 倪晓秋,季 民,王光伟. J2EE案例开发[M] .北京:中国水利出版社,2005.10-19.

[7] 马 燕,林传立. J2EE在电子商务开发中的应用研究[J]. 计算机应用研究,2002,19(9):42-44.

[8] 刘继华,李腊元.基于Java的数据库连接池的设计与实现[J].计算机工程与应用,2003(7):183-185.

[9] 王 兵,徐汀荣.基于J2EE体系结构实现网上购物系统[J].信阳师范学院学报(自然科学版),2005,18(1):110-113.

[10] 蔡 明,陈永运.J2EE架构的研究与应用[J].计算机应用与软件,2004,21(1):42-43.

[11] 张红梅,鱼 滨.基于J2EE平台开发电子商务应用[J].计算机工程与应用,2003(24):139-142.

(责任编辑 王晓芳)