基于j2ee框架的电子商务在线支付平台的设计与实现.docx
- 文档编号:24594200
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:36
- 大小:223.17KB
基于j2ee框架的电子商务在线支付平台的设计与实现.docx
《基于j2ee框架的电子商务在线支付平台的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于j2ee框架的电子商务在线支付平台的设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。
基于j2ee框架的电子商务在线支付平台的设计与实现
学号200532580267
密级_______________
武汉大学本科毕业论文
基于J2EE框架的电子商务在线支付平台的设计与实现
院(系)名称:
国际软件学院
专业名称:
软件工程
学生姓名:
张学程
指导教师:
江聪世廖广志
二○○九年五月
BACHELOR'SDEGREETHESIS
OFWUHANUNIVERSITY
TheDesignandImplementationof
E-businessOnlinePaymentSystemBasedonJ2EE
College:
Internationalschoolofsoftware
Subject:
SoftwareEngineering
Name:
XuechengZhang
Directedby:
CongshiJiangGuangzhiLiao
May2009
郑重声明
本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本学位论文的知识产权归属于培养单位。
本人签名:
日期:
摘要
伴随着电子商务的快速发展,网上支付业务也逐步兴起。
作为电子商务活动的重要环节,在线支付网上支付的参与,可以使电子商务由网上信息搜索和协议草签的阶段,转入实质性的交易阶段,形成完整的电子商务。
通过对电子商务支付系统的研究,明确电子商务支付流程以及支付系统功能特点,提供系统的理论研究,设计并实现一个网上支付系统。
关键字:
电子商务;在线支付;设计;实现
ABSTRACT
Concomitantwithrapiddevelopmentofe-commerce,onlinepaymenttransactionsgrowgradually.Asakeylinkine-businesscommerce,onlinepaymentmakestransactionschangefrompaperystatetototallyonlinetrading.Bystudyingfromsomeonlinepaymentsystems,wegainaclearideaaboute-commercialpaymentstreamandfunctionalbehavioursofpaymentsystem.Sowecanprovidesystemicknowledgeaboutdesignandimplementationofanonlinepaymentsystem.
Keywords:
e-commerce;onlinepayment;design;implement
第1章绪论
本章将介绍论文的研究背景,研究现状和发展趋势,论文研究的目的与意义以及论文主要内容的介绍。
1.1研究背景
随着计算机、网络、信息技术的发展和日益融合,Internet已进入我们生活的各个领域和各个环节,无论是机关、单位还是家庭、个人,都可以通过Internet获取和共享资源信息。
在Internet的广阔联系与传统信息技术系统的丰富资源相互结合的背景下,一种相互关联的动态商务活动应运而生--电子商务,这种基于Internet的电子商务给传统的交易方式带来了一场革命。
据统计截至2008年底,中国电子商务市场交易额达到24000亿元[1],是2004年交易额的5倍。
电子商务市场发展如此迅猛,网络交易平台在满足顾客需求的设计上显得尤为重要。
对于电子商务交易,解决网上支付是最关键问题之一。
如果没有网上支付的参与,电子商务就停留在网上信息搜索和协议草签的阶段,无法进入实质性的交易阶段,因而不能形成完整的电子商务。
目前我国消费者网上购物的主要付款方式还是货到付款或事先邮政汇款,这破坏了电子商务的完整性,而且造成很多不必要的麻烦。
进行电子商务就是为了方便、提高效率、降低成本,一旦缺少了网上支付,电子商务的很多优势无法体现。
此外,我们必须清醒认识到,网上支付的基础环境还有许多的问题是值得我们关注和改善的:
网上支付的安全,社会性、体系状况以及网上支付相关的法规等等,都是现在制约网上支付发展的重要因素。
网上支付成了我国发展电子商务的瓶颈问题。
1.2研究现状及发展趋势
1.2.1研究现状
电子商务于90年代初兴起于美国、加拿大等国,但在直到近几年,电子支付才被人们普遍接受。
随着电子商务的发展,各种法规随之健全。
两大国际信用卡组织VISA和MasterCard合作制订的安全电子交易(SET)协议定义了一种电子支付过程标准,其目的就是保护万维网上支付卡交易的每一个环节。
而国内,各大城市都处于实验探索阶段。
各银行相继推出网上银行业务。
信用卡是目前最流行的支付方式,用卡付款代替传统的现金付款已越来越被人们所接受。
电子支付为用户提供了很大的方便,目前国内网上支付主要有三种业务形态:
银行或银联的电子支付平台;第三方支付服务商的电子支付平台;企业内部自行建设的电子支付平台。
1.2.2发展趋势
电子商务的一个瓶颈问题就是实现电子化的支付问题。
电子化的支付手段的出现已有一段时间,只是应用范围主要在金融机构之间,大企业间和信用卡消费等对交易环境有限制的局部领域[2]。
随着电子商务的广泛应用,因特网上的商品销售额迅猛增长,网上的资金流动已经成为电子商务发展的主要障碍之一,迫切需要金融业提供完善的网上支付中介服务。
作为买卖双方交易过程中的“中间桥梁”,第三方支付平台的崛起已是不峥的事实,大浪淘沙后,十大电子支付平台如支付宝,paypal,掌上通等已从中商家中脱颖而出,以其特定的技术优势,细分的服务市场,独特的经营处方,在电子支付市场各显身手,发展迅猛。
这不仅带给人们快捷便利的支付服务,还推动电子支付产业链日益成熟,从十大支付平台的创业背景,应用特色,经营现状可以看出,电子支付市场正如朝阳般冉冉升起[3]。
1.3项目研究的目的和意义
1.3.1研究目的
本项目的研究主要基于以下几方面考虑:
第一,系统了解电子商务支付流程以及存在问题;
第二,明确电子商务支付的功能与特点;
第三,设计并实现一个电子商务在线支付系统;
1.3.2研究意义
自九十年代以来,因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交流的场所,而因特网的商业应用则尤为引人注目。
全新的电子商务是指贸易活动各环节的电子化,它覆盖了与商务活动有关的所有方面。
它突出的标志就是增加贸易机会,降低贸易成本,简化贸易流程,提高贸易效率。
伴随着电子商务的快速发展,网上支付业务也逐步兴起。
所谓网上支付就是交易过程中的资金转移环节,使货币友有形流动变为无形信用信息在网上流通,消费者可以跨越时间和地域的限制。
网上支付的参与,可以使电子商务由网上信息搜索和协议草签的阶段,转入实质性的交易阶段,形成完整的电子商务。
本文作者希望通过对电子商务支付系统的研究,明确电子商务支付系统功能特点以及存在的问题,提供系统的理论研究,设计并实现一个网上支付系统。
1.4论文的主要内容
以前人的研究为基础,了解并熟悉在线支付的整个流程,架构设计基于J2EE框架的电子商务在线支付平台的架构设计,并实现面向管理者子系统。
本文以电子商务网上支付系统的实现过程为主线,分别对各个实现阶段作说明。
其中主要包括初期系统技术调研,需求分析,架构设计,界面设计,子系统系统实现及验证测试。
首先,确定开发语言,然后去支付宝等网站进行调研,了解在线支付的整个流程,并参照系统简介,分析系统需求,并同时进行知识储备,学习巩固J2EE相关知识,并学习Struts,Spring和Hibernate应用框架。
然后,需求分析的基础上,抽象出本系统与其他系统的接口,再设计出本系统内部的接口和函数,界面设计,并设计好数据库。
搭建好系统框架,并编码实现面向管理者功能模块,同时进行单元测试,然后集成各个单元模块进行集成测试验证。
1.5本章小结
本章第一节介绍项目的研究背景,随后两节介绍项目的研究现状、发展趋势、目的以及意义所在。
最后一节对论文项目的主要内容做了介绍。
第2章开发技术及开发环境
本章主要介绍项目的开发技术,开发工具以及环境配置。
2.1开发技术
2.1.1J2EE
1.J2EE简介
目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
它是一套不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
2.J2EE的优势
J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:
保留现存的IT资产,由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。
这样,一个以渐进的方式建立在已有系统之上的服务器端平台机制是公司所需求的。
J2EE架构可以充分利用用户原有的投资。
每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。
由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。
高效的开发,J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。
这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
支持异构环境,J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。
因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。
这在典型的异构企业计算环境中是十分关键的。
J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
可伸缩性,企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上。
例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器(这是NT服务器所望尘莫及的)。
J2EE领域的供应商提供了更为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
稳定的可用性,一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。
因为Internet是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。
若是意外停机,那会有灾难性后果。
J2EE部署到可靠的操作环境中,他们支持长期的可用性。
一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。
最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。
这是实时性很强商业系统理想的选择[4]。
2.1.2应用框架
1.什么是应用框架
Spring框架的设计者RodJohnson对框架技术的描述是:
框架是可重用的、半成品的应用程序模块,它可以用来产生专门的定制程序。
比如Sun公司的J2EE技术规范和标准其实也就是一个框架体系、Microsoft公司的VS.Net技术平台其实也是一个框架体系[5]。
2.为什么应用框架
软件系统发展到今天,已经很复杂了,特别是服务器端软件,涉及到的知识、内容、问题太多。
在某些方面使用别人成熟的框架,相当于别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。
而且框架一般是成熟稳健的,可以处理系统中的很多细节问题,比如,事物处理,安全性,数据流控制等问题。
还有框架一般都经过很多人使用,结构和扩展性都很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。
软件工程中。
强调一个很重要的概念:
高内聚,低耦合。
为了实现“高内聚、低耦合”,把问题划分开来,对软件进行分层,各个解决,易于控制,易于延展,易于分配资源。
框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。
2.1.3Struts,Spring,Hibernate
本项目中采用的是Struts2.0+Spring2.5+Hibernate3.0的整合:
1.Struts框架--基于MVC的Web应用经典框架
MVC模式,Model-View-Control的缩写,模型(Model)封装数据和所有基于对这些数据的操作,视图(View)封装对数据的显示,即用户界面。
控制(Control)封装外界作用于模型的操作和对数据流向的控制等。
MVC模式将业务处理与显示分离,运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的低偶合的构件。
Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
它采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用。
和其他的java架构一样,Struts也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。
利用Struts框架进行Web应用系统开发时,不仅从整体上能够减轻构建J2EEWeb应用系统项目的设计和开发实现的负担,也为Web应用系统提供国际化、异常处理和数据库连接池等方面的技术支持。
开发者使用Struts之类的框架是为了隐藏诸如对HTTP、CGI以及JSP之类技术应用的烦琐技术实现细节。
“填空”式地开发实现应用系统。
Struts框架本身实现了MVC模式,也发展了MVC模式;应用系统的开发者可以采用“填空”式的方式来进行开发,因为Struts框架将一个标准的MVC的具体实现中的各个组件部分已经划分清晰和组件分离了。
另外Struts框架还把标准的Servlet、JSP、自定义标签(TagLib)和信息资源(MessageResources)等整合到一个统一的应用框架中,开发人员利用该应用框架进行应用系统的开发时,不用再自己设计和编码实现MVC模式中的各个层的核心组件和应用系统的体系架构的正确性,因此能够节省开发时间和降低实现的风险。
降低应用系统中的各个层组件之间的耦合度。
采用Struts框架技术,可以加快应用系统的开发速度、增强应用系统的灵活性、降低应用系统中的各个层组件之间的耦合度。
因为它将应用系统中的表示层和控制层彼此松散地耦合在一起,这主要得益于采用struts-config.xml配置文件进行各个组件的配置管理;这样的设计方案也易于对系统的维护和功能扩展。
各个开发人员之间的分工明确。
由于基于Struts框架技术实现的Web应用系统中的控制层、业务层与表示层三者之间各自相互分离,所以这样的设计方案能够使应用系统中的表示层的开发者(网页设计人员)与后台业务功能具体实现的Java程序员各司其职和分工明确,并且可以并行开发,提高开发效率。
简化表示层页面的设计和实现。
在Struts框架中,应用系统的开发者可以在表示层的页面中大量地使用Struts框架中所提供的定制标签库技术,以实现在页面中把业务逻辑处理的功能实现代码分离开。
从而简化系统中表示层的设计和开发实现,进而避免在页面中出现大量的Java脚本代码[6]。
本项目采用的是Struts2.0--号称全新的框架,但这仅仅是相对Struts1而言。
Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:
WebWork基础上发展起来的。
从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。
或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。
因为Struts2是WebWork的升级,而不是一个全新的框架,稳定性、性能等各方面都有很好的保证:
而且吸收了Struts1和WebWork两者的优势,是一个非常值得学习的框架。
2.Spring框架
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现WriteOnce及RunAnywhere的承诺。
Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。
可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。
然而,Spring并不想取代那些已有的框架,而与它们无缝地整合。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
Spring提供的控制反转和面向切面编程插件式架构降低了应用组件之间的依赖性。
借助于XML定义文件,开发者能够在运行时连接不同的应用组件,这对于单元测试特别有用,特别是那些需要针对不同客户实施不同的配置而言[7]。
轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的、典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了低耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你[8]。
Hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任[9]。
2.2开发环境
操作系统:
:
MicrosoftWindowsXPProfessionalSP2
数据库:
MySQL5.0
服务器:
ApacheTomcat6.0
开发平台:
Myeclipse7.0
建模设计工具:
StarUML,PowerDesigner
2.3本章小结
本章第一小节主要对项目所用的J2EE技术以及基于J2EE的开源应用框架Struts,Spring,Hibernate作介绍;并随后在第二小节说明项目所用的软硬件配置环境。
第3章系统设计
本章主要介绍项目的架构设计过程,包括需求分析,系统设计以及界面设计三部分。
3.1系统需求分析
电子商务网上支付系统的用户主要为为消费者和商家提供一个安全、快捷的网上交易平台。
3.1.1系统用户特征
电子商务网上支付系统包含面向客户,面向管理者和系统管理三部分,根据功能分布特点,将系统用户划分为议以下三种:
1.客户
展使用网上支付系统进行付款、收款、账户和交易管理的客户。
2.管理者
使用后台管理系统进行报表清单查询。
3.超级管理员
负责对管理者进行增、删、维护。
3.1.2系统依赖关系
在原始设计上,本系统不是独立的,与银行卡系统和网上购物系统都有接口进行交互。
系统依赖关系如图3.1所示。
账户充值时,通过银行卡系统接口实现对账户进行充值。
为了更具有商业价值,应该提供各大大型网站的接口,方便用户适用本系统进行支付。
图3.1系统上下文依赖关系示意图
3.1.3系统功能需求
这里只作需求的概括描述,具体需求规约可参见软件需求规格说明书。
1.需求描述
客户模块
用户注册:
注册并邮件确认帐号。
用户登录:
输入用户名和密码以及验证码登入。
账户管理:
包括查询账户,我的账户以及账户充值。
我的账户包括个人信息、账户信息,安全信息。
网上支付:
包括担保交易付款,即时到帐付款。
网上收款:
包括担保交易收款,即时到帐收款。
交易管理:
包括个人交易查询,交易处理和交易地址管理。
个人交易包括买入交易,卖出交易,买入卖出交易。
每种交易分:
所有交易,进行中的交易,等待发货的交易,成功的交易,失败的交易,退款的交易,合并付款。
交易处理是对查询的交易执行的操作
管理模块
报表查询:
包括日报、月报、年报以及某时间段报表查询。
系统管理模块
管理员用户管理:
包括管理员账户的添加,删除以及维护。
2.Usecase
为了更直观的了解系统需求,通过用户图对系统用户以及每种用户对应的功能直观描述。
本系统的三类用户:
客户,管理者,超级管理员,客户与管理者和超级管理员相对独立,其中客户模块用例图如图3.2所示,管理模块以及系统管理总用例图如图3.3所示。
图3.2客户模块用例图
而超级管理员是继承自管理者,拥有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 j2ee 框架 电子商务 在线 支付 平台 设计 实现