基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc

上传人:scccc 文档编号:14399159 上传时间:2022-02-05 格式:DOC 页数:7 大小:57KB
返回 下载 相关 举报
基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc_第1页
第1页 / 共7页
基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc_第2页
第2页 / 共7页
基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc_第3页
第3页 / 共7页
基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc_第4页
第4页 / 共7页
基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于JAVA开源技术的电子商务实验模拟系统设计与实现.doc(7页珍藏版)》请在三一文库上搜索。

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

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

3、整个系统的灵活性。2 本系统所使用的开源技术对于现有较成熟的WEB应用框架而言,其解决的主要问题无外乎下面几部分:1)将客户端的WEB页面请求中的输入数据封装为一个(请求)数据对象。2)对WEB请求中的数据进行合法性验证。3)根据不同的WEB页面请求,调度相应的商务逻辑对象进行处理,并将(请求)数据对象作为参数传入。4)商务逻辑对象完成业务规则的处理后,返回一个结果数据对象。5)通过表现层将结果数据对象中的数据展现给用户。6)业务实体的持久存储。WebWork2、Sitemesh、Hibernate、Junit、XDoclet、Ant等开源项目都是很成熟的开源项目。本系统的设计与实现通过综合利

4、用以上开源技术,非常轻松地解决了上述问题。WebWork是由OpenSymphony开源组织开发的,致力于组件化和代码重用的J2EE Web框架。WebWork由Xwork1和WebWork2共两个项目组成。Xwork1简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截器(interceptor),运行时表单属性验证,类型转换,强大的表达式语言等。拦截器(interceptor)就好像是一张过滤网,它用来对客户端的调用进行拦截,并对其进行一些处理,比如检查客户端调用的合法性、实现安全策略、对事务进行支持等。WebWork

5、2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成Action(由Action类调用商务逻辑对象完成业务处理),实现session及application范围的映射,以及request请求参数映射。每一个Action不依赖任何层和任何容器。他们通过ActionContext来使用request和response对象,实现了WEB层和逻辑层的分离。Webwork的Action能够通过赋予一定的属性值来运行,而不必启动web容器来进行测试,增强了WEB组件的可测试性。WebWork2支持多视图表示,视图部分可以使用JSP、V

6、elocity、FreeMarker、JasperReports、XML等。Web应用开发中,我们常常面临如何保证输入数据合法性的头痛问题。实现输入数据校验的方法无外乎两种:页面Java Script 校验、服务器端执行逻辑代码之前进行数据校验。前者的系统安全性难以保证,通常作为输入数据校验的辅助技术。WebWork使用Xwork的验证框架进行验证处理,它可以通过配置interceptor(拦截器)来激活。它可以为每个需要验证的Class指定一个xml验证文件,也可以为一个Class在不同的情况下指定不同的xml验证文件。WebWork可以给每个Action类指定对应的验证文件,也可以给Act

7、ion类的属性字段指定验证文件。最终通过拦截器来组装Action和其验证文件,使得逻辑层不需要考虑额外的数据验证,简化了业务处理逻辑。Sitemesh也是opensymphony开源组织开发的j2ee应用框架之一,它主要用来对Web页面进行布局管理,并且致力于为很多页面组成的大型网站提供统一的风格、导航和布局功能。SiteMesh通过filter截取request和response,并给原始的页面加入一定的装饰(Decorator),然后把结果返回给客户端,并且被装饰的原始页面并不知道SiteMesh的装饰,避免了因页面之间互相包含造成的页面间的耦合。本系统采用面向对象的设计与实现,而系统使用

8、关系型数据库管理数据,因为系统中的持久对象需要借助关系型数据库存储,从而带来了对象和关系的映射问题。很难做到把关系表记录完整的映射到持久对象的关系上来,这主要体现在多表的关系映射类型多样,关联的数据表个数难以确定,可能是一个表映射多个持久对象,有可能是多个表映射一个持久对象,更有可能的是表的某些字段映射到一个持久对象,但是另外一些字段映射到别的持久对象上。对象如果使用直接的数据库操作来存取成员以实现持久对象编程的话,对存在1:N关系的持久对象的查询其实就是1+n次对数据库的SQL,势必引起数据库存取效率的大幅下降。Hibernate则是持久层设计的最佳技术,它优雅地解决了上述各种对象和关系的映

9、射问题。它是开源和免费的, API开放,当其本身功能不够用的时候,可以自己编码进行扩展。Junit用于类模块的单元测试。XDoclet、Ant是支持项目自动重建和文档自动生成的优秀开源工具,它们可以大幅提高程序员的工作效率和工作质量。3 系统总体设计本系统的主要目标是实现模拟电子商务系统以便提供师生进行相关实验的软件平台。重点在于模拟电子商务环境中的交易与管理各方的业务流程,同时便于交易各方根据需要制定相应的业务规则,因此系统的设计应能适应商务规则的变化,对部分功能的实现没有必要真实的再现,比如安全认证子系统中认证中心的安全认证服务的实现。另外,本系统还应加强实验过程管理的功能设计,以便师生快

