![基于WEB的B2B电子商务平台的设计与实现_第1页](http://file4.renrendoc.com/view/cf35c320a53232be118c5af7c7dfc7a3/cf35c320a53232be118c5af7c7dfc7a31.gif)
![基于WEB的B2B电子商务平台的设计与实现_第2页](http://file4.renrendoc.com/view/cf35c320a53232be118c5af7c7dfc7a3/cf35c320a53232be118c5af7c7dfc7a32.gif)
![基于WEB的B2B电子商务平台的设计与实现_第3页](http://file4.renrendoc.com/view/cf35c320a53232be118c5af7c7dfc7a3/cf35c320a53232be118c5af7c7dfc7a33.gif)
![基于WEB的B2B电子商务平台的设计与实现_第4页](http://file4.renrendoc.com/view/cf35c320a53232be118c5af7c7dfc7a3/cf35c320a53232be118c5af7c7dfc7a34.gif)
![基于WEB的B2B电子商务平台的设计与实现_第5页](http://file4.renrendoc.com/view/cf35c320a53232be118c5af7c7dfc7a3/cf35c320a53232be118c5af7c7dfc7a35.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10126一22002718分类号TP315UDC编号论文题目基于WEB的B2B电子商务 平台的设计与实现研究生:指导教师:专业:研究方向:所在学院: 王俊义教授计算机应用技术2006年5月28日基于WEB的B2B电子商务平台的设计与实现摘要 电子商务在现代商业模式中正在发挥着日益重要的作用,基于与国际接轨,整合业务流程,充分发挥集团购销优势的迫切需要,中国石油股份有限公司作为国内能源领域的龙头企业,组织开发了基于Web的B2B大型商务网站,最终建成实现了网上虚拟交易平台,成为联结采购商与供应商的商务网络环境,是构建B2B电子商务平台的典型案例。本文对该系统所采用的面向对象的规划与设计的开发过
2、程进行了详细的分析,同时对于该系统的技术核心-基于EJB的中间件技术所遇到的问题,如客户端与后台业务对象存在较强的依赖关系,从而不利于系统的管理与维护;以及客户端与服务器之间过多的方法调用降低了网络运行效率等问题,提出了构造三层应用模型的思路,并讨论了实现的总体方法。最后,对该系统作为典型的J2EE技术架构应用于电子商务平台的构建进行了总结,以获取相关项目开发的经验。关键词电子商务,WEB服务,中间件,J2EE, EJB,应用系统络-内蒙古大学硕士学位论文ABSTRACT it is playing a very important effect that the electronic Com
3、merce is in the modern businesspattern. For contacting with international ,integrating business process and giving full play togroup-purchase, as the mainstay enterprise in the energy field, PetroChina company Ltd. developeda large-scale B2B electric business network that been based on web, built a
4、visual commerceenvironment that relate to buyer and supplier, it is a typical example that build a B2B E-businessplatform. In the thesis I have a detailed discuss about the developing process that apply theObject-Oriented analysis and design method, and discourse the question that been met in thepro
5、cess of developing the system based on EJB technology. Such as: tight coupling, which leads todirect dependence between clients and business objects; too many method invocations betweenclient and server, leading to network performance problems, to the above problems, this paperproposes the three-tie
6、r application model based on EJB, and its implementation method is alsodiscussed. at last,we summarize the process of developing ,it is thought as a typical use of J2EEarchitecture to make up the E-business platform. And we obtain the experience in the course ofwork.Keywords electronic commerce ,Web
7、 Server, middleware, J2EE, EJB, Application System基于WEB的B2B电子商务平台的设计与实现目录第一章绪论1 1.1 B2B电子商务平台概述与课题研究的背景 l 1.2主要研究内容1 1.3论文的内容及组织。,。,二, 3第二章主要技术及系统架构介绍 5 2.1多层设计,。二5 2.1.1多层设计.。.。.。二5 2.1.2 J2EE架构 7 2.1.3 J2EE的API与组件: 9 2.2设计模式-MVC体系结构11 2.3面向对象开发技术在工程中的应用13第三章系统分析与设计。.巧 3.1系统应用环境15 3.2电子商务系统分析的过程16
8、3.2.1系统分析的基本思路16 3.2.2需求用例分析17 3.2.3系统需求18 3.3基于EJB的多层系统架构分析与设计 22 3.3.1系统构架 22 3.3.2基于EJB构建电子商务系统存在的问题23 3.3.3基于EJB的三层应用模型的技术框架 24 3.4基于EJB的三层应用模型的实现方法二。 27 3.4.1 EJB应用组件层的实现27 3.4.2子系统会话层的实现 27 3.4.3系统访问会话层的实现 28 3.4.4客户端方法调用的实现 30 3.4.5基于EJB的三层应用模型的优点, 34 3.5基于EJB的三层应用模型在电子商务中的应用35内蒙古大学硕士学位论文 3.6
9、 Web层设计 3 8第四章系统实现。,。.。.,二。.。二,41 4.1系统运行环境二。41 4.1.1界面开发运行环境41 4.1.2商业逻辑开发运行环境。41 4.1.3数据层开发运行环境.。、,。二。二。.,。二。41 4.2总体实现方案41 4.3 Web层的实现43 4.4业务层的实现,。,.。.,二。44 4.5数据层的实现与组件的部署。二57第五章总结二, 58 5.1工作总结,。.。,.。二,二,二,。二,58 5.2进一步的工作 59致谢。,。.61参考文献。,二, 61基于WEB的B2B电子商务平台的设计与实现第一章绪论1. 1 B2B电子商务平台概述与课题研究的背景 互
10、联网的影响深刻广泛地渗透到了传统的商务及贸易领域,形成了风靡全球的电子商务(EC, Electron-Commerce)。电子商务是指应用电子信息技术和现代Internet网络技术在客户、厂商及其他交易主体之间进行的、以信息为依托的商务活动,通过网上采购、网上销售、网上招投标等基于WEB的商务运作,可以大幅度提高交易速度、提升服务品质、降低成本,更好地为企业服务。EC已经在全世界得到了广泛的应用,本文针对构建多层结构的、分布式的、面向对象的基于J2EE平台的应用系统提出了一个典型的模型,给出了它的体系结构、组成、功能,并对平台所涉及的技术等方面作了重点研究。 一个电子商务平台应为交易双方提供如
11、下功能: 1)对产品供应商来说,其主要功能是建立企业的主页面,提供全方位的技术托管服务,同时具备B2B电子商务交易功能,具有大型的商品数据库支持,能够定制产品目录,自动处理定单,能够实时报道深层交易信息,制定和发布产品价格,同时,能够通过规范化的虚拟交易市场进行动态报价。 2)对产品采购商来说,其主要功能是对于常规大宗战略物资,该平台能够提供多角度的商品搜索查询功能;提供定制采购订单功能;对于工程项目所需特定材料或设备,提供网上询价、招投标、反向拍卖等商务功能,并能够对供应商反馈价格信息实现自动处理及采购商主动确认功能,可以对定单执行状况、交货状态进行查询。 为实现上述功能,一个典型的电子商务
12、平台应由网络系统、软件系统、安全系统、产品配送系统、资金结算系统、客户服务系统等六大系统组成,其中前三个系统属于技术范畴,后面三个系统属于管理范畴。本文将针对其软件系统的开发进行深入的探讨。1.2主要研究内容 为了更加有效地发挥集团采购、销售优势,整合中国石油现有的广泛的人力、物力以及信息资源,由中国石油天然气股份有限公司组织开发了基于WEB的电子商务平台采购与销售平台,为集团内部下属的数十家油田、炼化企业及数千家供应商企业提供ASP(应用服务内蒙古大学硕士学位论文供应商)服务。作为其下属分公司,我们参与了该系统规划与设计的部分工作,并对各功能模块进行了应用级测试。 电子商务在当前的网络时代获
13、得了巨大成功,并将随着网络的普及和发展扮演越来越重要的角色。现在,电子商务已经从最初的静态电子商务发展到今天的动态电子商务。实时动态交互的电子商务应用能够适应企业不断变化的业务策略,修订电子商务流程及相关系统,它反映了在实时条件下实现应用动态集成的概念,体现出了电子商务的真正价值。动态电子商务为中国石油下属的诸多企业提供了一个灵活的软件和硬件平台,该平台是企业在全球市场竞争所需要的基础,把应用扩展来支持跨企业的业务流程。动态电子商务的特点是软件应该按照商务的过程而造型,设计成可重用的和柔性的组件。 现在动态电子商务的开发一般采用分布式组件技术。目前广泛使用的分布式组件技术有CORBA CCM(
14、CORBA Component Model)技术、Microsoft的COM/DCOM/COM+技术和SUN的EJB(Enterprise JavaBean)技术。这三种技术都可以用来开发电子商务,且各有其特点。本论文的工作是研究运行于WINDWOS操作系统下,基于WEB服务方式的电子商务平台的设计开发及实现,阐述了其核心技术一J2EE中间件技术在开发过程中所遇到的问题,并提出了相关的解决方案。该系统以电子商务网站的形式为电子商务的买卖双方提供服务,用户使用IE浏览器进行各种交易活动。这种运行平台操作界面简单明了,操作流程清晰,由于直接支持Internet,使用户无论身处何地都可以使用。该平台
15、实际上就是典型的ASP(应用服务提供商)模式。在模型的规划设计过程中,主要研究的重点在以下的几个方面: 1)技术的先进性:电子商务系统的实现技术发展很快,而大型系统的构建过程需要一定的时间,为了使企业保持持久的竞争优势,电子商务系统应采用先进的技术成果,使系统有一个较高的起点,本系统采用了Sun公司的J2EE技术平台,采用EJB (Enterprise JavaBean )组件体系结构,结合JSP及Servlet等成熟的服务器端开发技术,共同构建了多层结构的,分布式的,面向对象的Java系统。 2)通用性:基于中国石油作为中国能源大型国企,其下属拥有数十家大中型分支企业的特点,本系统设计基点是
16、通用性,最大限度减少客户端软件的配置复杂度,具体实施过程中,只是由于地区系统管理员后台管理界面数据量过大,而采用了Java Applet技术生成本地页面外,客户端的前端操作只需要IE5.0浏览器的支持(需开放网络防火墙特定端口)即可。这样,不仅为中国石油下属企业提供了简单的软件需求,同时降低了作为供应商的全国数千家中小企业入围的技术门槛,使用户在不同的网络环境下,均可以很快地进入商务操作,充分 基于WEB的B2B电子商务平台的设计与实现利用了Internet的通讯能力,方便快捷、安全地传送各种商务单证和文档,使得该系统成为实用型的电子商务交易平台,体现了开放务实的经营理念。 3)可扩充性:该系
17、统可被用于拥有大量成员企业的商务环境中,因此在设计中充分考虑到系统的可扩充性。首先是数据库的可扩充性,采用了Oracle公司的数据库产品,利用分布式的数据库结构设计,可以用增加数据库服务器的方式来提高系统的容量和效率。WEB服务器的个数也可以随使用WEB界面的用户数增加而增加。可以增加个数以提高交易的处理能力。 4)安全性:安全性包括通讯的隐密性、交易对象的身份确认、交易文档的完整性以及不可抵赖性等。该系统支持SSL安全套接协议以保证Internet上通讯的安全性,另外,该平台支持更高标准的安全系统,如Smartcard、数字签章等。另外,安全性还包括网站的数据安全性和物理安全性等,本系统采用
18、了SAN(存储区域网络)架构对大量的并发数据流进行存储。 后面各章中所提供的规划与设计过程分析将详细说明该电子商务平台是如何达到这些目标的,并针对J2EE核心组件EJB采用分层设计,以改善其应用性能提出初步的讨论及解决方案。 最终的解决方案必须满足以下要求: 技术:体系结构采用J2EE平台,支持多种数据库 成本:客户端尽可能低做到零维护成本。 功能:适应大型国有企业电子商务的需要。 设计:对象、模块划分合理,祸合度低,可重用。 本论文将: 设计系统的架构。 为系统或服务的特定层面推荐适合的技术和产品。 做出符合功能性及非功能性(操作)需求的设计决策。 为系统或服务选择合适的通讯机制。 实现并验
19、证系统1.3论文的内容及组织本文共分为五章。 内蒙古大学硕士学位论文 第一章:概述该系统建立的背景,从电子商务系统的需求出发陈述了课题的需求以及要实现的目标。 第二章:介绍开发所依据的理论根据、方法和技术,包括MVC设计模式和EJB2.0技术,同时讨论了开发过程中运用的面向对象的开发技术在工程实践中的应用。 第三章:在电子商务系统的需求分析的基础上,采用面向对象的分析设计方法,详细阐述了平台的系统架构选择及系统设计。 第四章:对系统平台框架、服务及接口的实现进行详细的阐述。 第五章:对所作的工作进行了简要的总结,并展望了进一步的工作。最后包括参考文献和致谢。基于WEB的B2B电子商务平台的设计
20、与实现第二章主要技术及系统架构介绍 本章介绍了进行该系统平台设计与开发所依据的理论根据、方法和技术。包括在系统架构设计时进行框架的选择上用到的多层设计理论和Windows平台下的J2EE框架的介绍说明;在详细设计时用到的面向对象的设计方法以及为提高设计效率而采用的设计模式的介绍;在开发阶段软件开发方法的说明。2.1多层设计2.1.1多层设计 由于采用了J2EE技术规范,系统在逻辑设计上采用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上。事实上,Sun公司设计J2EE的初衷正是为了解决两层US模式的弊端,单纯就功能的观点来看,大部分企业级应用模型主
21、要执行三种功能:收集客户端输入信息,并将输入以数据形式储存,以及根据制定的操作过程指令来处理数据。这些工作能被分配到三层或更多层中,这也就是系统设计提供三层或多层应用程序的原因。基于J2EE规范的应用程序的分层结构如图2.1所示:客户层Web层业务层数据层 Fig 2.1 j2EE logic architecture 图2. 1 j2EE体系结构 在上图中,JZEE共分为四层,分别是运行在客户端机器上的客户层、运行在Web服务器上的Web层、运行在EJB应用服务器上的业务层和运行在数据库服务器上数据._._二_._._二_二_一_._-f7蔓 4iijC一一一一一一一一一一层,其中Web层和
22、业务层共同组成了J2EE应用的中间层。J2EE规范定义了相应层的组件:(1)客户层 应用客户端程序和浏览器是客户层组件。客户层组件可以是基于Web方式的即作为Web服务器的浏览器,也可以是基于传统方式的即独立的应用程序。 一个Web客户端由两部分组成:由运行在Web层的Web组件生成的包含各种标记语言的动态Web页面和接受从服务器传送来的页面并将它显示出来的Web页面。一个Web客户端有时被称之为瘦客户端。瘦客户端一般不做象数据库查询、执行复杂的业务规则及连接传统应用程序这样的操作。当使用一个瘦客户端时,象这样的重量级的操作被交给了在J2EE服务器执行的EJB。这样就可以充分发挥J2EE服务器
23、端技术在安全性、速度、耐用性和可靠性方面的优势。 J2EE应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标记语言所能提供的更丰富的用户界面的任务。具有代表性的是用Swing或抽象窗口工具包(AWT)建立的图形用户界面。应用程序客户端直接访问运行在业务层的EJB组件。(2) Web层(表达层) Web组件与基于Web的客户端(如Web浏览器)进行交互。J2EE中有两类Web组件:Servlet组件和JSP组件。Servlet是一个Java编程语言类,它可以动态地处理请求并作出响应。JSP页面是一个基于文本的文档,它以Servlet的方式执行,但是它可以更方便地建立静态内容。(3)业务
24、层 作为解决或满足某个特定业务领域需要的逻辑的业务代码由运行在业务层的EJB来执行。一个EJB从客户程序处接收数据,对数据进行处理,再将数据发送到企业信 基于WEB的B2B电子商务平台的设计与实现息系统层存储;并从存储中检索数据,送回客户程序。运行在业务层的EJB依赖于容器来为诸如事务、生命期、状态管理、多线程及资源存储池等提供通常都是非常复杂的系统级代码。业务层通常又被称为EJB层。(4)数据层(基础架构层) 数据层运行企业信息系统软件,包括企业基础设施系统,例如MIS系统、数据库系统及其他文档管理信息系统等。J2EE应用组件可能需要访问企业信息系统中的相关数据。 在一个较为复杂的多层体系结
25、构中,典型的操作模式为:客户端的请求通过HTTP协议提交到远程服务器端Servlet组件,Servlet调用EJB的接口,EJB执行与数据库的交互及其它操作(该数据库可以位于本地企业信息系统层,也可以位于商务网站服务器中),并将操作结果返回给Servlet, Servlet再将请求转发给JSP,最终由JSP生成活动页面反馈到客户端。2. 1. 2 JZEE架构 目前,Java 2 (Java语言的一个版本)平台有3个版本,分别是适用于小型设备和智能卡的Micro版(Java 2 Platform Micro Edition, J2ME)、适用于桌面系统的标准版(Java 2 Platform
26、Standard Edition, J2SE)以及适用于创建服务器应用程序和服务的企业版(Java 2 Platform Enterprise Edition, JZEE)。 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构,它是一整套功能非常健壮的开发企业级中间件的规范。J2EE技术的基础就是核心Java平台或J2SE, J2EE不仅巩固了J2SE中的许多优点,例如”编写一次、随处运行”的特性、方便存取数据库的JDBC API以及支持CORBA技术等等,同时还提供了对EJB, Java Servlet, JSP以及XML技术的全面支持。内蒙古大学
27、硕士学位论文J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EJB,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。 J2EE为搭建具有可伸缩性、灵活性、易维护性的应用系统提供了良好的机制: (1)保留现有的IT资产 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新开发新的系统就变得很重要,J2EE架构就可以满足用户的这种需要。J2EE拥有广泛的业界支持和一些重要的企业计算领
28、域供应商的参与,对现有的客户提供了不用废弃己有投资的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,所以现有的操作系统和硬件也能被保留使用。(2)高效的开发 J2EE允许把一些通用的、很繁琐的服务端任务交给中间件供应商去完成,这样开发人员可以集中精力在如何创建业务逻辑上,相应地缩短了开发时间。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件,因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台,这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中。(3)可伸缩性 企业必须要
29、选择一种服务器端平台,这种平台应能提供较好的可伸缩性去满足那些在他们系统上进行业务运作的大批客户。基于J2EE平台的应用程序可被部署到各种操作系统上。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。基于WEB的B2B电子商务平台的设计与实现(4)稳定的可用性服务器端平台必须能全天候运转以满足公司客户和合作伙伴的需要,因为工nternet是全球化的,即使在夜间按计划停机也可能造成严重损失,若是意外停机,那会有灾难性后果。J2EE被部署到可靠的操作环境中,他们支持长期的可用性,这对实时性要求很强的商业系统至
30、为重要。基于层次化组件模式的J2EE平台由于具有上述特性,己经成为企业级商业分布式网络计算的事实标准。2. 1. 3 NEE的AP工与组件 J2EE平台由一整套服务(Services)、应用程序接口(AP工s)和协议构成,它对开发基于Web的多层应用提供了强有力的功能支持,下面对J2EE中的13种技术规范进行简单的描述:(1)EJB(Enterprise JavaBean) EJB提供了一个框架来开发和实施分布式业务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全
31、性、资源缓冲池以及容错性。EJB是J2EE的核心部分。(2) Java远程方法调用(RMI)和RM工一工TOP RMI是Java语言自身提供的用来在分布式对象之间通信的机制,而RMI一工lop是RM工可移植的扩展,可以应用工nternet Inter-ORB协议,并能够用来与CORBA集成。(3) Java命名和目录接口(JND I )JNDI用于访问命名和目录系统,它提供了一致的模型来存取和操作企业级的资源,如本地文件系统或应用服务器中的对象。JNDI为应用程序提供标准的命名和目录操作方 内蒙古大学硕士学位论文法。使用JNDI,一个JZEE应用程序可以存储和查找得到任何类型的命名Java对象
32、。因为JNDI不依赖于任何特定的执行,应用程序可以使用JNDI访问各种命名目录服务,包括现有的各种诸如LDAP, NDS, DNS和NIS这样的命名目录服务。(4) Java数据库连接(JDBC) 川BC是访问关系数据库的AP工,它为访问不同的数据库提供了一种统一的途径。通过JDBC可以从Java编程语言的方法中调用SQL命令,从而对数据库进行操作。(5) Java事务处理API (JTA)和Java事务处理服务(JTS) JTA和JTS规范为组件提供了可靠的事务处理支持。JZEE体系结构提供了一个默认的自动提交以处理事务的提交和回滚。(6) Java消息服务(JMS) JMS是用于和面向消息
33、的中间件相互通信的AP I. JMS允许J2EE应用程序建立、发送、接受和阅读消息,它使得建立连接简单的、可靠的和异步的分布式通信成为可育旨。(7) Java Servlet Servlet是用来扩展Web服务器功能的网络组件,它基于请求/响应机制。Servlet从客户端(例如Web浏览器)获得请求,然后,将响应结果返回客户端。(8) JSPJSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。(9) Java IDL Java工DL是Sun公司基于Java的对CORBA规范的实现,Jav
34、a iDL允许与其他语言集成,而且它能够让分布式对象利用CORBA提供的全面服务。 基于WEB的B2B电子商务平台的设计与实现(10) JavaMailJavaMail是用于存取邮件服务器的AP工,它提供了一套邮件服务器的抽象类。JavaMail服务可以使Java应用程序以一种平台无关的、协议无关的方式发送电子邮件。J2EE应用程序可以使用JavaMail API来发送E-mail.(11) J2EE连接器构架(JCA) JCA可以从一个J2EE部署访问现有企业信息系统。J2EE工具提供商和系统集成者使用JCA建立可以加入到任何J2EE产品的支持访问企业信息系统的资源适配器。一个资源适配器就是
35、一个使得J2EE应用程序组件可以访问底层的资源管理器并与其实现交互的软件组件。(12) XML(eXtensible Markup Language) XML是一种可以用来定义其它标记语言的语言,它被用来在不同的业务过程中共享数据。XML使数据可以被任何程序和工具读取和处理。Java XML处理AP I(JAXP)支持使用DOM, SAX和XSLT对XML文档进行处理。JAXP使得应用程序可以不依赖于特殊的XML处理执行来解析和转换XML文档。(13) Java认证和授权服务(JARS) 在J2EE中,JAAS是执行与安全相关的操作的标准API. JAAS为J2EE应用程序提供了一个方法以为一
36、个特定的用户或一组用户进行认证和授权。JARS是标准的可插入认证模块(PAM)结构的Java版本,它对Java 2平台的安全认证框架进行了扩展以支持基于用户的安全认证。2.2设计模式一MVC体系结构 设计模式(design pattern)概念的提出,是面向对象程序设计演化过程中的一个重要里程碑。设计模式使得人们可以更加简单和方便地去复用成功的软件设计和体 内蒙古大学硕士学位论文 系结构,从而能够帮助设计者更快更好地完成系统设计。 设计模式的概念最早起源于建筑领域关于城市规划和建筑设计的规范化设计方法 中,但其观点实际上适用于所有的工程设计领域,其中就包括软件设计领域。设计模式是一条由三部分组
37、成的规则,它表示了一个特定环境、一个问题和一个解决方案之间的关系。每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,就能重复使用该方案而不必做重复劳动。 将设计模式引入软件设计和开发过程的目的在于充分利用己有的软件开发经验,这是因为设计模式通常是对于某一类软件设计问题的可重用的解决方案。优秀的软件设计师都非常清楚,不是所有的问题都需要从头开始解决,他们更愿意复用以前曾经使用过的解决方案,每当他们找到一个好的解决方案,他们会一遍又一遍地使用,这些经验是他们成为专家的部分原因。设计模式的最终目标就是帮助人们利用熟练的软件设计师的集体经验,来设计出更加优秀的软件。
38、在长期的软件实践过程中,人们逐渐总结出了一些实用的设计模式,并将它们应用于具体的软件系统中,出色地解决了很多设计上的难题。源于smalltalk,并在Java中得到广泛应用的模型一视图一控制器(Model-View-Controller, MVC)体系结构,是目前最常见并被成功使用的一个设计模式,随着J2EE的逐渐成熟,正在成为J2EE平台上推荐的设计模型。 MVC模式通常用在开发人机交互软件的时候,这类软件的最大特点就是用户界面容易改变,例如,要扩展一个应用程序的功能时,通常需要修改菜单来反映这种变化。如果用户界面和核心功能紧紧交织在一起,要建立这样一个灵活的系统通常是非常困难的,因为很容易
39、产生错误。为了更好地开发这样的软件系统,系统设计师必须考虑下面两个因素:用户界面应该是易于改变的,甚至在运行期间也是有可能改变的;用户界面的修改或移植不会影响软件的核心功能代码。 基于Web的分布式电子商务系统在设计时宜于采用将模型(Model)、视图(View)和控制器(Controller)相分离的思想。在这种设计模式中应用对象可以分为三类,一类是负责显示的对象,另一类对象包含商务规则和数据,还有一类接受请求,控制商务对象完成请求。上述对象可以用MVC设计模式分类处理。 视图用来向用户显示信息,它获得来自模型的数据,决定模型以什么样的方式展 基于WEB的B2B电子商务平台的设计与实现示给用
40、户。同一个模型可以对应于多个视图,这样对于视图而言,模型就是可重用的代码。一般来说,模型内部必须保留所有对应视图的相关信息,以便在模型的状态发生改变时,可以通知所有的视图进行更新。 模型用来封装商务逻辑与核心数据,它独立于特定的输出表示和输入行为,是执行某些任务的代码,至于这些任务以什么形式显示给用户,并不是模型所关注的问题。模型只有纯粹的功能性接口,也就是一系列的公开方法,这些方法有的是取值方法,让系统其它部分可以得到模型的内部状态,有的则是置值方法,允许系统的其它部分修改模型的内部状态。 控制器是和视图联合使用的,它捕捉鼠标移动、鼠标点击和键盘输入等事件,将其转化成服务请求,然后再传给模型
41、或者视图。整个软件的用户是通过控制器来与系统交互的,他通过控制器来操纵模型,从而向模型传递数据,改变模型的状态,并最后导致视图的更新。 MVC设计模式将模型、视图与控制器三个相对独立的部分分隔开来,这样可以改变软件的一个子系统而不至于对其它子系统产生重要影响。例如,在将一个非图形化用户界面软件修改为图形化用户界面软件时,不需要对模型进行修改,而添加一个对新的输入设备的支持,则通常不会对视图产生任何影响。 应用了MVC设计模式的软件系统,其基本的实现过程是: 1)控制器创建模型; 2)控制器创建一个或多个视图,并将它们与模型相关联; 3)控制器负责改变模型的状态; 4)当模型的状态发生改变时,模
42、型会通知与之相关的视图进行更新。2.3面向对象开发技术在工程中的应用 面向对象的分析与设计(OOA&D)方法在20世纪70年代首次提出,在80年代和90年代逐步得到完善。如今,面向对象技术已成为当今软件开发的主流方法。本系统的规划与设计过程也毫不例外地采用了面向对象的设计方法,采用业界流行的UML建模语言对系统进行全过程描述。 面向对象技术的基本思想是尽可能模拟人类习惯的思维方式,是开发软件的方法与过程尽可能接近人类认识世界解决问题的方法和过程,也就是使描述问题的问题空 内蒙古大学硕士学位论文间(也称为问题域)与现实解法的解空间(也称为求解域)在结构上一致。 传统开发技术相比,面向对象技术与具
43、有以下优势: 1.与人类习惯的思维方法一致 2.对变化的适应性强 3.支持软件复用 4.可维护性好 面向对象的软件技术符合人们习惯的思维方式,用这种方法建立的软件系统的结构与问题空间的结构基本一致,因此,面向对象的软件系统比较容易理解。在对系统作修改和扩充的时候,由于对象类有很强的独立性,对一个对象的修改往往可以不用涉及到其他对象。同时,对象的特性也决定了对它的测试和调试相对比较简单。基于WEB的B2B电子商务平台的设计与实现第三章系统分析与设计 本章先简单介绍了中国石油电子商务平台的应用环境以及在该环境下平台需为用户提供的功能,然后具体说明在多层架构下如何将系统合理地划分为几个不同的层次。接
44、着对系统的中间层做详细的分析设计,针对系统中间层设计所存在的问题,提出了进一步细化业务层(E JB层)的层级结构的可能性。表示层(Web层)则采用了经典的MVC设计模式。数据层使用了Oracle的Oracle8i产品,从功能上分为两个数据库,一个是在线库一个是历史数据库。这样可以大大节省服务器的处理时间,提高客户端的相应速度,这里不做太多说明。3.1系统应用环境 该电子商务平台是为企业间(B2B)电子商务而设计的。它的应用模式主要是为以下的商务对象(各企业因商务关系组合而成的群体)提供企业级电子商务的服务。 该系统是一个封闭式的商务网络环境,由一个中立的商务中枢机构(我们叫商务中心)提供原材料
45、及设备的采购与销售服务业务平台,各个采购商与供应商企业实体(在本系统内是取得中国石油入网资格的购销企业)可以加入到这个商务网络中,成为会员企业,在这个系统中进行交易。结构示意图如图3.1所示:Fig 3.1 Closing commerce network图3. 1封闭式商务网络内蒙古大学硕士学位论文3.2电子商务系统分析的过程3.2.1系统分析的基本思路 电子商务系统分析就是在系统规划确定的原则和目标的指导下,结合电子商务系统的特点,对企业进行调查,全面了解企业的目标、组织结构、数据流程和业务处理过程,结合不同电子商务活动的基本需求,进而确定企业的详细需求定义(或者系统功能需求说明书),为系
46、统设计奠定基础。系统分析基本过程如图3.2所示:Fig 3.2 The system analysis process图3.2系统分析过程图基于WEB的B2B电子商务平台的设计与实现3.2.2需求用例分析 系统边界与用例分析采用UMI,方法进行,通过将系统内部与外部分开以及把系统内各个功能块进行整理使系统便于用户理解。分析图如图3.3所示。 电子采购平台B2B需求分析询价用户笼咨询用户兰添一饰尸之一飞:m减 厂角户登蔚,多用户渔用户认证采购认证中心生成订单付款收货用户企业管理妙而旅朴用户文档管理Fig 3.3 Electronic Commerce Platform instance anal
47、ysis图3.3电子商务平台用例分析图内蒙古大学硕士学位论文3.2.3系统需求 系统包括企业管理、用户管理、查询模块、文档管理模块、询价模块、报价模块、订货模块、销售模块、发货模块、收货模块、发票模块、付款模块、运输模块,各个部分的需求描述如下: (1)企业管理:本模块给个成员企业提供企业信息维护和内部管理的功能。包括: 管理员功能选单:为企业管理员提供各中功能的入口。 企业部门设置:设置企业中各部门的情况,添加、修改、删除部门等。企业分组 设置:企业可以对商业网络中的其他企业进行分组管理,比如供应商组、经销商组 等。 企业信息设置:设置在系统后台维护中,对本企业的各种信息,如地址信息、联系
48、信息、详细说明、图象等。企业分类设置:UECP根据业界公认标准,对不同类型 的企业进行分组,根据企业生产或经营的商品进行分类。这样可以使用户查询某一 类的企业更加迅速。 (2)用户管理:本模块提供系统内用户的信息维护和管理方面的功能,包括: 新用户的注册:由系统管理员增加已具备入网资质的用户。 企业用户列表:列出本企业中各用户的情况并维护用户信息。用户信息维护:如用户名称、所属部门、联系信息等:用户操作权限设定,由系统管理员设定本企业各用户对各模块的操作权限。 备忘录:备忘录是系统中很重要的概念,事件处理器和通知服务合作,在商务流程中特定事件发生时,会使用备忘录的形式通知相关人员,使相关人员一
49、进入系统就对需要处理的商务文档和事件一目了然。 部门权限管理:由部门管理员设定部门中各用户对不同文档的读取或操作权限。 通知地址设定:由各用户设定自己在需要被通知时通知所发送到的地址,如电子邮件地址、电话号码、传真号码等。(3)查询模块:本模块提供对各种商务文档或对象的查询或搜寻功能,包括:(本模块中的功能一般是由其他模块中调用) 企业组选择:选择企业中定义的各种企业组。 企业分类选择:选择由服务商定义的企业分类。基于WEB的B2B电子商务平台的设计与实现 企业查询:查询和选择商务网络中的成员企业。 商品搜寻:搜寻和选择UECP中提供商品(或服务)销售的企业中的商品(或服务)。 用户查询:查询
50、选择特定成员企业中的用户。 各种商务文档查询:查询和选择交易记录中各种不同类型的商务文档,如询价 单、订货单、发货单等等。(4)文档管理模块:本模块提供企业商业文档处理权限设置、操作流程设置等方面的功能,包括: 文档附件维护。 企业文档权限设置。 特定文档权限设置。 文档明细显示。(5)商品管理模块:本模块提供企业销售商品目录的注册、查询、维护等方面的功能,包括: 新增商品 商品目录维护 商品信息维护 商品图象维护 (6)询价模块:本模块提供询价单创建、发送和接收报价单处理等方面的功能,包括: 新建询价单 新建询价单列表 新建询价单明细 询价单修改 已发送询价单列表 已发送询价单详情 询价单历
51、史记录查询 收到的报价单历史记录查询 (7)报价模块:本模块提供报价单创建、发送和接收询价单处理等方面的功能,包_二_._._._._._._二_内蒙查叁堂巫丝渔些1一一一一一一一一一一括: 接受到询价单列表 接收到询价单详情 新建报价单 新建中报价单详情 新建中报价单详情 新建中报价单修改 己发送报价单列表 己发送报价单详情 报价单历史记录记录查询 收到的询价单历史记录查询(8)订货模块:本模块提供订货单创建、发送和修改等方面的功能,包括: 新建订货单 新建订货单修改 新建订货单详情 新建订货单列表 已发送订货单列表 己发送订货单详情 订货单确认差异分析 订货单历史记录查询 收到的订货单历史
52、确认记录查询C9)销售模块:本模块提供收到的订货单查阅、回复等方面的功能,包括: 收到的订货单列表 收到订货单详情 商品信息差异分析 新建订货单确认 新建订货单详情 订货单修改 己发送订货单确认列表基于WEB的B2B电子商务平台的设计与实现 己发送订货单确认详情 收到的订货单历史记录查询(10)发货模块:本模块提供发货单创建、发送、查阅等方面的功能,包括: 收到的订货单列表 收到的订货单详情 订货单发货记录 新建发货单 新建中发货单列表 己发送发货单列表(11)收货模块:本模块提供收货单及退货单的创建、发送、查阅等方面的功能包括: 收到的发货单列表 收到的发货单详情 发货单收货退货记录 新建收
53、货单 新建收货单详情 新建收货单修改 新建中收货单列表 己发送收货单列表 己发送收货单详情(12)发票模块:本模块提供付款通知单创建、发送、查阅等方面的功能,包括: 订货单列表 订货单详情 订货单发货记录 新建付款通知单 新建中付款通知单列表(13)付款模块:本模块提供付款通知单接收、查阅等方面的服务。以后还会包括网上支付授权的功能: 收到付款通知单列表 付款通知单列表详情内蒙古大学硕士学位论文收到付款通知单历史记录查询(14)运输模块:本模块包括:运单议价、签约、运输通知、运输跟踪等方面的功能。3.3基于EJB的多层系统架构分析与设计3.3.1系统构架 前面已经较详细地论述了本系统采用J2E
54、E平台进行设计开发,并按照体系规范要求实现多层设计的相关理论依据,在实际运用中,使用分层技术的优点在于:1)使用层,只要知道它提供哪些功能而不需要去了解层的实现细节。2)可以使用另一种技术来改变某一层的功能实现方法,但不会影响和它相邻的层的应用。3)可以减少不同层之间的依赖。4)容易制定出层标准。5)底下的层可以用来建立顶上的层的多项服务。 目前,三层结构是应用软件系统中最常用的分层方式。本系统的架构即按照三层结构:客户层、中间层、以及基础架构层进行规划与设计。 客户层逻辑主要处理用户和软件的交互。本系统采用典型的基于HTML的界面。由于中国石油内部包括集团总部以及各级分公司电子商务部门的桌面
55、上,运行的无一例外是windows系统,因此IE浏览器是默认的选择,但出于全面的考虑,Netscape也可以被系统所支持,尽管意义不大。客户层的主要职责就是为用户提供信息,以及翻译用户指令并传送给业务层和基础架构层。 基础架构层逻辑包括处理和其他系统的通信,代表系统执行任务。例如数据库系统交互,和其他应用系统的交互等。在本系统的框架内,这个层的最大的逻辑就是存储持久数据,因此,也可以称为数据存储层。 中间层逻辑有时也被叫做业务逻辑。它包括输入和被存储数据的计算。验证客户层来的数据,根据客户层的指令或请求指派一个基础架构层逻辑。中间层逻辑中,困难的是如何区分一个逻辑是属于本层还是属于客户层。因此
56、,在J2EE逻辑体系结构中,该层进一步分割为Web层(表达层)与EJB层,前者主要负责与客户层进行交互,并作为中介将客户请求提交到EJB层进行处理;后者进行事务处理,同时提供对业务数据基于WEB的B2B电子商务平台的设计与实现的访问。 层技术中层的划分没有统一的标准。如何使用都要看具体的情况才能够决定。作为一个电子商务平台。该系统要求能够同时处理大量用户的请求,用户的范围广。同时中间层逻辑十分复杂,不但需要对大量订单进行及时处理,而且动态交易系统需要长时间稳定的实时数据处理与传输,这就要求层级结构划分为更细的粒度。3.3.2基于EJB构建电子商务系统存在的问题 J2EE和EJB在开发大型的企业
57、应用系统中具有无可比拟的优势,它们提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求,通过提供统一的开发平台,降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持。 虽然EJB技术在大型企业应用中得到了广泛的应用,但采用EJB技术开发的系统也存在着一些问题,这些问题将为系统的实际应用带来不便和麻烦。EJB系统存在的主要问题有: 层次之间联系过于紧密,客户端和后端的业务对象具有较强的依赖关系,不利于系统的管理和维护;在客户和服务器之间太多的方法调用会导致网络性能方面的问题;缺乏统一的客户访问机制,将业务对象暴露给客户端,可能会产生安全方面的
58、问题。 一个多层次的J2EE应用程序通常具有很多由EJB实现的服务器端对象,它们通常负责提供系统服务、数据信息等,也就是说作为业务对象,它们既包括相关的程序数据,也包括其程序逻辑。应用系统的用户需要访问业务对象来满足自己的需求,如果业务对象向用户提供接口,用户可以直接地与相关对象通信,但是这样一来,用户必须负责管理所调用的业务对象之间的关系,并且能够处理其间的业务流程。而且,如 内蒙古大学硕士学位论文果用户和业务对象之间存在过于直接的交互,两者的联系就会过于紧密,同时也使得用户过于依赖业务对象的具体实现,并负责管理与交互过程有关的业务对象查找和创建,以及不同的对象间相互调用的关系,甚至一些时候
59、用户还需要管理多次调用之间的事务管理环节。 在用户需求不断增加时,用户与不同的业务对象之间的交互也会变越来越复杂,而业务对象可能需要一定内部的更新才能满足用户的需要,但是这样的话用户又需要根据业务对象实现的变化而做出相应的改变,这种情况将为应用系统带来相当大的麻烦。在访问EJB应用系统时,用户需要与远程对象进行交互。如果用户直接与所有相关的业务对象交互的话,将带来很大的网络负担;因为对于每一个客户端的调用,都将产生一次远程的调用,而如果存在大量的系统用户,用户与对象间的交互就将为网络通信带来很大的压力,使系统性能受到很大破坏。如果用户可以直接访问后端的业务对象,但是系统中又缺少一个统一的用户访
60、问机制,那么这些访问很有可能变得杂乱无章,引起系统性能的下降,甚至导致一些安全方面的问题。3.3.3基于EJB的三层应用模型的技术框架 针对EJB系统存在的上述问题,需要提供一个暴露给客户端的统一接口,客户端直接通过这个接口访问EJB中的方法,以降低客户端与EJB之间的藕合度;将远程方法调用通过本地调用来实现,以减少网络开销,提高系统性能;对业务对象间的复杂交互进行封装,使业务对象对于客户端来说是透明的,以避免客户端对业务对象的随意访问。为此,本论文提出了基于EJB的三层应用模型,其基本结构如图3.4所示。基于WEB的B2B电子商务平台的设计与实现系统访问会话层子系统会话层应用争鳗.4 Thr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初级公司信贷-初级银行从业资格考试《公司信贷》点睛提分卷6
- 提高城市综合承载能力方法
- 贫困户申请书低怎样写
- DB2201-T 42-2023 马人工授精技术规范
- DB2111-T 0020-2022 村镇社区畜禽粪便污染土壤修复技术规程
- 西藏拉萨市2024-2025高二上学期期末统考英语试卷(解析版)
- 2024-2025学年陕西省延安市高三上学期第二次月考英语试题(解析版)
- 请产假的申请书
- 田径运动的运动损伤预防与处理技巧
- 医学免疫学复习重点与试题库附答案
- 纺丝原液制造工(中级)理论考试复习题库(含答案)
- 大梅沙河道河道流量水位
- 张岱年:《中国文化概论》
- 紧固件常用标准件汇总图
- 人教版初二英语八年级上册全册英语单词表
- 绘本成语故事:四面楚歌
- HCIE-Transmission H12-931认证培训考试题库汇总(含答案)
- 《红色经典》校本课程
- 车辆委托保管合同 车辆委托保管协议
- 保育员教学大纲和教学计划
- 领子的分类详解课件
评论
0/150
提交评论