基于JAVA开源技术的电子商务实验模拟系统设计与实现_第1页
基于JAVA开源技术的电子商务实验模拟系统设计与实现_第2页
基于JAVA开源技术的电子商务实验模拟系统设计与实现_第3页
基于JAVA开源技术的电子商务实验模拟系统设计与实现_第4页
基于JAVA开源技术的电子商务实验模拟系统设计与实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于JAVA开源技术的电子商务实验模拟系统设计与实现摘要该文介绍了如何运用ebrk、Siteesh、Hibernate等JAVA开源技术来设计与实现电子商务实验模拟系统,给出了系统构造、功能及实现方案。关键词电子商务;实验模拟系统;Java;开源技术1引言目前高校电子商务专业相关课程的教学迫切需要建立电子商务实验软件平台,该平台应实现包括B2、2、B2B、电子数据交换EDI、现代物流应用系统、电子金融、平安电子交易身份认证等施行电子商务必不可少的软件功能模块。电子商务的高速开展对软件开发技术提出了强有力的挑战,由于电子商务的内部逻辑复杂,平安性要求苛刻,商务业务规那么的变化较快,这就要求电子商

2、务实验模拟系统的开发技术可以强大、灵敏以适应电子商务实验教学的需求。在电子商务系统的设计与开发中,迫切需要解决的问题有:易维护性、易扩大性、可测试性、可靠性、高性能和平安性。目前的N-tier软件体系构造较好的解决了上述问题。通常将系统分成表现层、商务逻辑层、持久存储层。J2EE标准针对多层应用的设计、集成、性能、平安性和可靠性等诸多方面,为应用系统的开发提供了表现层、商务逻辑框架、持久化、事务、平安和日志效劳等方面的技术标准。目前符合J2EE标准的开源工程如雨后春笋般涌现,其中不乏优秀的技术。利用现有的优秀开源技术可以大大降低应用系统的开发周期和开发本钱,同时也能进步整个系统的灵敏性。2本系

3、统所使用的开源技术对于现有较成熟的EB应用框架而言,其解决的主要问题无外乎下面几局部:1将客户端的EB页面恳求中的输入数据封装为一个恳求数据对象。2对EB恳求中的数据进展合法性验证。3根据不同的EB页面恳求,调度相应的商务逻辑对象进展处理,并将恳求数据对象作为参数传入。4商务逻辑对象完成业务规那么的处理后,返回一个结果数据对象。5通过表现层将结果数据对象中的数据展现给用户。6业务实体的持久存储。ebrk2、Siteesh、Hibernate、Junit、XDlet、Ant等开源工程都是很成熟的开源工程。本系统的设计与实现通过综合利用以上开源技术,非常轻松地解决了上述问题。ebrk是由penSy

4、phny开源组织开发的,致力于组件化和代码重用的J2EEeb框架。ebrk由Xrk1和ebrk2共两个工程组成。Xrk1简洁、灵敏功能强大,它是一个标准的and形式实现,并且完全从eb层脱离出来。Xrk提供了很多核心功能:前端拦截器intereptr,运行时表单属性验证,类型转换,强大的表达式语言等。拦截器intereptr就好似是一张过滤网,它用来对客户端的调用进展拦截,并对其进展一些处理,比方检查客户端调用的合法性、实现平安策略、对事务进展支持等。ebrk2建立在Xrk之上,处理HTTP的响应和恳求。ebrk2使用ServletDispather将HTTP恳求的变成Atin(由Atin类调

5、用商务逻辑对象完成业务处理),实现sessin及appliatin范围的映射,以及request恳求参数映射。每一个Atin不依赖任何层和任何容器。他们通过Atinntext来使用request和respnse对象,实现了EB层和逻辑层的别离。ebrk的Atin可以通过赋予一定的属性值来运行,而不必启动eb容器来进展测试,增强了EB组件的可测试性。ebrk2支持多视图表示,视图局部可以使用JSP、Velity、Freearker、JasperReprts、XL等。eb应用开发中,我们常常面临如何保证输入数据合法性的头痛问题。实现输入数据校验的方法无外乎两种:页面JavaSript校验、效劳器端

