摘 要
Internet以其标准化、全球化、全民化、迅猛发展等特点成为了电子商务的基础,电子商务活动己经演变成了利用Internet进行经济活动的网络经济。电子商务网站如雨后春笋般地发展壮大起来,各式各类的网上商城层出不穷,从而使Internet上的应用更加丰富多彩。
随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。电子商城是电子商务的一个非常有代表性的分支。
本文描述了用JSP技术实现动态电子商城的开发概述、技术特征、应用原理及方法,充分突出了JSP技术的优越性。简要论述了电子商务的优势、对社会的影响和建立电子商务网站应该注意的问题,并介绍了整个网站的运行流程,数据库的结构及网站的页面组成。着重论述了用户管理、商品管理以及购物车和订单系统的具体功能实现、关键技术的使用,以及与其他方法的综合应用。
【关键词】电子商务,电子商城,JSP,模块,数据库
JSP-based e-business Website
Chai Jian
(School of mathematics, physics and information, Zhejiang Ocean University 316004)
Abstract
Internet standardization with globalization, all citizens, the rapid development of such characteristics as the e-commerce infrastructure, E-commerce activity has been the use of the Internet has evolved into economic activities of the network economy. E-commerce websites have sprung up and they have grown in strength and variety of online mall endless, so that the Internet be used more colorful.
With the Internet, information technology and the rapid development of individuals, enterprises, the rapid popularization of the Internet, WWW site enterprises in commercial activities play an increasingly larger role in the information age, the establishment of a powerful, beautiful interface of e-commerce websites set up e-commerce platform for the development of enterprises is essential. Electronic business e-commerce is a very representative of the branch.
This paper describes the use of JSP dynamic electronic mall outlined the development, technical characteristics, the principle and method of application, fully highlighted the advantages of JSP. Briefly discussed the advantages of e-commerce and its impact on society and the establishment of e-commerce websites should be noted, and on the website of the whole operation process, the structure of the database and web page component. Focuses on the user management、merchandise management、Cart and orders of concrete realization, key technologies, and to use other methods of integrated application.
【Keywords】 E-commerce,e-business,JSP,modules,database
目录
TOC 1-3 摘 要 I
Abstract II
第一章 绪 论 1
1.1课题研究的背景 1
1.1.1电子商务 1
1.1.2电子商务特点 1
1.1.3电子商务的种类 1
1.1.4电子商务现状 2
1.1.5电子商务的发展趋势 2
1.2 论文的主要工作 4
第二章 技术简介 5
2.1 J2EE 5
2.1.1 J2EE概念 5
2.1.2 J2EE相关技术 5
2.2 MVC模式 6
2.2.1 MVC模式概念 6
2.2.2 Struts的概念 6
2.2.3 Struts的体系结构 7
第三章 电子商城应用系统概述 8
3.1商城应用系统 8
3.1.1 系统管理 8
3.1.2 网上商城 8
3.2 外围系统 8
3.2.1 支撑系统 8
3.2.2 业务平台 9
第四章 电子商务应用系统的设计与实现 10
4.1 系统总体设计 10
4.1.1 电子商务平台体系架构 10
4.1.2 电子商城平台总体结构 10
4.1.3 电子商城平台软件体系结构 11
4.1.4 电子商城平台系统接口 11
4.2 软件平台 12
4.2.1 J2EE的优势 13
4.2.2 J2EE的四层模型 14
4.3 系统流程 14
4.4 系统功能模块设计与实现 16
4.4.1 系统管理模块设计与实现 16
4.4.2 网上商城模块设计与实现 18
第五章 总结 21
参考文献 22
第一章 绪 论
1.1课题研究的背景
1.1.1电子商务
电子商务(Electronic Commerce),是指实现整个贸易过程中各阶段的贸易活动的电子化。
Internet以其标准化、全球化、全民化、迅猛发展等特点成为了电子商务的基础,电子商务活动己经演变成了利用Internet进行经济活动的网络经济。电子商务网站如雨后春笋般地发展壮大起来,各式各类的网上商城层出不穷,从而使Internet上的应用更加丰富名彩[1]。
1.1.2电子商务特点
Internet时代的特点:一是全球化;二是个性化;三是低成本;四是持续不断的发展。Internet以其巨大的好处为全世界带来了革命,目前正成爆炸性增长势头。Internet及其上的各种应用系统将会得到持续不断的发展[2]。
Internet在商务领域引起了一场巨大的革命,电子商务循应Internet时代的发展,而具有鲜明的特点,主要表现出如下特点:
1、电子商务能够使商家或企业通过网上销售卖”向全世界,能够使顾客和消费者足不出户买”遍全世界,从而使其交易成本可以大幅度地降低。
2、电子商务可以实现在线销售、在线购物、在线支付,使商家或企业及时跟踪顾客的购物趋势,从而使其贸易活动可以大幅度地提高效率。
3、商家或企业可以利用电子商务在网上广泛传播自己的独特形象;密切同合作伙伴的联系,改善合作关系;及时为顾客提供技术支持和技术服务,降低服务成本;促进商家和企业内部之间的信息交流,及时得到各种信息,并可以大幅度地保证决策的科学性和及时性。
1.1.3电子商务的种类
电子商务一般分为如下几种类型[3]:
企业对个人的电子商务(B 2 C)
企业对个人的电子商务是人们最熟悉的一种商务类型-一网上商店。近年来,随着Internet技术的兴起,网上购物不仅成为了可能,而且成为了热门。由于这种模式节省了客户和企业双方的时间、空间。大大提高了交易效率,节省了各类不必要的开支。因而,这类模式得到了人们的认同,获得了迅速的发展。
2、个人对个人的电子商务(C 2 C)
个人对个人的电子商务是一种比较特殊的电子商务,是指不同的个人通过互连网实现商务过程,最典型的商务活动如:网上拍卖等。
3、企业内部的电子商务
企业内部网(Intranet)是种有效的商务工具,它可以用来自动处理商务操作及工作流,增加对重要系统和关键数据的存取,共享经验,共同解决客户问题,并保持组织间的联系。一个行之有效的企业内部网可以带来如下好处:增加商务活动处理的敏捷性,对市场状况能更快地做出反应,能更好地为客户提供服务。
4、企业对政府的电子商务(B to G)
企业对政府的电子商务是政府推行阳光工程”等的形式体现,最典型的商务如:金税工程一增值税发票开票系统、远程电子报税系统、金关工程一远程电子报关系统等。
5、消费者对政府的电子商务(C to G)
消费者对政府的电子商务也是政府推行电子政务”的形式体现,最典型的如:个人税务申报,社会福利发放等。
1.1.4电子商务现状
据2004年《网络银行系统案例》,IBM公司的有关专家曾预测,Internet将发展成为全世界最广大、最深厚、最快捷和最安全的市场,在全世界范围内电子商务必将获得长足的发展[4]。
据《2003中国电子商务年鉴》,CCID的研究分析资料表明:2003年12月,我国电子商务网站3804家,比2002年3391家增长12%,能有效运行的1533家,比2002年1326家增长16%;消费类电子商务网站2277家,其中综合类网站285家,专业类网站1992家,能有效运行的737家;B2C交易额2002年为13.15亿元,2003年25亿元,年增长率90%;目前全国己有4万家商业网站,其中网上商店7000余家。电子商务项目大量推出,几乎每天都有各类电子商务咨询网站、网上商店、网上商城、网上专卖店、网上拍卖等诞生[5]。电子商务应用与发展地域也由北京、上海、深圳等极少数城市,开始向各大中城市发展。截止今年第一季度,我国互联网上网人数达到1.44亿,全国网站数为78.84万个,从网站性质与服务内容来看,企业网站数的比例最大,占整个网站总数的70%,电子商务带来许多新的机遇和挑战,企业网站的增多,将为中国互联网产业的振兴和整个经济起飞插上有力的翅膀[6]。
1.1.5电子商务的发展趋势
目前,电子商务技术呈现出了面向整体解决方案的发展趋势。这种整体解决方案的电子商务,比起层次复杂的客户/服务器结构,有更为优良的系统性能和应用效果。
电子商务还呈现出向中小用户靠拢的发展趋势。在过去,IT的先进技术较容易在大企业获得推广应用。而电子商务则不同,它不仅易被大企业接受,同时也十分适合中小企业开拓市场发展业务的需要,因此,它很快将在规模不同的企业,包括小企业中推广[7]。
我国电子商务的发展趋势具体表现为以下几点:
一、向纵深化发展
1、电子商务的基础设施将日趋完善
图像通信网、多媒体通信网将建成使用,三网合一潮流势不可挡,高速宽带互联网将扮演越来越重要的角色,制约中国电子商务发展的网络瓶颈”有望得到缓解和逐步解决。我国电子商务的发展将具备良好的网络平台和运行环境。消费者的上网费用将越来越低廉。移动电子商务将快速发展。移动通讯将成为进行电子商务的主要媒体。
2、电子商务的支撑环境将逐步规范和完善
电子商务的社会及商业环境更趋成熟。网民的消费观念和行为将发生变化,对电子商务的接受程度将不断提高。企业对电子商务的认识更深化,实施电子商务的紧迫性和自觉性都会大大提高。
电子商务的法律环境将更完善。随着电子商务的相关基本法律、法规的出台和实施,国内电子商务将得到有效的法律保障。电子商务的安全性将得到有力的提升。我国将结合国情,发挥国家在保障电子商务交易安全方面的主导作用,消除人们对目前电子商务安全性的担忧。
电子商务的物流体系逐步完善。随着电子商务的发展和需要,跨地区的专业性物流渠道将适时建立和完善,使得电子商务公司在配送体系的选择方面空间更大,成本将降低。
3、企业发展电子商务的深度将进一步拓展
随着电子商务技术创新与集成度的提高,企业电子商务将向纵深挺进,新一代的电子商务将浮出水面,取代目前简单地依托网站+电子邮件”的方式。电子商务企业将从网上商店和门户的初级形态,过渡到将企业的核心业务流程、客户关系管理等都延伸到互联网上,使产品和服务更贴近用户需求。互动、实时成为企业信息交流的共同特点,网络将成为企业资源计划、客户关系管理及供应链管理的中枢神经。企业将创建形成新的价值链,把利益相关者联系起来,形成更高效的战略联盟,共同谋求更大的利益。
二、向专业化发展
1、个人消费者的专业化趋势
要满足消费者个性化的要求,提供专业化的产品线和专业水准的服务至关重要。今后若干年内,我国网上购物人口仍将是以中高收入水平的人群为主。他们购买力强,受教育程度较高,生活的个性化需求比较强烈。特别是对那些技术含量、知识含量较高的商品和服务,人们一般希望在购买前能够得到专家的指导。因此,能够提供一条龙服务的垂直型网站”以及某一类产品和服务的专业网站”发展潜力更大。
2、面向企业客户的专业化趋势
对B2B电子商务模式来说,发展以特定行业为依托的专业电子商务平台”也是一种趋势。如美国商务网”就是为国内中小企业开拓国外市场服务的专业网站,专为化工企业服务的中国化工信息网”在行业内影响较大。
三、向国际化发展
依托于互联网的电子商务能够超越时间、空间的限制,有效地打破国家和地区之间各种有形、无形的壁垒,刺激国家和地区的对外贸易发展。随着国际电子商务环境的规范和完善,中国电子商务企业必然走向世界。这是适应经济全球化,提升我国企业国际竞争力的需要。电子商务对我国的中小企业开拓国际市场、利用国外各种资源是千载难逢的时机。借助电子商务,中小企业传统市场的竞争力可以得到加强,并有更多机会将产品销售到全球各个国家和地区。
四、向区域化发展
电子商务的区域化趋势是就中国独特的国情条件而言的。中国是一个人口众多、幅员辽阔的大国,社会群体在收入、观念、文化水平等方面都有不同的特点。我国总体仍然是一个人均收入较低的发展中国家,而且城乡经济的不平衡性、东西部经济发展的阶梯性、地区收入结构的层次性都十分明显。目前上网人群主要集中在大城市,今后相当长时间内,上网人口仍将以大城市、中等城市和沿海经济发达地区为主。而B2C电子商务模式的区域性特征非常明显。以B2C模式为主的电子商务企业在资源规划、配送体系建设、市场推广等方面都必须充分考虑这一现实,采取有重点的区域化战略,才能最有效地扩大网上营销的规模和效益。
总之,中国作为发展中国家,要顺利开展电子商务活动,还存在许多障碍。随着国家信息化的加强,企业信息化的提高,将会逐步缩短中国与发达国家的差距。应该说,中国电子商务的发展困难还不少,但前景非常光明。
1.2 论文的主要工作
本论文的主要工作是详细论述一个在网络中能够通用的电子商务系统”,该系统能够正常地运行起来,并且在性能和功能上能够满足在客户登入系统并能购物及管理员可以登入系统进行商品管理的基本要求。通过对这个项目的研究与实施,我进一步理解了电子商务业务方面和J2EE技术方面的知识,了解了电子商务和J2EE的发展历史和未来发展方向,认识到了应用的广泛,看到了它巨大的市场前景。
本文主要解决了如下的问题:
1、第一章系统地分析了电子商务系统的功能和发展趋势。
2、第二章比较全面的介绍了J2EE技术,着重介绍MVC模式。
3、第三章结合用户的实际需求和系统的特点,详细分析了本系统各组成部分,包括业务应用系统、外围系统、业务平台,并提出了业务系统的建设目标和技术原则。
4、第四章根据本电子商务系统的架构需求和特点,给出了适合本电子商务系统的总体设计,确定了J2EE开发平台。详细讲述了系统管理和网上商城功能模块,在各层中选择确定了不同的组件技术(JSP,Servlet等),设计了系统使用的数据库,实现了关键模块的设计。
最后对论文的工作进行了总结。归纳了本文的理论与实践结论,提出存在的问题和改进建议。
第二章 技术简介
2.1 J2EE
2.1.1 J2EE概念
目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform EnterpriseEdition,J2EE)[8]。
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行”的特性、方便存取数据库的JDBC API,CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans),JavaServlets API,JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业应用开发者大幅缩短投放市场时间的体系结构。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能[9]。
2.1.2 J2EE相关技术
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对在本系统中用到的J2EE的几种技术规范进行简单的描述[10]:
1、JDBC(Java Database Connectivity):
JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性。
2、JNDI(Java Name and Directory Interface):
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统或应用服务器中的对象。
3、JSP(Java Server Pages):
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
4、Java Servlet:
Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
5、XML(Extensible Markup Language):
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,可以得到一个完美的具有平台独立性的解决方案。
2.2 MVC模式
2.2.1 MVC模式概念
模型-视图-控制器(Model-View-Controller,MVC)模式比较的特别,含义比较的广,涉及的层面也不仅仅是设计这一块,不能简单的把它归为设计模式。当然,它主要还是作为一个设计的概念被提到的,在J2EE体系中,MVC有着至关重要的作用。所谓MVC,是一种划分系统功能的方法,它将一个系统划分为三个部分:
模型(Model):封装的是数据源和所有基于对这些数据的操作。在一个组件中,Model往往表示组件的状态和操作状态的方法。
视图(View):封装的是对数据源Model的一种显示。一个模型可以由多个视图,而一个视图理论上也可以同不同的模型关联起来。
控制器(Controller):封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般Controller在Model和View之间起到了沟通的作用,处理用户在View上的输入,并转发给Model。这样Model和View两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller连接起这两个部分。
使用MVC的好处,一方面,数据和表示分离,使得添加或者删除一个用户视图变得很容易,甚至可以在程序执行时动态的进行。Model和View能够单独的开发,增加了程序了可维护性,可扩展性,并使测试变得更为容易。另一方面,将控制逻辑和表现界面分离,允许程序能够在运行时根据工作流,用户习惯或者模型状态来动态选择不同的用户界面[11]。MVC设计模式示意图如下图2-1所示:
图2-1 MVC设计模式示意图
2.2.2 Struts的概念
Struts有一组相互协作的类(组件)、Serlvet以及jsp taglib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge。在视图层,Struts能够与JSP,Velocity Templates,XSL等等这些表示层组件相结合[12]。
2.2.3 Struts的体系结构
1、从视图角度(View)
主要由JSP建立,struts自身包含了一组可扩展的自定义标签库(TagLib),可以简化创建用户界面的过程。目前包括:Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个Taglib[13]。
2、从模型角度(Model)
模型主要是表示一个系统的状态(有时候,改变系统状态的业务逻辑操作也划分到模型中)。在Struts中,系统的状态主要有ActiomForm Bean体现,一般情况下,这些状态是非持久性的。如果需要将这些状态转化为持久性数据存储,Struts本身也提供了Utitle包,可以方便的与数据库操作。
3、从控制器角度(Controller)
在Struts框架中,Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的业务逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。[10]
第三章 电子商城应用系统概述
3.1商城应用系统
3.1.1 系统管理
系统管理员对整个电子商务系统进行有效的管理,完成系统的各个模块的基础设置,是整个电子商务的基础。
系统管理的主要功能包括:
1、提供系统管理员对整个电子商务系统需要的各种参数的设置。
2、为业务应用提供用户信息维护。
3.1.2 网上商城
网上商城是在互联网平台上发展的一个用于个人用户、企业用户进行网上交易的一个场所,它包括产品发布、网上超市等功能。可为代理商提供网上经营平台。
网上商城系统的主要功能包括:
1、为商城运营商提供商城管理功能,招徕和管理商城内的各个商家。
2、为入驻商家提供商店、商品管理的功能。
3、建立商品展示、导购系统,引导消费者选购需要的商品。并提供包括在线订单、批发在内的多种形式的交易手段。
4、交易达成后,引导消费者完成订单填写、支付操作,通知商家、物流方及时履行订单,并跟踪订单的执行情况。
5、为了辅助商家经营网上商店,提供必要的进销存功能。
6、客户服务、售后支持功能。
3.2 外围系统
业务系统的业务开展需要支撑系统、业务平台和系统接入平台的系统支持。
3.2.1 支撑系统
支撑层包括认证系统、支付系统和计费结算系统。
由于支撑系统不是本项目的开发内容,因此,本节只作简单介绍。
一、认证系统为其它各种需要使用证书服务的系统提供证书查询和各种证书安全应用的接口。
二、支付系统为电子商务业务提供统一的支付接口,支付类型包括基于银行卡的支付和基于电子商务业务资源的支付,支付方式包括基于计算机终端的支付和基于移动终端的支付。
支付系统向应用系统提供统一接口,后台连接各银行的支付网关实现基于银行卡的支付,连接商城账务系统实现订单的支付。应用系统通过与电子商务平台支付系统的单一接口即可以实现多家银行和商城订单的支付。
三、计费结算系统负责整个电子商务业务的计费和结算功能,各种业务系统不再包含计费和结算功能,而是将交易记录以原始订单的方式发送到计费和结算系统。
3.2.2 业务平台
业务平台提供各种业务所需的公共功能,各种电子商务业务应用依托业务平台二次开发;业务平台包括用户认证、交易处理、支付和认证接口、计费和结算接口等功能。
1、用户认证
各种电子商务业务根据具体的业务种类可以要求用户认证或不需要认证,对于必须进行用户认证的业务用户需要事先办理业务注册,由营业系统将用户注册信息发送到业务平台,业务平台统一存储用户注册信息,并为各业务提供统一的用户认证功能。
用户认证包含两级:
(1)统一的接入认证,根据用户注册的电子商务业务的密码确认用户访问的合法性;
(2)统一的业务认证,各种业务可以通过业务平台查询用户资料,确认用户是否有权限使用业务。
2、交易处理
业务平台的交易处理部分实现对电子商务系统所有交易的集中处理,主要实现订单管理、交易数据管理、交易安全管理、交易完整性管理、交易流量控制、日志管理等功能。
(1)订单管理,在电子商务应用系统的开发中,经常要用到订单管理,因此在电子商务业务平台中提供标准的订单管理模块,各应用系统可以通过调用这些模块进行相应的参数设置,或在其上进行扩展,生成自己的订单管理系统,订单管理包括购物车管理、网上下单、订单查询、订单修改、订单撤销、订单清分等功能;
(2)交易数据管理,建立系统交易数据库,通过分析不同应用系统的交易报文,摘取其中的付款方、收款方、金额等关键信息,建立标准格式的交易记录,保存在交易数据库中,为结算处理和统计分析提供原始数据;
(3)交易安全管理,对电子商务系统内部、电子商务系统与外部系统之间传递的报文进行加密解密处理;
(4)交易完整性处理,在交易过程中出现各种异常情况时由业务平台通过恢复机制保证交易的完整性,保证交易的完整性和交易各方的数据一致;
(5)交易流量控制,提供交易量过大时的处理机制,保证系统的稳定和可靠性;
(6)日志处理,对业务平台处理的所有交易形成日志文件。
3、认证和支付接口
业务平台提供对认证和支付接口的封装,向业务系统提供基本的身份认证、加密解密、转账等功能,业务系统不需要考虑初始化、认证支付接口等细节。
4、系统管理
提供对电子商务业务系统的管理,包括用户管理、商家管理、仓储和物流配送管理、统计分析、全网时间同步等功能。
第四章 电子商务应用系统的设计与实现
4.1 系统总体设计
4.1.1 电子商务平台体系架构
电子商城架构分为两层:支撑层和业务层,支撑层为电子商城业务的开展提供支撑功能,包括认证系统、支付系统、移动终端安全系统以及整个电子商城业务的计费和结算系统;业务包括各种具体的电子商城业务以及为各种业务提供公共服务功能的业务平台。
电子商城平台的体系架构如图4-1所示:
图4-1 电子商城体系结构
4.1.2 电子商城平台总体结构
电子商城平台从总体结构上可分为支撑系统、业务平台、业务应用、用户接入四大模块。
1、支撑系统
包括认证系统、支付系统、计费结算系统、代理商分销商业务系统、营业账务系统等。
2、业务平台
提供开展各种电子商务应用的公共功能,包括用户认证、交易处理、认证和支付、系统管理等。
3、业务应用系统
基于业务平台和业务支撑系统开展的各种电子商务具体应用,包括网上营业厅、网上商城、代理商分销商网上业务系统、代收费系统、奖励积分中心、企业服务等。
4、接入平台
为用户使用电子商务平台开展电子商务活动提供用户接口,接入方式包括:有线接入和无线接入,有线接入即计算机终端通过Internet Web接入,无线接入主要基于移动终端的接入,包括短信、WAP、BREW、语音接入等方式。
4.1.3 电子商城平台软件体系结构
逻辑上,软件应遵循三层体系结构,分述如下:
1、表示层
实现用户交互和数据表示,为下面的处理收集数据,向第二层业务逻辑层发出请求,并显示处理结果。这一层功能的实现可以采用GUI(即图形用户界面)、浏览器等方式实现。
2、业务逻辑层
实现软件的业务逻辑处理,包括认证、支付、计费结算等电子商务支撑业务逻辑,综合营帐、卡管理等各种营运支撑逻辑以及网上营业厅、网上商城、代收费等电子商务应用逻辑。
业务逻辑层通过接口响应表示层发起的请求,完成相应的业务处理并通过相应的接口完成对数据的操作。
3、数据层
该层包括支撑系统、应用系统的数据资料。
表示层不能直接对各种数据资源进行直接的操作,必须通过业务逻辑层。
4.1.4 电子商城平台系统接口
电子商城平台系统接口包括内部接口和外部接口。内部接口是指业务应用系统、业务平台及支撑系统之间的接口;外部接口是指电子商务平台与商城业务支撑系统、银行、商家、用户等之间的接口。
一、内部接口
联通电子商务平台系统内部的接口主要包括认证、支付、业务平台和业务应用之间的接口。
1、认证系统与其它系统接口
认证系统为其它各种需要使用证书服务的系统提供证书查询和各种证书安全应用的接口。
证书安全应用接口由认证系统向应用系统提供接口开发库,应用系统可以直接调用接口库中的功能函数完成各种安全功能,包括证书认证、数据加密解密、数字签名、时间戳服务器等。
2、支付系统与其它系统接口
支付系统与其它系统的接口包括向业务系统提供的支付接口、支付系统与电子商务平台计费结算系统之间的原始订单采集接口。
支付系统根据支付方式的不同向业务系统提供不同的支付接口,包括基于浏览器重定向方式的银行支付接口、基于银行支付网关接口的中间账号方式、商家发起的业务资源支付等方式。
支付系统提供的接口方式包括接口模块和标准协议两种方式,接口模块向商家和用户提供接口函数库用于应用系统调用,标准协议方式由支付系统向商家提供标准的支付数据格式,支付系统按标准格式将支付请求发送到支付系统。
3、计费结算系统与其它系统接口
计费结算系统向认证、支付和业务系统提供原始订单采集接口,用于从各种不同的系统采集原始订单,对订单进行计费和结算处理。
计费系统与各业务系统之间采用实时接口或文件方式传输订单,订单的格式由计费结算系统业务系统共同制定。
4、业务平台与其它系统接口
业务平台对业务系统提供各种应用开发和运行的支持环境,包括前文业务平台功能中包含的各种功能。
业务平台连接认证和支付系统,利用认证和支付系统提供的接口模块,对接口二次封装供业务系统使用。
业务平台连接计费结算系统之间进行原始订单的采集和发送,各种业务应用将原始订单发送到业务平台中,由业务平台统一发送到电子商务平台计费结算系统。
5、业务应用与其它系统接口
业务应用主要利用业务平台提供的各种业务功能接口开发各种业务功能。
二、外部接口
外部接口包括电子商务平台与业务支撑系统、银行、商家、用户等之间的接口。
1、与业务支撑系统接口
与业务支撑系统之间的接口包括支付系统与综合账务系统之间的实时扣费接口、计费系统与综合账务系统之间的计费详单采集接口、结算系统与综合结算和统一经营信息服务系统之间的结算账单采集接口。
与业务支撑系统之间的接口需要遵循业务支撑系统现有的各种接口标准。
2、与银行接口
与银行之间的接口包括两种方式:浏览器重定向方式和支付网关接口方式。方式一由银行提供接口模块,本系统利用该模块完成与银行之间的用户重定向和数据传输,传输过程中需要采用证书认证身份和加密数据;方式二本系统直接将用户账号、支付金额等信息通过应用层接口发送到银行支付网关。
3、与商家接口
与商家提供的接口包括认证系统提供的证书应用接口、支付系统提供的支付接口和业务系统与商家后台信息系统之间的接口。
4、与用户接口
各种业务系统需要向用户提供各种接入方式和接口,包括计算机终端和移动终端两种方式,计算机终端包括浏览器和客户端软件方式,移动终端包括短信、WAP、BREW等方式。
4.2 软件平台
本系统采用适用于服务器应用程序和服务的J2EE平台。
4.2.1 J2EE的优势
J2EE体系结构的优点是:
1、保留现存的IT资产
由于企业必须适应新的商业需求,不断地加强企业的信息系统,对于企业来说,利用己有的企业信息系统方面的投资就变得非常重要。因此,在现有系统之上使用可伸缩的、可扩展的方式发展新的企业应用是众多企业所需求的。J2EE结构模型可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS、IBM Encina、Inprise VisiBroker以及Netscape Application Server,正是因为J2EE拥有广泛的业界支持和一些重要的企业计算”领域供应商的参与,每一个供应商都对现有的客户提供了不要废弃己有投资,进入移植J2EE领域的升级途径。与此同时,由于基于J2EE技术的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。
2、高效地开发
J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成,这样就可以使开发人员集中精力在如何创建业务逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:
(1)状态管理服务一让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。
(2)持续性服务一让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。
(3)分布式共享数据对象Cache服务一让开发人员编制高性能的系统,极大提高整体部署的伸缩性。
3、支持异构环境
J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件、因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分重要的。J2EE标准也允许客户定购与J2EE兼容的第三方的组件,把他们部署到异构环境中,节省了由自己制定整个方案所需的费用。
4、可伸缩性
企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上,例如可被部署到高端Unix与大型机系统。J2EE供应商提供了更为广泛的负载均衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
5、稳定的可用性
一个服务器端平台必须能全天候运转,以满足公司客户、合作伙伴的需要。因为Internet是全球化的、无处不在的,即使在夜间按计划停机也可能造成损失。若是意外停机,那会有灾难性的后果。J2EE部署到可靠的操作环境中,以支持长期的可用性,因此一些J2EE应用部署在Windows环境中,也可选择性能更好的操作系统如Sun Solaris,最好的操作系统可达到99.999%的可用性或每年只需5分钟停机时间,这是实用性极强的系统的最好选择。
本系统根据以上优势。决定采用J2EE作为软件平台。
4.2.2 J2EE的四层模型
J2EE的典型四层结构主要包括运行在客户端机器上的客户层组件、运行在J2EE服务器上的Web层组件、运行在J2EE服务器上的业务逻辑层组件和运行在EIS服务器上的企业信息系统(Enterprise information system)层软件。
1、客户层组件
客户层用于与企业信息系统的用户进行交互以及显示根据特定商务规则进行计算后的结果。J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。在一个基于Web的J2EE应用中,用户的浏览器在客户层中运行,并从一个Web服务器上下载Web层中的静态HTML页面或由JSP或由Servlet生成的动态HTML页面。在一个不基于Web的J2EE应用程序中,一个独立客户程序,不运行在一个HTML页面中,而是运行在其它一些基于网络的系统(比如手持设备或汽车电话)中的Applet程序,在客户层中运行,并在不经过Web层的情况下访问企业beans。并且客户层中可能包括JavaBeans类来管理用户输入,并将该输入发送到企业层中运行的Enterprise bean类来处理。根据J2EE规范,JavaBeans类不视为组件。
2、web层组件
Web层主要用于接收从浏览器传来的请求并将请求交给底层进行处理,同时将请求处理结果发送给浏览器。J2EE的Web组件主要由JSP页面以及显示HTML页面的Servlet组成。按照J2EE规范,静态的HTML页面和Applets不算是web层组件。调用Servlet或者JSP页面的HTML页面在应用程序组装时与Web组件打包在一起。和客户层一样,web层可能包含某些行在业务层上的JavaBean对象来处理用户输入,并把输入发送给运Enterprise bean来进行处理。
3、业务层组件
业务层中的组件协同土作,业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,解决诸如结账、处理订单等商业逻辑,是整个应用的核心部分。涉及企业业务的复杂商务逻辑由运行在业务层的EJB组件来执行。EJB组件可以完成从客户端应用程序中接收数据、按照商务规则对数据进行处理、将处理结果发送到企业信息系统层进行存储、从存储系统中检索数据以及将数据发送回客户端等功能。业务逻辑层位于应用服务器中,应用服务器中的EJB Container提供了分布式计算中组件所需要的所有服务。例如:组件生命周期的管理、数据库连接的管理、分布式事务管理、组件的命名服务、自动容错以及负载的自动均衡能力等。
4、企业信息系统层
企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划((ERP),大型机事务处理,数据库系统,和其它的遗留信息系统.例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。
4.3 系统流程
根据业务功能模块,对于不同的角色登入网站,他们所承担的任务各自不同,流程也不一样,包括客户端流程(面向前端用户)和管理端流程(面向系统管理员)。
管理端流程图如图4-2所示:
图4-2 管理端流程图
客户端流程图如图4-3所示:
图4-3 客户端流程图
根据上面的系统流程图,将系统的功能粗略的分成如下模块,如表4-1所示:
表4-1 模块功能列表
序号 功能模块类别 功能模块 备注
1 客户端 个人信息管理
2 信息浏览
3 信息查询
4 购物
5 前台订单处理(结帐) 需要用户模块共同工作
6 管理端 用户管理
7 公告管理 需要管理端用户验证
8 商品管理 需要管理端用户验证
9 特价商品管理 需要管理端用户验证
10 后台订单管理 需要管理端用户验证
4.4 系统功能模块设计与实现
4.4.1 系统管理模块设计与实现
系统管理允许管理员管理电子商务应用系统的各项业务。系统管理主要提供以下业务的管理:系统参数、网上商城、代收费、企业服务。管理员需要登录根据不同权限才可以在电子商务系统管理平台进行各项业务的查询、增加、修改、删除等操作。
1、功能模块结构
系统管理功能模块结构如下图4-4所示:
图4-4 系统管理功能模块结构
系统参数包括:操作员管理、角色管理、日志管理、个人管理等。
网上商城包括:商品管理、公告管理、广告管理、订单管理等。
2、数据层设计
数据层主要用来存储系统管理需要的各种数据,并提供相应的数据以查询。它的设计在某种程度上来说就是数据库表结构的设计,满足企业的业务逻辑、表示逻辑的需要。
角色管理表如4-2表所示:
表4-2 用户信息表
序号 字段名 字段类型 说明 备注
1 userId Smallint 用户编号 Primary Key
2 loginName Varchar(20) 登入名称 Not NULL
3 username Varchar(20) 用户名称 Not NULL
4 userPwd 用户密码 Not NULL
5 userType Varchar(20) 用户类型 Not NULL
6 userSex Varchar(2) 用户性别
7 userPhone Varchar(20) 用户电话
8 userEmail Varchar(40) 用户邮件
9 userAddress Varchar(200) 用户地址
10 userZip Varchar(10) 用户邮编
11 createTime Datetime 注册时间
12 updateTime Datetime 更新时间
13 deleteTime Datetime 删除时间
14 userStatus Varchar 用户状态 Not NULL
15 userLevel int 用户级别
3、业务层设计
业务层主要是由EJB组件来完成业务逻辑,业务逻辑主要是由以下EJB组件来组成:
(1)EFunction Entity Bean:代表系统功能这个数据库对象,用于权限管理。
(2)EKey Entity Bean:代表序列发生器这个数据库对象,为需要的数据库表提供序列号。
(3)ELog Entity Bean:代表日志这个数据库对象,为所有操作提供日志记录。
(4)EOperator Entity Bean:代表操作员这个数据库对象,系统操作员的信息。
(5)ERole Entity Bean:代表角色这个数据库对象。
4、Web层设计
Web层由Servlet和JSP组成,主要用来处理系统管理的表示逻辑,为与业务逻辑层进行交互而设计的。
Servlet:
(1)servlet_mng.java:生产功能树,并进行权限管理。
(2)servlet_operator.java:根据传入的不同参数值,进行操作员的servlet操作。
(3)servlet_role.java:根据传入的不同参数值,进行角色的servlet操作。
JSP:
(1)default.jsp:系统管理页面的主页
(2)login.jsp:系统登入页面
(3)BulletinAdd.jsp:网上商城公告录入、修改页面
(4)operator.jsp:系统管理员查询、管理页面
(5)UserModify.jsp:修改个人资料
(6)UserAdd.jsp:新用户注册页面
4.4.2 网上商城模块设计与实现
网上商城是用于个人用户、企业用户进行网上交易的一个场所,它包括产品发布、网上购物等功能。可实现分公司主营业网点在本网站上建立自己的销售站点,以全面通信服务提供概念店的形象提供特色服务:同时可为代理商提供网上经营平台。本人主要完成网上购物功能。
网上商城系统的主要功能包括:
一、商家管理和消费者管理
只有注册并认证成功后的商家才能在商城进行在线销售。商家注册流程如图4-6所示。
图4-6 商家注册流程
消费者浏览网上商城,可查看商家的商品信息,但只有注册的用户才能进行交易。消费者注册流程如下图4-7所示:
图4-7 消费者注册流程图
二、网上购物
注册用户在网上购物时,可浏览商品,将满意的商品放入购物车,这时可以选择继续购物和支付,用户还可以对购物车进行管理,当用户输入配送信息并选择了付款方式后,该笔交易就会产生一笔订单(由于篇幅原因只给出前面两个流程图,下同)。
三、订单处理
订单产生后,需判断该订单是否有效,再根据不同的付款方式进行支付,付款成功后即可进行商品的配送。对于货到付款的方式,还需进行信用审查,审查通过的才能进行商品配送。若付款未成功和信用审查未通过的将取消订单。
1、功能模块结构设计
网上商城功能模块包括商家管理、用户管理、网上购物和订单处理,结构图如下图4-8所示:
图4-8 网上商城功能模块结构图
2、数据层设计
数据层主要用来存储网上商城需要的各种数据,并提供相应的数据以查询。它的设计在某种程度上来说就是数据库表结构的设计,根据业务逻辑、表示逻辑的需要。
表4-2 商品信息表
序号 字段名 字段类型 说明 备注
1 ProductId Int 编号 Primary Key
2 CatId Int 类别ID Not NULL
3 ProductName Varchar(100) 物品名称
4 ProductContent Varchar(4000) 物品内容
5 ProductDesc Varchar(1000) 物品简介
6 IsPrompt Bit 是否优惠
7 RegisterTime Datetime 上架日期
8 ListPrice Decimal(9,2) 物品价格
9 UnitPrice Decimal(9,2) 会员价格
10 orderDesc Varchar(1000) 订购说明
11 ProductImgUrl Varchar(200) 物品图片
12 Sort Int 排序标记
13 porductCount Int 库存量
14 IsValid Bit 是否有效 Not NULL
3、业务层设计
业务层主要是由EJB组件来完成业务逻辑,业务逻辑主要由以下EJB组件来组成:
(1)ENetshopStore Entity Bean:代表产品库存这个数据库对象。
(2)ENetshopProduct Entity Bean:代表产品这个数据库对象。
(3)ENetshopStyle Entity Bean:代表商家铺面样式这个数据库对象。
4、Web层设计
Web层由Servlet和JSP组成,主要用来处理系统管理的表示逻辑,为与业务逻辑层进行交互而设计的。
JSP:
(1)CategorySearch.jsp:浏览商品类别信息页面
(2)OrderSearch.jsp:订单查询页面
(3)productView.jsp:浏览商品页面
用户请求
Controller接受用户请求到Model
选择View响应
定义应用行为
Model
业务流程处理
业务状态改变
View
用户界面信息
交互用户
请求Model
查询
后台业务系统
业务应用1
…
业务应用n
后台业务系统
业务平台
业务层
认证系统
支付系统
结算系统
终端安全系统
银行支付网关
商城业务支撑系统
支撑层
帐户验证
验证成功
NO
Y
管理商品
管理特价品
管理订单
管理公告
管理用户
管理员
用户
查看公告
特价商品
商品浏览
商品搜索
购物车
登入判断
用户登入
无登入
用户注册
新用户
服务台
登入
用户订单回执
进入系统管理
操作员注册并分配权限
注册生效
系统参数
网上商城
积分管理
企业服务
商家浏览商城主页
点击招商申请
填写入住申请单
管理中心资格认证
通过认证?
商家与商城签约
自动生成店铺页面
通知商家营业
申请完毕
否
是
消费者浏览商城主页
点击会员注册
填写必要的会员信息
系统检查信息完整性
是否完整?
保存用户开户信息
是
否
网上商城
商家管理
用户管理
网上购物
订单处理
I
PAGE
10
获取项目源文件,联系Q:1225467431,可指导其它毕设,课设