毕业论文——基于Web服务的企业级电子商务的研究与实现.doc_第1页
毕业论文——基于Web服务的企业级电子商务的研究与实现.doc_第2页
毕业论文——基于Web服务的企业级电子商务的研究与实现.doc_第3页
毕业论文——基于Web服务的企业级电子商务的研究与实现.doc_第4页
毕业论文——基于Web服务的企业级电子商务的研究与实现.doc_第5页
免费预览已结束,剩余66页可下载查看

下载本文档

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

文档简介

基于Web服务的企业级电子商务的研究与实现第一章 引言11 Web 服务在电子商务领域的应用当前经济全球化趋势不断增强,以信息技术产业为先导的“新经济”方兴未艾,而近期的热点是建立在互联网基础上的电子商务新经济。在发达国家,电子商务发展空前繁荣,通过互联网进行交易已成潮流。在过去,企业内部电子信息化及数据整合的需求,促使企业采用各种ERP和EAI(EnterpriseApplicationIntegration,企业应用集成)的解决方案及相关产品。但近几年来,Internet和Web的风起云涌,带起B2C和B2B(企业级)电子商务浪潮,促使运算平台朝网络迁移,企业间互动的需求随之大增,旧式的ERP和EAI解决方案已无法满足网络时代的新需求.解决此问题的方案是采用Web服务技术。 Web服务的出现,给软件产业又一次带来新的商业模式。Web 服务提供用户在 Internet上所要求的服务和信息,这些 Web 服务是可编程的,它们让用户可以用任何设备访问信息以及与其他站点和服务共享信息。同时,Web 服务的可信度在提高,使之成为交换可阅读信息的有效而可靠的媒介1。Web 服务作为企业中有效的流程集成的一种机制在市场中被采用,纳斯达克和澳大利亚股票交易系统都是非常有名的例子,他们都提供了一个接口,用于输入公司代码和接受最终成交的股票价格。Web服务不仅在信息系统间提供了一种新的通信方式,而且还带来了针对软件组件的全新思维方式。在一个系统上所使用的服务将演变成为可在其它系统上重复使用的组件。能够复用或共享某一应用的功能无疑是软件应用开发历史上的一次巨大突破。充分利用数以千计的现有信息系统中的现有功能,并将它们转变成可以以全新组合方式重复使用的组件2,意味着新一代应用的构建成本明显降低。今天,客户、合作伙伴和员工在日常工作中不得不使用大量信息系统,因为这些系统在整个IT环境中都是独立的孤岛式应用。而构建在Web服务之上的新型应用将充分利用现有系统,通过让用户访问一个单一优化的信息系统而简化了所有用户的日常工作,并提高了他们的工作效率。12 论文完成的主要工作企业级电子商务作为目前最具潜力的电子商务形式,得到广泛的关注。本文在电子商务示例网上定购系统的详细设计以及具体实现过程中,对应用在电子商务中的Web服务技术作深入的研究探讨。论文首先阐述基础理论。包括Web服务的概念,Web服务的架构,Web服务的支持技术:Web服务将XML语言及其模式XSD作为基础数据,通过SOAP及HTTP协议进行通信,用WSDL描述Web服务的所有操作,UDDI协议实现了Web服务的发布。并阐述了以上技术的相互联系。在此基础上,分析了传统企业级电子商务体系结构的局限性,提出了基于Web服务的企业级电子商务体系结构。综合以上研究论述Web服务的优势。然后论述了基于Web服务的企业级电子商务解决方案。在Visual Studio.NET平台上运用ASP.NET和ADO.NET技术对网上订购系统进行了详细的设计与实现,完成了网上订购Web服务应用程序和客户端Web应用程序Internet店面的开发,订购者可以通过站点访问调用网上订购系统提供的Web服务。结合具体开发,阐述了实现过程中的关键技术,并对网上订购系统的Web服务应用程序和客户端Web应用程序进行了部署与测试。最后展望了Web服务技术的发展。- 71 -第二章 Web 服务的基础21 Web 服务的概念Web 服务,是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项应用服务。Web服务可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web服务应用程序可以发现并调用它部署的服务3。简而言之:Web服务就是用户通过互联网向服务器发送一条XML消息,然后收到一条XML响应消息。通过提供简单和普遍适用的标准,Web 服务现在可以作为信息系统集成及系统间自动化信息交换的基础。 22 Web 服务的体系结构Web 服务体系结构是面向对象分析与设计(OOAD)的一种合理发展,同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合理发展。Web 服务的主要思想,是一组应用了网络的服务的组合,就像一个“黑盒子”4。Web 服务的体系结构是面向服务的体系结构(SOA,Service Oriented Architecture)。如图2-1 图2-1 面向服务的体系结构(SOA)Service Provider:发布自己的服务,并且对使用自身服务的请求进行响应。 Service Registry:注册已经发布的Service provider,对其进行分类,并提供搜索服务。 Service Requester:利用Service registry查找所需的服务,然后使用该服务在这些角色之间使用了三种操作: Publish操作:使Service provider可以向Service registry注册自己的功能及访问接口。 Find操作:使Service requester可以通过Service registry查找特定种类的服务。 Bind操作:使Service requester能够真正使用Service provider。Web 服务中涉及服务本身和对服务的描述两个部分。典型的应用过程是:服务提供者开发一个通过网络可以被访问的服务,然后将服务的描述注册到服务注册器或者发送给服务请求者;服务请求者通过查找动作在本地或服务注册器中检索服务描述,找到后,通过绑定就可以使用该项服务。服务描述和服务实现是分离的,这使得Service requester可以在Service provider的具体实现处于开发阶段、部署阶段或完成阶段时,对具体实现进行绑定。另外,SOA中的组件必须能够进行交互,才能执行上述三种操作。所以Web 服务体系结构的另一个基本原则就是使用标准的技术,包括服务描述、通讯协议以及数据格式等。开发者可以开发出平台独立、编程语言独立的Web 服务,从而能够充分利用现有的软硬件资源和人力资源。23 Web 服务的支持技术Web 服务平台需要一套协议来实现分布式应用程序的创建。要实现互操作性,Web service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。以下是Web服务支持技术的概述: 独立于平台的数据交换格式使用可扩展标记语言(XML)来完成 描述数据结构的一种方法用XML模式XSD指定XML数据结构 打包数据的一个标准方法,也许用于跨Internet的传输XML数据可能被直接打包成HTTP消息,但是更常见的是包装在SOAP文档中 Web服务描述自身、它们能进行的操作和客户端所需要的数据结构的一种方法Web服务使用Web服务描述语言(WDSL)进行描述 通过Web服务的功能或是描述以编程方式定位Web服务的一个框架可以使用通用的描述、发现和集成(UDDI)来实现Web服务的发现231 Web 服务的数据Web 服务需要使用一种中立的方法来描述数据和交换数据。解决方案就是使用可扩展标记语言(Extensible Markup Language,XML)。XML提供了一种标记内容的方式,可以添加关于数据用途的信息。信息使用 XML 存储之后,称为解析器的应用程序就能够可靠地提取相关信息,并根据不同的需要处理。XML是由万维网协会(W3C)创建,W3C制定的XML Schema(XSD)定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。XML 可用于各种不同的应用程序,但其实质是:XML 是一种表示数据的方式。有时候数据是为数据库准备的,有些时候则是供人阅读的。Web 服务平台用XSD来作为其数据类型系统。当用某种语言来构造一个Web 服务时,为了符合Web 服务标准,所有使用的数据类型都必须被转换为XSD类型。如想让它在使用不同平台和不同软件的不同组织间传递,还需要用协议封装。现在的框架有一个共同的问题,它们在导入多个XML Schema 和 WSDL文档方面能力有限。在一个WSDL文件中提供完整的XML Schema 和 WSDL 定义而不是从各种位置导入XML Schema 和 WSDL 定义就是一个很不错的主意。尤其是,Microsoft .NET框架对 XML Schema 导入功能非常敏感5。232 Web服务的描述 Web 服务相关的WSDL文档描述了Web 服务可以执行的所有操作。WSDL文档包含了模式信息,与模式对消息结构定义有关的信息,以及关于SOAP和HTTP GET/POST标准的信息。使用WSDL文档,我们可以编写代码访问和文档相关的Web 服务。在.NET中,我们很少直接操作WSDL文档,因为.NET Web 服务会根据服务使用的代码自动生成此信息.2321 Web服务描述语言 Web服务描述语言(WSDL)是用XML语言来描述一个或多个服务。它描述了服务、访问服务的方式以及需要返回的响应的类型。可用于动态发布Web 服务、查找已发布的Web 服务以及绑定Web 服务6。描述的具体内容:类型(Type)、消息(Message)、操作(Operation)和端口类型(PortTypes)、定位和协议绑定。 WSDL 提供了一种语法,将服务描述为交换消息的端点集,通过端点定义一个或多个服务,每个端点指定一个URL,用户可以通过这个URL访问Web服务。在 WSDL 中,消息通过交换的数据类型来描述客户端和服务之间的通信。操作包括输入和输出消息。端口类型包括一组操作,而且端口类型被约束在某些协议上,即绑定。 WSDL 支持绑定到 SOAP 1.1、HTTP GET/POST 和 MIME 协议。并且WSDL 是可扩展的,可以与其他类型的网络协议和消息格式一起进行使用。每个端点有一个相关的端口,不同的端口对应于访问服务使用的特定协议如图2-2所示。 图2-2 WSDL文档工作图通过上图的反过程,我们看到WSDL 文档完成了以下工作: 定义Web服务支持的各种操作要求的类型; 用这些类型构建各种操作使用的消息; 用特定于访问Web服务的方法把消息和具体操作关联起来; 绑定操作和端点作为绑定操作的一部分,将操作要求的数据格式和指定的端点地址固定; 服务元素把绑定定义和具体的端口连接,端口提供了服务最终的URL地址。WSDL 文档结构WSDL 文档开始于一个声明部分,分为两个关键组件。第一个声明组件包括不同的命名空间(NameSpace)声明,声明为根元素的属性。第二个组件是可选的 元素,定义了将在 WSDL 文档中用到的特定数据类型。WSDL文档用XML编写,它的根元素是。该元素来自于/wsdl/的一个命名空间,它构成的WSDL文档的基本结构如下: WSDL document元素还可以包含任意个数的下列元素,这些元素可以配置前面讨论的描述Web服务要求的各种信息: (包含元素),指定与Web服务交换的消息的基本格式。 (包含元素),将消息和对应的操作关连在一起。端口类型支持的每个操作使用一个元素来定义,通过消息包含的元素使操作和消息关联。元素使用name属性命名可包含下面的元素:-发送到服务的消息-从服务接收的消息-发生错误,操作调用者接收到的消息 (包含元素),提供了不同协议下访问操作必须使用的具体语法,全部功能通过特定协议的扩展元素取得,但属性基本结构不变。 (包含元素),是WSDL文档处理服务定义的元素。WSDL扩展WSDL定义只有与具体的协议一起使用才能发挥更大的作用,一般使用SOAP和HTTP GET/POST这两个协议。要使用这些扩展,只需引用包含扩展名称的命名空间并在和元素中使用这些扩展。 HTTP GET/POST扩展 扩展 扩展 SOAP扩展和2322 WSDL的使用WSDL文档是可以自动生成的,使用Web服务类的代码和驻留服务的服务器的信息作为源信息。反过来WSDL可以用来生成允许客户端轻松访问的代码,或用作Web服务创建基础的代码。. NET用发布的WSDL文件创建代理对象,与外部的Web服务通信。本地的代理对象模拟Web服务上的方法调用,允许开发人员只与一个本地对象打交道,而不用编写SOAP消息。代理对象在内部创建并格式化正确的SOAP消息发送给Web服务。.NET Framework提供了一个命令行工具(wsdl.exe)可以根据一个WSDL文档的位置创建一个代理对象。233 Web服务的通信协议2331 Web 服务通信协议的优势Web服务必须建立在开放和标准的规格之上,允许不同的客户端呼叫使用它提供的服务。因此,各种不同的客户端必须使用一种共通的沟通标准,才能够顺利地和各种不同技术开发的Web服务互通。DCOM、RMI或IIOP使用需要在服务器和客户机有明确的、同类型基本构架的具体对象模型协议。与具体组件技术紧密结合的实现在一个受控的环境中能很好地被接受,但它们在网络环境中变得不切实际。因为一个集成商业程序的参与者会发生变化,随着时间的推移,技术也在变化,所以在所有参与者间确保一个单一的、统一的体系架构就变得十分困难7。网络服务采取了另外一种途径来实现客户端与服务器的通信,这就是SOAP协议。SOAP协议以XML文件的形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制,能够被用于从消息传递到RPC的各种系统。由于采用了XML文件格式,SOAP可轻易绑定到HTTP、SMTP等网络上最常使用的通信协议上,更能穿越企业的防火墙,还可利用SSL、S/MIME等机制加密,安全性高。透过XML来传递信息的优点,就是对程序语言、操作系统的独立性。这是CORBA、JavaRMI及DCOM这些以专属二进制格式传送数据所不及的。由于是纯文字XML格式,SOAP信息可由任何一种程序语言所产生,被任何程序语言、甚至被用户解读。2332单对象访问协议SOAPSOAP即简单对象访问协议(Simple Object Access Protocol),是一种通过Internet交换XML格式信息的轻量级协议。SOAP主要基于两个Internet标准:用于数据编码的XML和用于信息传输的HTTP1.1版。HTTP用于实现SOAP消息的传输,而XML是SOAP消息的编码模式。SOAP协议包括了4个部分:(1) SOAP封装结构定义了一个整体框架用来表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。(2) SOAP编码规则定义了用以交换应用程序定义的数据类型的实例的一系列机制。(3) SOAP RPC表示定义了一个用来表示远程过程调用和应答的协定。(4) SOAP传输绑定框架定义了一个抽象框架用来使终端用户能通过下层协议交换SOAP封装消息。SOAP消息的结构如图2-3所示.图2-3 SOAP消息的结构SOAP消息是由下面的XML元素组成:封套在SOAP协议中的元素名是“Envelope”,它在SOAP消息中必须出现,定义消息内容。SOAP头在SOAP协议中的元素名是“Header”,它在SOAP消息中可能出现,必须是Envelope元素的第一个直接子元素。包含题头的有关信息。SOAP体在SOAP协议中的元素名是“Body”,它在SOAP消息中必须出现且必须是Envelope封装元素的直接子元素.如果有Header元素,它必须直接跟在Header元素之后.包含了调用和响应信息。SOAP 消息传输涉及三个主要角色:SOAP 发送者创建和发送 SOAP 消息给最终的 SOAP 接收者。一个可选的 SOAP 中介(intermediary) 可以用来在 SOAP 发送者和最终 SOAP 接收者之间截取 SOAP 消息。如图2-4所示:图2-4 SOAP 消息传输涉及三个主要角色2333 HTTP协议HTTP是一种应用广泛的应用层网络传输协议,将SOAP消息绑定到HTTP协议,必须利用HTTP协议的请求/应答方式发送和接收SOAP消息.HTTP-GET和HTTP-POST是两个标准的基于HTTP协议的方法,请求题头指定了客户机要从服务器获取的内容,被请求的服务器相应一个或多个响应题头。234 Web服务的发现2241 UDDI概述UDDI统一描述、发现和集成(Universal Description, Discovery, and Integration)一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也使注册企业提供的服务被发现和访问的实现标准协议。UDDI实际上就是一个向大家提供注册服务的公共数据库。通过UDDI,人们可以发布和发现有关某个公司及其Web服务的信息。UDDI包含有关公司服务的技术接口的信息。如图2-5所示,UDDI作为发现和发布服务的中心,在Web Service中起着重要的桥梁作用。图2-5 UDDI的桥梁作用UDDI有四种主要数据结构:商业实体信息(businessEntity结构)、服务信息(businessService结构)、绑定信息(bindingTemplate结构)、技术规范信息 (tModel结构)。他们相互关联、相互合作,使得UDDI在调用过程中,迅速发现和发布服务。businessEntity结构(商业实体信息)处于所有结构的顶层,用于保存业务信息。提供企业标识分类与行业分类信息,并且提供企业的地址、联系方式等信息,以快速准确地了解商业实体。businessService结构(服务信息)将一系列有关商业流程或分类目录的Web服务的描述组合到一起。提供所涉及的各个Web服务的名称、服务分类信息。bindingTemplate (绑定信息)结构每个Web服务的技术描述是通过单独包含的bindingTemplate结构的实例来实现的。提供Web服务的具体入口地址信息,支持对入口地址的重定向,并包含指向tModelInstanceInfo结构集的容器。tModel(信息技术规范)提供一个基于抽象的引用系统,其中所含内容记录了由键标识的元数据。各核心结构之间的关系,可用图2-6表示。图2-6 UDDI核心结构之间的关系UDDI技术的核心是UDDI商业注册表,它使用一个XML文档来描述企业及其提供的Web服务。UDDI商业注册表提供的信息包含三个部分:白页(White Page,通过名字组织企业) 白页列出关于Web服务的常用信息,例如,Web服务的URL,公司名称,地址极其他信息。允许客户通过唯一标识符来搜索企业。黄页(Yellow Page,通过类别组织企业) 在黄页中,按类别列出业务。UDDI也支持按照行业、提供的产品/服务以及地址来进行企业归类。 绿页(Green Page,通过服务组织企业) 绿页描述Web服务提供的服务。指的是注册企业并且允许通过企业提供的服务类型和功能来搜索企业。图2-7描述了UDDI 数据和它们的关系。图2-7 UDDI 数据的关系2342 Web上访问UDDI在 Internet 上发现一个 Web 服务有两种方式:直接键入 URL 和使用搜索引擎来定位满足您提供的标准的站点。如果不知道服务的地址或者它的接口,那么需要通过查询一个 Web 服务注册中心来搜索服务。UDDI 注册中心实际上公开了一种 Web 服务,允许客户端注册一个接口,并且浏览、检查以及绑定到已经注册的服务。要访问这些 UDDI 服务,客户端可以发送SOAP 消息。下图是查询一个 UDDI 注册节点的体系结构。一个 SOAP 请求被发送到服务器,并且由 UDDI 注册节点的 SOAP 处理器反序列化。实际上将对查询 UDDI 数据库的注册服务发出 UDDI 调用。SOAP 序列化一个响应并传递回去,然后分发给 Web 服务器以发回到客户端应用程序。 如图2-8所示:图2-8查询一个 UDDI 注册节点的体系结构235 Web服务技术关联在Web Service的技术架构中(图2-9) , UDDI作用于服务发布层和服务发现层。网络是Web服务的基础,XML是SOAP消息协议的基础,SOAP消息支持Web服务结构中的发布、发现和绑定操作。我们可以利用基于XML的描述语言(如WS DL),对这些服务系统的操作类型、输入输出数据流、数据类型与传输协议和数据格式及安全控制机制等的捆绑方式、网络位置等进行规范描述,描述结果是一个规则的XML文件,成为被描述服务系统的标准界面(类似于CORBA的I DL)。服务发布就是将描述服务的WSDL文档发布到UDDI登记上,服务的发现依赖于服务的发布,服务发现层的发现机制对应于服务发布层的发布机制。图2-9 Web Service的技术架构24 Web服务体系结构在企业级电子商务的运用241 传统企业级电子商务体系结构局限性通常的企业级(B2B)电子商务系统应是基于一个分布式的环境,应用B/S模式的3层体系结构,由客户层、业务层和数据层组成,如图2-10所示。客户层通过用户界面负责和客户进行交互。业务层负责电子商务系统业务的处理,实现完整的业务逻辑。数据层负责数据存储与维护以及各项数据库操作,实现事务逻辑和数据逻辑。 普通的企业级电子商务系统虽然也具有快速、高效、低成本、高收益率等特点,但在实际运作过程中,电子商务的基本结构、交互接口等均没有统一的标准和解决方案,这种不具备良好集成能力的应用开发模式使得系统本身会出现一些无法克服的缺陷。因为在构建这些电子商务应用的时候,程序员们一般都采用“独立解决方案来实施。当需要融入新的电子商务流程,需要集成不同的电子商务应用以为用户提供更完整的增值服务时,都必须从最初的系统设计开始做起。因此便造成了软件整体以及软件各模块的重用性差;维护、升级及重新实现软件及子模块的劳动重复,工作量大等。图2-10传统企业级电子商务体系结构242 基于Web服务的企业级电子商务体系结构基于Web 服务的企业级电子商务系统能够整合网络中众多的应用程序,并大大提升各独立应用程序的价值。传统的由程序员主导的由里向外的开发模式被由用户主导的由外向里的开发模式所取代,冗长串行的开发循环被即时、快速的引用装配所取代。 将紧密耦合的、高效的n层计算技术与面向消息的、松散耦合的Web概念相结合,便是Web 服务的核心。基于Web 服务的B2B电子商务系统正是运用最先进的Web 服务的技术,将传统电子商务系统各子模块做成一个个独立的Web构件,封装后以Web 服务的形式发布到网上。开发人员可通过调用Web应用程序接口 (API),将Web 服务集成到电子商务应用程序中,和调用本地服务有所不同的是,Web API调用可通过互联网发送给位于远程系统中的某一服务。一个比较完整的基于Web 服务的B2B电子商务体系结构如图2-11所示。该系统首先应整合Intranet范围内的Web 服务,如用户登录模块、购物车模块、订单管理模块等。图2-11 基于Web 服务的B2B电子商务体系结构传统企业级电子商务系统将用户登录模块作为自己的子模块,而直接把功能函数集成到整个系统中,任何一个函数有变动都必须要求整个系统的相应改动和整体测试。而将用户登录模块封装成Web Service后,就能保持他与整个B2B电子商务系统的相对独立,只需合理定义其输入输出接口参数,就可通过简单协议完成一次WebService的调用。购物车模块是所有企业级电子商务系统中的核心模块之一。将此模块以Web Service的形式实现,会大大简化企业构建企业级电子商务系统的过程,并使系统维护工作相对简单。而Web Service形式的购物车模块不仅仅是一个单独的Web Service,还可以整合许多发布在Internet范围内的Web Service,如运费查询、税率计算乃至在线支付等等。将各个相对独立的Web Service整合到一个系统中,需要构建核心应用程序。在核心应用程序中,定义与各Web Service一致的输入输出接口参数,而且核心应用程序是体现企业个性化企业级电子商务系统的关键所在。不同的企业只需构建各自的核心应用程序来调用现成的WebService就可以构建自己的企业级电子商务系统,这样,企业级电子商务系统的开发周期和开发工作必然会大大缩短和减少。另外,作为整个供应链的一部分,系统不仅应该独立地完成商务活动,还应该能提供规范的接口,方便快速地与其他的外部应用程序,如企业资源规划(Enterprise Resource Planning ERP )、客户关系管理(CustomerRelations Management CRM)、供应链管理(Supply Chain Management SCM)等进行通信。25 Web 服务的优点完好的封装性:Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他仅能看到该服务的描述。松散耦合:这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用接口不变,Web服务的实现任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了.NET或者是相反的迁移流程,用户都可以对此一无所知。 使用标准协议规范:作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一般而言,绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方。 高度可集成能力:由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。开放性: Web Service可以与其他Web Service进行交互。它具有语言和平台无关性。支持CORBA、EJB、DCOM 等多种组件标准。支持各种通讯媒体如:HTTP、SMTP、MQ、FTP、RMI over IIOP等8。26本章小结本章介绍了Web服务的概念,详细阐述了Web服务的支持技术:Web服务将XML语言及其模式XSD作为基础数据,通过SOAP及HTTP协议进行通信,用WSDL描述Web服务的所有操作,UDDI协议实现了Web服务的发布。并阐述了以上技术的相互联系,在此基础上,介绍了Web服务的体系结构,分析了传统企业级电子商务体系结构的局限性,提出了基于Web服务的企业级电子商务体系结构,并阐述了Web服务的优势。第三章 基于Web服务的电子商务系统需求分析与设计电子商务的基本架构为展示Web服务的承诺和竞争能力提供了一个极好的现实的示例。电子商务系统的明显优势在于允许被多个应用程序访问。一个不仅能被最终用户Web应用程序(在线商店)访问,还能被呼叫中心操作员和后端系统(仓库)访问的框架会带来巨大的经济收益。虽然这些访问点面对不同的用户界面,但它们可以容易地被结合到同一个Web服务中。下面将以电子商务的具体示例网上定购服务为例详细阐述Web服务的实现和使用。31 网上订购服务需求分析 网上订购服务为客户提供网上查阅商品信息,订购商品,并通过信用卡付费的服务,商务公司将根据客户提供的运输信息送货给客户。Internet店面站点和呼叫中心内用程序都将这些服务用于各自的异构业务过程。 客户使用Internet店面站点订购产品。客户可以浏览商务公司提供的产品目录,把将要购买产品放到购物车中。当客户准备完成订单时,商务公司收集订单的一些信息,如产品运输地址,运输手段等,并获取客户的信用卡信息以便根据订单收费。此时,后端的系统将处理订单,获取付款,并在公司库存中划去这些产品。最后,商务公司把产品运输给客户。对于呼叫中心应用程序,客户可以告诉客户服务代理他们想订购的产品,然后将选择的产品放入辆购物车中。当客户表示准备完成订单时,把账单信息交给客户服务代理。Internet店面站点驻留在沈阳的Web集群中,呼叫中心应用程序驻留在上海。呼叫中心的人员可以通过Internet使用Internet店面,为客户操作这个Web站点。现实贸易交易中,企业可能是作为其他公司的承包商提供这个呼叫中心支持的,而这些公司经常有它们自己的异构的内部系统。网上定购服务的功能就是要将上述的异构系统结合到Web服务中。因此,需要把这个场景细分为电子商务实际的职能区域,即Product Catalog、Shopping Cart、Customer和Order Processing组件。 Product Catalog产品目录服务将为我们的订购应用程序提供读取产品目录的能力。还可以为订购应用程序提供关于产品的类别信息。 Shopping Cart 购物车服务将提供一个基本的购物车,其功能包括插入个产品及其订购量,更新产品的订购量和从购物车中删除产品。 Customer 客户服务使公司获取客户信息,更新现有客户信息,或插入一个新客户的信息。 Order Processing订单服务将处理订单。在这个服务中,需要验证客户的信用卡并收取费用。服务将需要从购物车中提取数据,然后把数据添加到提交的订单中,订单的提交需要使用事务来完成。3. 2 网上订购系统的体系结构321 系统架构设计该系统的解决方案将以Web服务架构为基础,用Web服务的方法实现异构系统和平台的通信所有操作通过相同的XML Web服务进行通信,如图3-1所示。 图3-1 Web服务实现异构系统和平台的通信网上订购系统架构如图3-2所示:图3-2网上订购系统架322系统设计1 系统高层用例图:网上订购系统提供的服务可以被客户通过Internet店面直接调用,客户也可以通过呼叫中心的管理员来执行服务,后端系统即仓库的管理员可以调用商品服务,客户服务和订单服务,完成商品目录的更新,订单的处理,以及获得账款,邮寄商品。如图3-3所示:图3-3 网上订购系统用例图2 客户端应用程序业务流程图:客户通过身份验证成功登陆后,客户端应用程序执行以下业务流程,如图3-4所示:图3-4 客户端应用程序业务流程图3 网上订购系统解决方案的程序集如图3-5所示。服务对象类在WebService程序集中实现。WebService程序集依赖OrderData程序集,OrderData程序集通过数据类访问数据库,这样可以更新和查询订单。图3-5网上订购系统程序集图4 网上订购系统按照服务划分为四个主要服务模块,每个服务模块都提供了的服务的方法,如图3-7所示:图3-6 系统功能模块图网上订阅Web服务分为四个服务模块需要提供以下方法:1产品目录(ProductCatalog)服务模块提供下面五种方法:订阅者用不同的方式检索产品和产品类别,需要能够搜索数据库。GetCategories()方法-检索所有商品类别信息。GetProductsByCategory()方法-获取同类别的商品的信息ProductSearch()方法-检索所有产品的信息。GetProduct()方法-首先试着从缓存读取ProductCatalog XML输出。如果缓存中没有ProductCatalog,我们将调用SelectProductCatalog()方法。SelectProductCatalog()方法-查询整个商品目录并插入缓存中。2.客户(Customer)服务模块提供下面五种方法:该服务应用程序能够注册客户,从数据库获取客户信息,它还提供了验证客户的机制。GetCustomer()方法-给定一个CustomerID,返回该客户的所有信息 RegisterCustomer()方法-把客户注册信息插入数据库。并使用私有方法Exists()查看所传递的电子邮件地址是否已经存在,True返回错误消息。LoginCustomer()方法-验证登陆客户的电子邮件地址和密码。AddressInsert()方法-把给定客户默认的地址和送货地址插入该客户的地址薄中。Exists()方法-查看一个客户的电子邮件地址是否存在数据库中,如果存在则检索CustomerID。3购物车(Cart)服务模块提供下面五种方法:这个Web服务将提供创建购物车并在购物车中添加、更新和删除产品的方法。CreateShoppingCart()方法-创建一辆新购物车。GetIterms()方法-检索购物车中的产品。ItermAdd()方法-添加产品到购物车中。ItermRemove()方法-删除购物车中的产品。ItemUpdate()方法-更新购物车。4订单处理(OrderProcessing)服务模块提供下面三种方法:该服务模块获取购物车中的产品并提交这些产品作为订单,并检索过去的订单,以及一个特定订单的详细情况。InsertOrder()方法-将购物车中的商品插入订单中。GetOrderDetail()方法-获取订单信息 GetOrders()方法-检索给定客户过去的订单列表。33 本章小结本章围绕基于Web服务的电子商务示例网上订购系统进一步阐述了Web服务在现实商务中的作用及优势。在对网上订购系统进行需求分析的基础上,介绍了使用的主要技术,开发该系统的软硬件环境。并对该系统进行了详细的设计完成了模块的划分,详述了模块的功能及提供的方法。最后给出了网上订购系统的基本架构。第四章 网上订阅Web服务的详细设计与实现41 系统开发应用的技术411选择Web服务的原因 商务公司办公室在大连,电子商务Web应用程序驻留在沈阳的Web服务器上,呼叫中心位于上海,而订单执行操作在北京。这些地方各有它们自己的异构系统和平台结构。对于现实世界中的这种情况,传统做法是在各方之间进行协商,通过Internet或使用租赁的通信线路建立某种对等的虚拟私有网络。实现这种等级的系统的成本是天文数字:但随着Web服务的到来,现在能够以一种非常简单的方法实现异构系统和平台之间的通信所有的操作都通过相同的Web服务进行通信。Web服务解决了以下电子商务中存在的业务问题:l 企业的互操作性:Web服务是基于HTTP、SOAP、XML和WSDL的。和迄今为止任何其他技术不同的是,这项技术能够跨越系统、语言和平台的障碍。因为SOAPWeb服务的支持技术除了XML和HTTP外未绑定到任何事物上。l 可用性:典型地在一个群集服务器节点环境中,对于节点请求,一个服务器是主动的,另个服务器是被动的。如果主动服务器发生故障,被动服务器将联机并响应服务器请求。一般在Microsoft SQL Server 2000中会见到这种主动/被动群集。因为Web应用程序基于请求的要求,Web集群为Web服务器提供了一种群集的形式。与传统的客户/服务器群集技术相比,Web集群允许服务器响应更高流量的请求10。l 可扩展性:任何基于XML Web服务的架构都允许我们以前所未有的程度把资产扩展到整个企业和企业之外。其他技术的失败源于它们紧密地耦合每一个通信端点。像CORBA和RMI这样的技术要求在每个端点使用Java。脆弱的DCOM甚至要求在每个端点使用MS Windows。XML web服务是平台中立的选择,因为它不限制每个端点使用的技术。这允许我们用开发人员已经熟悉的一种环境经济地扩展企业。l 可重用性:在当今的技术世界中,XML Web服务在应用程序之间是可重用的。这项技术为集中存放我们的企业代码库提供了一个极好的机制。额外的好处是这些XML Web服务可以在异构的应用程序之间使用。购物车逻辑可以用在电子商务Web站点上,也可以用于呼叫中心应用程序等。这确实把代码重用性提高到了最大程度。在网上订购Web服务的实际开发和应用中,商务公司可以将订购系统作为Web服务部署在Internet上,使用该服务的订购者可以根据自身对于订购服务提供的服务的需求,动态地查找、发现和调用这些已发布的Web服务。Web服务的订购者可以是通过SOAP消息与此Web服务进行通讯的任何组件或应用程序。传统的客户端应用程序,Web应用程序,甚至一个Web服务都可以在任何时候、任何地方通过Internet对其进行方便的调用。由此可见,Web服务技术,能够以简单低成本的手段解决异构系统的通讯,无疑是开发网上订购系统的最佳选择。412实现系统的主要技术4121 ASP.NET概述ASP.NET是.NET Framework的组成部分之一。ASP.NET是创建基于Web的动态应用程序的一种全新技术。它修正了以前的ASP版本的运行错误,同时也吸收了ASP以前版本的最大优点,并参照Java、VB的语言优势,加入了许多新特色,较之IIS服务器上原有的CGI、ISAPI、ASP等,在许多方面有着显著的优越性10:l ASP.NET引入了对全编译语言(如VB、C#)的支持,提供了更为模块化的设计方式,使得代码简单易读,具有更高程度上的可重用性和共享性,同时也提高了效率。l ASP.NET改进了配置、伸缩性和安全性和可靠性,解决了对于应用程序进行配置和维护时常常遇到的DLL陷阱问题。l ASP.NET为各种不同的浏览器提供了更好的支持。4122 ADO.NET概述ADO.NET是Microsoft ActiveX Data Object(ADO,ActiveX数据对象)的改进,是一个基于标准的程序设计模型,用于创建分布式的、数据共享的应用程序。ADO.NET有以下几个优点:l 互用性:ADO.NET解决方案将内存中的数据表示为XML文件,从而在组件之间进行传递,可以充分利用XML的灵活性和互用性。l 可编程性:ADO.NET模型的对象可以通过强类型设计(Strongly-Typed Programming)来进行操作。l 可伸缩性:ADO.NET应用程序都使用了对数据库断开的访问方式,并不长期保持数据库锁或活动的数据库连接,从而能更好地利用有限的数据库资源,提供了可伸缩性。DataSet是ADO.NET解决方案的中心。DataSet是内存中的数据缓存,它可以包含任意数目的DataTable,每个DataTable一般对应一个数据库中的数据表或视图,一个DataSet组成了数据库数据的一个“断开的”视图。运行时,组件可以交换DataSet,ADO.NET将DataSet表示为XML文件,在组件之间进行传递。用户可以使用DataSet对象对数据集中的数据进行处理。ADO.NET使用DataSet Command对象来协调DataSet和对应数据表之间的活动,包括SQLDataSetCommand对象和ADODataSetCommand对象。本例中主要使用了DataSet来返回响应,使用了SQLDataSetCommand来对数据进行处理。42系统开发环境421硬件配置硬件:奔腾以上微机两台,其中一台用作服务器端开发Web服务,另一台用作部署客户端应用程序。422 软件配置网上订购系统的Web服务模块在Microsoft Visual Studio .NET平台下使用C#语言开发。后台数据库选用SQL Server 2000 Professiaonal Edition,操作系统为Windows XP Professional。浏览器为Internet Explore 6.0,满足了版本为5.0以上的要求。.NET Framework是开发和调用Web Services所必需的,是执行的核心部分。系统自带了.NET Framework SDK 1.1版。安装IIS(Internet Information Services),它提供常用的服务器功能,如HTTP、FTP、SMTP等,是运行ASP.NET应用程序的基础。Visual Studio .NET是开发Web服务的最佳平台之一,它提供了一系列简单易用的工具和选项,简化了Web服务的开发过程,提高了

温馨提示

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

评论

0/150

提交评论