6、执行逻辑代码之前进展数据校验。前者的系统平安性难以保证,通常作为输入数据校验的辅助技术。ebrk使用Xrk的验证框架进展验证处理,它可以通过配置intereptr拦截器来激活。它可以为每个需要验证的lass指定一个xl验证文件,也可以为一个lass在不同的情况下指定不同的xl验证文件。ebrk可以给每个Atin类指定对应的验证文件,也可以给Atin类的属性字段指定验证文件。最终通过拦截器来组装Atin和其验证文件,使得逻辑层不需要考虑额外的数据验证,简化了业务处理逻辑。Siteesh也是pensyphny开源组织开发的j2ee应用框架之一,它主要用来对eb页面进展布局管理,并且致力于为很多页面

7、组成的大型网站提供统一的风格、导航和布局功能。Siteesh通过filter截取request和respnse,并给原始的页面参加一定的装饰Deratr,然后把结果返回给客户端,并且被装饰的原始页面并不知道Siteesh的装饰,防止了因页面之间互相包含造成的页面间的耦合。本系统采用面向对象的设计与实现,而系统使用关系型数据库管理数据,因为系统中的持久对象需要借助关系型数据库存储,从而带来了对象和关系的映射问题。很难做到把关系表记录完好的映射到持久对象的关系上来,这主要表达在多表的关系映射类型多样,关联的数据表个数难以确定,可能是一个表映射多个持久对象,有可能是多个表映射一个持久对象,更有可能的

8、是表的某些字段映射到一个持久对象,但是另外一些字段映射到别的持久对象上。对象假如使用直接的数据库操作来存取成员以实现持久对象编程的话,对存在1:N关系的持久对象的查询其实就是1+n次对数据库的SQL,势必引起数据库存取效率的大幅下降。Hibernate那么是持久层设计的最正确技术,它优雅地解决了上述各种对象和关系的映射问题。它是开源和免费的,API开放,当其本身功能不够用的时候,可以自己编码进展扩展。Junit用于类模块的单元测试。XDlet、Ant是支持工程自动重建和文档自动生成的优秀开源工具,它们可以大幅进步程序员的工作效率和工作质量。3系统总体设计本系统的主要目的是实现模拟电子商务系统以

9、便提供师生进展相关实验的软件平台。重点在于模拟电子商务环境中的交易与管理各方的业务流程,同时便于交易各方根据需要制定相应的业务规那么,因此系统的设计应能适应商务规那么的变化,对局部功能的实现没有必要真实的再现,比方平安认证子系统中认证中心的平安认证效劳的实现。另外,本系统还应加强实验过程管理的功能设计,以便师生快速掌握实验的过程和进度,可以对实验的成绩进展自动处理并提供相关查询。在一次实验中,学生通常在多个虚拟企业中扮演多种不同的业务角色,系统应提供快速的角色转换功能,从而便于学生理解不同业务流程相关操作之间的关系及互相影响。基于以上目的,系统共分两大子系统:商务系统、实验系统。商务系统共分五

10、个二级子系统:电子银行系统、认证系统、交易系统、企业业务管理系统、物流系统。实验系统分为学生自助、实验管理二个子系统分别供学生、老师使用。在每个子系统中,根据不同的操作人员角色划分子模块,例如“交易系统系统构造如图1,分成“交易大厅、“会员企业后台管理、“交易中心后台管理三个子系统,在会员企业后台管理中,可以根据当前学生所承当的业务角色列出其涉及的多个企业供其选择。整个系统采用单点登录验证,从而减少学生在使用各模块功能时的登录操作,防止了当前一些较流行的实验模拟系统需要学生记忆多个密码,同一次实验中需要屡次重复登录的问题,让学生更加关注业务流程,进步实验效率。图1交易系统构造图实验系统分成学生

11、自助、实验管理两个子系统。学生通过学生自助子系统可以查询老师布置的实验任务,已做实验的成绩,实验操作步骤的主要错误,从而理解缺乏之处及时加以改良。老师通过实验管理模块可以布置实验任务,查询学生实验进程和实验成绩,理解学生实验过程中普遍存在的问题以便及时加以指导。系统的分析与设计采用面向对象的UL建模语言进展。在充分的系统需求分析后,通过UL的用例图和顺序图对系统的概念模型进展了描绘,然后进展较详细的设计,描绘出系统的类图及类关系图,并建立了初步的数据模型。通过使用Brland公司的Tgether建模工具,我们实现了系统模型与源码、数据库的双向自动转换。为了适应本系统开发的工程化需要,将开发人员