10、速掌握实验的过程和进度,能够对实验的成绩进行自动处理并提供相关查询。在一次实验中,学生通常在多个虚拟企业中扮演多种不同的业务角色,系统应提供快速的角色转换功能,从而便于学生了解不同业务流程相关操作之间的关系及相互影响。基于以上目标,系统共分两大子系统:商务系统、实验系统。商务系统共分五个二级子系统:电子银行系统、认证系统、交易系统、企业业务管理系统、物流系统。实验系统分为学生自助、实验管理二个子系统分别供学生、教师使用。在每个子系统中,根据不同的操作人员角色划分子模块,例如“交易系统”(系统结构如图1),分成“交易大厅”、“会员企业后台管理”、“交易中心后台管理”三个子系统,在会员企业后台管理

11、中,能够根据当前学生所承担的业务角色列出其涉及的多个企业供其选择。整个系统采用单点登录验证,从而减少学生在使用各模块功能时的登录操作,避免了当前一些较流行的实验模拟系统需要学生记忆多个密码,同一次实验中需要多次重复登录的问题,让学生更加关注业务流程,提高实验效率。图1 交易系统结构图实验系统分成学生自助、实验管理两个子系统。学生通过学生自助子系统可以查询教师布置的实验任务,已做实验的成绩,实验操作步骤的主要错误,从而了解不足之处及时加以改进。教师通过实验管理模块可以布置实验任务,查询学生实验进程和实验成绩,了解学生实验过程中普遍存在的问题以便及时加以指导。系统的分析与设计采用面向对象的UML建

12、模语言进行。在充分的系统需求分析后,通过UML的用例图和顺序图对系统的概念模型进行了描述,然后进行较详细的设计,描绘出系统的类图及类关系图,并建立了初步的数据模型。通过使用Borland公司的Together建模工具,我们实现了系统模型与源码、数据库的双向自动转换。为了适应本系统开发的工程化需要,将开发人员分为如下几类:a、系统分析员;b、后台组件开发程序员(主要是Action类与业务逻辑类);c、后台组件测试人员;d、前台用户界面程序员(主要是JSP程序员+美工);e、前台测试技术人员。通过Sitemesh和WebWork的结合,实现了各模块的用户界面与后台组件的独立开发与测试,有利于人员分

13、工,大大降低了开发人员用于信息交流的时间,提高了系统开发的效率。4 系统实现4.1、运行环境为适应高校计算机系统软件环境的多样性,本系统可运行于任一种符合J2EE规范的WEB容器,大多数流行的关系型数据库。本系统开发时选择了开源项目Tomcat及Mysql。4.2 WEB应用的配置限于篇幅,仅列出部分关键配置信息。基于J2EE规范,本系统的目录规划如下(表1):父目录子目录描述/srcJava类源代码/lib系统需要的第三方类库文件/docs系统开发文档/ROOTWEB应用根目录/ROOTWEB-INFWEB应用配置目录/ROOT/WEB-INFclassesJava类字节码文件目录/ROOT

14、_decoratorssitemesh装饰器页面表1 系统目录结构在/ROOT/WEB-INF中,存放web.xml、sitemesh.xml、decorators.xml等配置文件。WEB视图层的配置:本系统设计了多个装饰页面,下面列出主装饰页面在/WEB-INF/decorators.xml中的配置信息:*在主装饰页面main.jsp中进行页面的布局,形成较为流行的“上-左中右-下”的页面结构,上部显示系统标识及首页链接、各主要子系统链接,下部显示版权申明及联系方式,左部及右部显示常用模块,中部为当前页面的主功能操作区。其JSP页面主体部分列出如下: page=/sitemesh/left

15、.jsp/ page=/sitemesh/middle_top.jsp/ page=/sitemesh/middle_bottom.jsp/ page=/sitemesh/right.jsp/持久层Hibernate的配置:首先通过classes/hibernate.cfg.xml文件配置Hibernate的数据库连接信息。然后在每个需要持久化的类二进制文件的所在目录中建立与类同名的.hbm.xml文件配置该类属性与数据表中字段的对应关系以及类之间的映射关系。以下是Customer.hbm.xml的内容。在需要将Customer对象持久化时,使用如下代码:SessionFactory sf =

16、new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();Customer customer = new Customer();customer.setUsername(customername);customer.setPassword(customerpassword);session.save(customer);mit();session.close();4.3业务逻辑层的实现以交

17、易系统为例,该子系统实现的主要类列出如下(表2):类名主要功能IProduct产品类接口,规范产品类的主要操作,适应不同企业对产品类的要求。Product产品类,实现了Iproduct接口。各企业可继承该类,实现对各自产品的管理EccCart交易中心购物车类,可管理多种交易类型。EccCartItem购物车子项类EccOrder订单类EnpOptions企业选项类,管理业务规则表2 交易系统主要类列表通过以上类的协作实现了交易系统的主要业务逻辑。5 结束语总体上看,采用开源技术设计电子商务实验模拟系统具有开发周期短、系统灵活性高、易于开发及维护等优点,较大程度上降低了系统开发的复杂程度和开发费用,可适应多变的用户需求,具备广阔的应用前景。参考文献1 Java Open Source Programming.Joe Walnes,Ara Abrahamian,Mike Cannon-Brookes,Pat Lightbody.Indianapolis,Indiana:Wiley Publishing,Inc.2004.2 张向先,魏革.电子商务模拟实验系统的商务模式构建.情报科学,2003(12)3 戴 庆,司国海,李鹏飞.基于J2EE 的网上书店的构建技术及应用.大庆石油学院学报.2003(3)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1