基于Web Services构建动态电子商务系统的研究

来源:互联网 发布:淘宝信用保证金 编辑:程序博客网 时间:2024/05/21 09:39
1 引言
  随着电子商务的发展,企业内部、企业间的商业交互需求越来越多,不同企业间的应用系统需要密切合作,共同完成整个商务流程,传统的EDI商务模式已不能满足这种复杂的交互需求,动态电子商务应运而生。动态电子商务是能够动态适应企业不断变化的业务流程的电子商务系统,它能够实现不同企业的应用系统间的动态集成,体现电子商务的真正价值。现阶段,实现动态电子商务的关键技术是Web Services,利用Web服务的动态特性,企业可随时根据业务流程的变化重构其电子商务系统。
  
  2 Web服务和动态电子商务的结合
  一般地,电子商务由网络基础设施、信息发布与传输、商务应用、社会环境保障、软硬件支撑、商务服务平台六部分构成[1] ,它不是一个孤立的系统,它需要和外界发生信息交流,需要在企业异构平台的不同系统间完成数据收集、传递和处理的任务。传统的基于复杂系统对接的开发模式采用诸如CORBA、DCOM等技术来解决这些难题,但这种解决方案随着企业商务规模的增长会造成开发费用、成本的极剧增长。Web Services的出现将解决这种困境,它为动态电子商务的实施提供了新的技术支持。研究基于Web Services的电子商务体系结构(WSEB)是Internet 应用和电子商务发展的方向。
  动态电子商务是电子商务(E-Business,EB)发展的目标。动态电子商务的主要目的是简化系统集成,需要解决如何连接和如何交易这两大问题。连接的集成可以直接使用Web服务去解决程序与程序之间的数据交换难题。交易处理则必须放在一个完整的B2B的应用集成系统中去考虑,这意味着需要把Web服务的动态性延伸到复杂的交易处理、工作流程管理、商务协作管理和合作系统中。
  Web服务是电子商务发展中一场新的革命,它支持和推广动态电子商务模型,为企业开启新的商机。举例来说,企业通过应用Web服务,将已有的应用系统用WEB服务进行封装,重复使用现有的资源和解决方案以减少B2B应用集成开发所需的费用和实施时间,不需要硬性地改写或者重新开发已有的软件系统,这对己在信息化方面做出巨大投资的企业而言尤其重要。
  
  3 基于Web Services的电子商务体系结构(WSEB)
  3.1 Web Services 技术
  Web Services 是由企业发布的用于完成其特别业务需求的在线应用服务,其他企业、合作伙伴的应用软件能够通过Intranet、Internet 来动态地访问并使用这些在线服务 。它是技术与市场发展的必然结果, 是在IBM、微软等许多平台供应商、软件提供商共同推动下, 并在W3C(万维网联盟) 的工作流、数据安全性等方面的规范下发展起来的标准,各个供应商对其的支持程度超过了以往的任何跨供应商的软件产品。
  Web Services 的整体架构是开放的、标准的分层结构(如图1 所示) ,下一层是上一层的基础。这种分层结构降低了实现的复杂性,同时提高了Web Services 的灵活性和可扩充性,有助于实现动态的应用集成。
  图1 Web Services 的分层架构
  其中,SOAP 为简单对象访问协议(Simple Object Access Protocol) ;WSDL 为Web 服务描述语言(Web Services Description Language) ;UDDI 为统一描述、发现和集成(Uniform Description Discovery and Integration) 。SOAP提供通信机制,WSDL负责服务的描述,UDDI则是发现服务的一种工具。
  Web Services 具有以下特性[2] :
  (1)面向服务: Web Services 把一切都看作服务,这种服务可以在网络上通过消息传递机制动态地被发现、组织和重用。
  (2)互操作性与松散耦合:通过SOAP 消息机制远程调用进行应用交互,任何Web 服务都可以与其它Web 服务进行交互,避免了在CORBA (公用对象请求代理体系结构) 、DCOM (分布式组件对象模型) 和其它协议之间转换的麻烦,开发者可以使用任何语言来编写Web 服务, 无需变更他们的开发环境。Web Services 使用者与Web Services 提供者之间是松散耦合。
  (3)封装性:Web Services 对外封装成由WSDL描述的服务,屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性。
  (4)普遍性:Web 服务技术基于一系列开放标准。Web 服务使用HTTP 和XML 进行通信,因此,任何支持这些技术的设备都可以拥有和访问Web 服务,具有使用上的广泛性。
  (5)简易性:Web 服务技术不仅易于理解,并且IBM、微软等大的供应商所提供的开发工具能够让开发者快速创建、部署Web 服务,已有的COM(Component Object Model 组件对象模型) 组件、Java Bean 等也可方便地转化为Web 服务。
  由于Web Services 技术建立在标准性与开放性基础之上,彻底打破了以前封闭式的实现方法,通过Web Services 技术,使用不同语言开发、运行在各个不同平台上的客户端应用可以无缝地获取所需应用,达到资源效率的最大化。
  3.2 WSEB 系统框架
  WSEB 的系统逻辑结构如图2 所示。在这种体系结构中,Web Services 致力于在Internet 上提供基于开放标准的应用或业务流程,它们能够提供应用的导航、发现,具有与Internet 上的其它应用进行交互的能力。
  图2 基于WebService的电子商务系统框架
  如图2所示,在旧的业务系统中,用户已经积累了很多应用,采用了诸如CORBA,EJB,DCOM等分布式模型技术。CORBA 是目前较流行的一种分布式对象技术, 它通过对象之间的交互来实现资源的共享,为分布式环境下应用系统的集成提供支持。但是,CORBA 本身存在如下缺陷:客户、服务器方的组件接口是紧密耦合的,客户组件在编译时就必须绑定到服务器组件,如果接口改变,那么客户组件必须重建;CORBA 采用IIOP 通信协议, 容易受到防火墙和代理服务器的阻隔[4]。
  采用Web Service解决方案时,需要先确定提供给其他应用系统使用的应用程序接口(API),生成相应WSDL文档。然后将异种分布式组件封装成Web Service。使用基于XML的SOAP相互通信,便可以实现应用系统的集成。与此同时,这种集成允许应用程序被划分为小的逻辑模块,在小粒度、松散耦合的基础上,使跨越多个应用程序的商务流程集成变得相对简单。例如图中Provider A只需在其原有的CORBA对象模型基础之上增加一个Web服务的接口封装就可以提供对外服务。
  
 基于Web Services 的电子商务集成引擎, 通过各类接口将应用封装成Web Services 组件后, 发布到UDDI 注册中心, 并通过接口调用相应的应用。它是连接各类应用的桥梁。采用松散耦合方式, 任何应用都可以调用对应的接口连接到系统中来,方式灵活,简单快速,真正实现了“即插即用”[5]。
  Web服务是基于开放标准,所有的Web服务的描述,注册,查找,调用都基于XML格式的消息进行。XML是一种完全的跨平台的标识语言,因此它可以畅通无阻地使用任何Internet协议进行传输。在这个模型中,我们可以看到,所有的企业内部的应用系统在对外接口上都用统一的对象模型一-Web服务封装。所有的Web服务挂接在Internet上,同时通过UDDI注册机制在UDDI注册中心登记,面向Internet提供商业服务。任意的商业服务消费者,同样地可通过UDDI查询机制发现合乎自己要求的服务,找到服务提供者(ProviderA,B,C),然后通过Internet远程调用该服务。
  采用Web Services 技术方案能够在Internet 环境下实现平台系统与区域内的企业之间以及企业与企业之间的自主式的较少人工干预的自动化系统集成。企业与平台系统可以通过平台UDDI 发布自己的Web Services ,如供应商发布订单服务、客户支持服务等;查找企业或者平台提供的Web Services ,如客户需要查找供应商提供的订单状态查询服务,价格查询服务等。
  系统实施的关键是UDDI。UDDI可以是商业或行业的UDDI, 也可以是企业私有的UDDI。拥有私有UDDI注册系统的企业发布服务的过程为:1) 企业定义自己提供的Web Services ;2) 企业将服务发布于自己的UDDI 上 。要将服务发布到行业UDDI的发布过程为:1) 企业通过浏览器登陆平台系统;2) 企业通知平台自己可以提供的Web Services ;3) 平台定义提供的Web Services ;4) 平台将定义的Web Services 发布在UDDI 中[6]。
  
  4 系统实例
  现有两家企业,一家是图书出版社BookPress,另一家是图书销售公司BookMarket。BookMarket为了加强市场竞争能力必须要能够尽快的得到最新出版的图书,而BookPress图书出版社则希望能够将出版的图书尽快地销售出去。为此,BookMarket公司和BookPress公司达成了一项协议:即BookMarket公司可以在线从BookPress出版社取得书目,并且可以在线订购书籍。
  图3 Web服务系统实例图
  按照Web服务的方式构建两家公司之间的电子商务系统的方法是:首先BookPress出版社要定义并且实现一些Web Service(如查询服务,定购服务等);然后,BookPress出版社将它提供的Web Service信息的WSDL文档注册到商业或行业注册中心UDDI,也可选用Microsoft Windows Server2003中自带的UDDI Services创建私有的UDDI中心,这是一个实现了UDDI2.0规范的UDDI节点,本身也是.NET平台下的一个Web Service。
  BookMarket公司发现并查找到BookPress公司的注册信息,并以这些WSDL文档提供的信息为标准,发送请求消息,并且接收返回的消息,再进行处理。
  BookMarket销售商系统与BookPress出版商系统间的订单交易的基本运作流程如下:(1)BookMarket公司的应用程序向BookPress出版社WebServices程序发送一个查询图书的消息;(2)BookPress出版社的查询服务根据请求消息中的日期在BookPress的书籍数据库中找到相应的新书的信息,并形成响应消息返回给BookMarket公司;(3) BookMarket公司的书籍采购人员在本公司书籍数据库中找出BookPress出版社出版并且缺货的书籍,然后操作应用程序向BookPress出版社发送一个订单消息;(4)BookPress出版社收到订单请求,经过审核处理后,以订单响应消息返回订单收据,并且将订单保存(保存到一个XML文件中purchaseorder.xml);(5)应用程序收到PurchaseorderResponse消息后取出订单的收据,一方面调用XSL进行转换显示,另一方面将它保存到本地数据库中;(6)处理付款等事宜。
  下面举例说明如何部署及测试“价格查询服务”。在实现价格查询服务时,首先创建了priceCheck.wsdl文件,然后根据WSDL文档创建具体的Java实现类,并将WSDL部署到应用服务器中。在Web浏览器上使用URL+?WSDL参数的HTTP GET调用服务,就可以检查WSDL。
  目前Web服务部署机制是通过描述器即deploy.xml文件实现的,可以用该文档部署WSDL所定义的所有Web服务。价格查询服务的部署文件如下:
  将所有的类文件移到应用服务器相应目录下,并修改deploy.xml文件,然后启动服务器,就可以测试调用priceCheck Web服务了。
  
  5 结束语
  基于Web Services 的动态电子商务体系结构是一种非常有效的应用体系结构,该技术最适合于需要跨平台和跨网络进行通信的应用系统,是电子商务B2B动态集成的最佳选择。但在建立兼容的Web Services 体系方面,还有许多工作需要进一步努力。
  参考文献:
  [1]覃征.电子商务导论[M].北京:人民邮电出版社,2000.
  [2]顾宁,刘家茂,柴晓路.Web Services 原理与研发实践[M].机械工业出版社,2006,7-10.
  [3]翁晓翔,罗键.基于Web Service的企业应用集成方案[M].自动化技术与应用,2005.10;19-22.
  [4]徐舒亮,叶少珍.基于Web服务的EAI解决方案探讨[N].福州大学学报,2004.12,87-89.
  [5]李锐.企业应用Web Services技术的集成架构模式[J].价值工程,2006.8;84-87.
  [6]范黎林.基于SOA的区域协同电子商务平台设计与研究[N].河北师范大学学报,2006.3,154-157.