12、分为如下几类:a、系统分析员;b、后台组件开发程序员主要是Atin类与业务逻辑类;、后台组件测试人员;d、前台用户界面程序员主要是JSP程序员+美工;e、前台测试技术人员。通过Siteesh和ebrk的结合,实现了各模块的用户界面与后台组件的独立开发与测试,有利于人员分工,大大降低了开发人员用于信息交流的时间,进步了系统开发的效率。4系统实现4.1、运行环境为适应高校计算机系统软件环境的多样性,本系统可运行于任一种符合J2EE标准的EB容器,大多数流行的关系型数据库。本系统开发时选择了开源工程Tat及ysql。4.2EB应用的配置限于篇幅,仅列出局部关键配置信息。基于J2EE标准,本系统的目录

13、规划如下(表1):父目录子目录描绘/srJava类源代码/lib系统需要的第三方类库文件/ds系统开发文档/RTEB应用根目录/RTEB-INFEB应用配置目录/RT/EB-INFlassesJava类字节码文件目录/RT_deratrssiteesh装饰器页面表1系统目录构造在/RT/EB-INF中,存放eb.xl、siteesh.xl、deratrs.xl等配置文件。EB视图层的配置:本系统设计了多个装饰页面,下面列出主装饰页面在/EB-INF/deratrs.xl中的配置信息:deratrsdefaultdir=/_deratrsderatrnae=ainpage=ain.jsppatt

14、ern*/pattern/deratr/deratrs在主装饰页面ain.jsp中进展页面的布局,形成较为流行的“上-左中右-下的页面构造,上部显示系统标识及首页链接、各主要子系统链接,下部显示版权申明及联络方式,左部及右部显示常用模块,中部为当前页面的主功能操作区。其JSP页面主体局部列出如下:tableidth=100%align=entertrtdidth=134valign=tppage:applyDeratrnae=siplepage=/siteesh/left.jsp/td/trtrtdidth=488valign=tppage:applyDeratrnae=siplepage=/

15、siteesh/iddle_tp.jsp/brderatr:bdy/brpage:applyDeratrnae=siplepage=/siteesh/iddle_btt.jsp/td/trtrtdidth=122valign=tppage:applyDeratrnae=siplepage=/siteesh/right.jsp/td/tr/table持久层Hibernate的配置:首先通过lasses/hibernate.fg.xl文件配置Hibernate的数据库连接信息。然后在每个需要持久化的类二进制文件的所在目录中建立与类同名的.hb.xl文件配置该类属性与数据表中字段的对应关系以及类之间

16、的映射关系。以下是uster.hb.xl的内容。hibernate-appingpakage=.un.elablassnae=ustertable=USTERidnae=idlun=IDgeneratrlass=inreent/idprpertynae=strUserNaelun=usernae/prpertynae=strPassrdlun=passrd/lass/hibernate-apping在需要将uster对象持久化时,使用如下代码:SessinFatrysf=nenfiguratin().nfigure().buildSessinFatry();Sessinsessin=sf.pe

17、nSessin();Transatintx=sessin.beginTransatin();usteruster=neuster();uster.setUsernae(usternae);uster.setPassrd(usterpassrd);sessin.save(uster);tx.it();sessin.lse();4.3业务逻辑层的实现以交易系统为例,该子系统实现的主要类列出如下表2:类名主要功能IPrdut产品类接口,标准产品类的主要操作,适应不同企业对产品类的要求。Prdut产品类,实现了Iprdut接口。各企业可继承该类,实现对各自产品的管理Eart交易中心购物车类,可管理多种交易类型。EartIte购物车子项类Erder订单类Enpptins企业选项类,管理业务规那么表2交易系统主要类列表通过以上类的协作实现了交易系统的主要业务逻辑。5完毕语总体上看,采用开源技术设计电子商务实验模拟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论