[原创]Web Services系列:动态电子商务
动态电子商务是电子商务发展的目标,而Web服务是其核心技术,也是Web的下一个革新。Web服务将改变企业之间的商务运作和企业对企业(B2B)的应用的设计与开发。电子商务经过了几个阶段的发展:从浏览静态网页,使用交互式的网上表格,进行企业对客户(B2C)的商业,到开发企业对企业(B2B)的应用集成。如图1所示,目前有一半以上的企业还是停留在静态式的Web和简单的电子商务应用阶段。
图1 电子商务发展趋势
到目前为止,企业对企业的应用集成主要是把单块的企业软件进行改装而取得所需要的解决方案。但是,这种紧密结合的解决方案的灵活性很差。当商务的需求改变时,很难改装这种集成配置去解决新的问题。今天,企业无需在企业内部网、外部网和因特网做应用集成时再为这种情况而担忧,原因是动态电子商务为企业提供了商务流程、客户和厂商系统动态延伸和连接的功能。Web服务技术是动态电子商务的基础。应用Web服务,企业可以很容易地集成新的应用程序,连接各种各样的商务流程和增值销售商来达到其商务目的。
1、 电子商务发展阶段1:静态式的Web服务
在电子商务的开始阶段,静态式的Web是商业在因特网上进行商务的主要途径。这种电子商务体现于客户可以随时在商业的网站上浏览、寻找和搜集静态的商务信息。图2所示为静态式的Web应用架构。静态式的Web阶段使用的技术以Hypertext Markup Language (HTML)和图片为主。后来发展到用多媒体的技术,例如Macromedia Flash等。
图2 静态式的Web
2、 电子商务发展阶段2:交互式的Web服务
这一阶段的电子商务为用户提供了与网站交互的功能。开始的时候,Common Gateway Interface(CGI)是交互式Web的主要技术。虽然CGI是一个简单的技术,但是它不是跨平台的、可靠的和高性能的技术。从编程的角度来看,用C/C++编程语言或者Perl脚本语言通过CGI去开发和展示用户界面(GUI)比较复杂。CGI程序如有内存泄漏等常见的编程错误,它可以使整个Web服务器停止运行。
举一个CGI程序运行的示例:当用户在网上选择好他们要购买的物品时,CGI程序把购买的数量和总值用HTML表格的方式显示出来。如果需要更改购买的数量,用户必须按HTML表格上的一个按钮去更新这个HTML表格的数据。服务器上的CGI程序接到这个命令后,将重新计算购买的数量和总值,然后返回一页新的信息。这种方法有两个使用户不便的问题。第一,每次执行按钮命令时,必须与服务器连接,所以响应的时间将会长些。第二,旧的数据还会储存在浏览器内,给用户带来不必要的麻烦。
由于每个CGI请求都是以系统进程形式执行的,所以会消耗很多的系统资源。结果Web服务器供应商发明了不同的专有高性能接口,例如Netscape的NSAPI、IBM的GWAPI和Microsoft的ISAPI去提高吞吐量。虽然这些接口改善了CGI程序的性能,用它们来编程的技能要求也相应地提高了。同时,由于这些接口是专有的,如果需要使用另外一个Web服务器来运行这些开发了的CGI程序,将会困难重重。
图3所示为交互式的Web应用架构。虽然Servlets可以是个独立的程序,但是商务和前台界面展示功能在架构设计与实现上应该分开。每个典型的Web应用程序都使用模型-视图-控制器(Model-View-Controller,简称MVC)系统架构来实现。交互式的Web阶段的电子商务主要是通过交互式的网上表格或者企业内部集成等程序进行企业对客户(B2C)的商务。
图3 交互式的Web
3、 电子商务发展阶段3:动态式的Web服务
市场研究公司Forrester Research预测,到2004年,Web交易量将会是今天的50倍,而可访问的Web数据将暴增1000倍。同时,未来将会有一兆互相连接的设备、十亿上网的用户、百万互相联通的电子商务。这样不断暴增的Web访问端、交易和数据将会创造新的市场,并且带来新的挑战和商机。它们也是促进电子商务发展的主力军。
到目前为止,电子商务以企业对客户(B2C)的商务为主,使用HTML做信息的展示,许多步骤都是人工发起的。下一个阶段的电子商务要求应用程序自动地发起Web交易,减少人工步骤中易出的错误并提高效率。这种电子商务主要体现于企业对企业(B2B)的应用集成,使用XML做信息的交换。其实企业对企业(B2B)的计算机系统已经有了几十年的历史,例如零售商的销售应用程序与银行的信用卡处理程序的集成。但是,以前这些应用集成多数用专有的交换协议技术来实现。
在应用程序或者系统之间需要交换数据的时候,必须定义一个共同的文件格式。当所有的应用程序或系统都能处理这个难以延伸的文件格式后,才能在它们之间进行数据交换。如果数据需要在商业合作伙伴之间或者甚至在一家公司中的系统之间被移动,由于以前没有网络,磁带是移动数据的主要方法。但是,需要考虑磁带软件区块规模和磁带驱动器相容性等问题,而且不可能及时地交换数据。这种密耦的数据集成启发并影响了Electronic Data Interchange(EDI)的设计。EDI是一个早期企业对企业电子商务的解决技术,它依赖私人网络、硬性的信息格式和两端特定的软件去完成商业合作伙伴的数据集成。大规模的软件系统,例如企业资源规划(ERP)、客户关系管理(CRM)和供应链管理(SCM)都是用与EDI相同的设计原则,去解决完成数据和程序集成的。后来,EDI成为企业对企业的应用集成标准交换协议,取代了专有的交换协议。
由于这个历史原因,现在很多担负重任的商业系统都由新、旧开发的和购买的应用系统混合起来所组成,而且它们在多种平台上运行。由于设计和实现的延伸性差,造成在把现存的系统和新的软件集成时,困难重重,难以满足新的用户要求和功能。同时,开发者在实施软件系统集成时,要面对不同的编程语言、操作系统、硬件平台、网络、对象模型等的挑战。难以延伸的文件格式和密耦的应用程序对企业系统集成、满足新的用户要求和功能很不利。然而,企业不可能冒险地抛弃他们在现存系统上的巨大投资,从零开始再开发和集成一套新软件系统。企业需要产品和标准允许现存系统和新的解决方法以松散耦合的形式集成并一起运作。
企业需要在网上为用户提供寻找、调查和购买商品的功能。客户要求实时的信息与目录、记账和卖主连接在一起,以便他们在订货前能够了解所需物品的价格和送货时间表。在合并公司的时候,由于急需连接新公司的系统,使应用程序和数据集成的问题更加突出。因为与一个合作伙伴的系统集成已经很费时、耗资,所以当商务改变时,企业不能够容易地转换合作伙伴。这种情况导致企业的电子商务基本上是静态的。可是,如果企
业能够轻易地、快速地配置他们的软件去创造出一个新的商务模型,将会加强自己的竞争优势并且从中获益。企业需要的是用一个方法去端对端地连接公司内部的系统,并且能够连接公司的任何一个合作伙伴的系统。在过去五年中,软件行业定义了新的标准去改良企业、合作伙伴和客户系统集成的困难。例如,TCP/IP和HTTP定义因特网的协议,Java科技能够编制跨平台的商业功能模块,XML补助Java创造跨平台的商业数据。TCP/IP、HTTP、Java和XML可设计松散耦合的软件系统。松散耦合的设计减少系统集成时的限制,而支持电子商务标准的中间件可轻易地连接商业合作伙伴。开放的标准不单是电子商务的基础,还回答下面这些重要的问题:
- 如何知道而且决定信息传送的格式?
- 如何能发现新的商业合作伙伴?
- 如何能协调多重卖主的工作流程?
- 如何缩短系统集成所需的时间?
Web服务技术简化了EDI编程的要求,并把EDI功能延伸到Web上。因特网改造了企业对客户(B2C)的商业运作,Web服务将为企业对企业(B2B)的应用集成带来巨大的商机,使企业的业务演变成动态电子商务。动态电子商务的特点是软件应该按照商务的过程而造型,设计成可重用的和柔性的组件。应用动态电子商务,企业可以即时寻找商业合作伙伴,并将各种软件集成新的解决方法。但是,要实现动态电子商务,需要开放的标准。HTTP、XML、Simple Object Access Protocol(SOAP)、Universal Description Discovery and Integration(UDDI)、Web Services Description Language(WSDL)等就是所需的开放标准,而Web服务是动态电子商务的核心技术。简单地说,Web服务是自描述的、自包含的模块应用。
如图4所示,企业的应用程序可以使用Web服务的技术把它们封装成自描述的、自包含的模块应用。这样企业对企业(B2B)的应用能够使用开放标准协议来集成和交换信息。由于企业的应用程序被封装成Web服务,它们成为模块应用。只要通过制定的Web服务接口,其他系统可以随时与这些Web服务连接,完成企业对企业(B2B)的应用集成,达到动态电子商务的目的。
图4 动态式的Web服务
当更深入地研究和学习动态电子商务这个新概念的时候,可以发现它的主要目的是简化系统集成。动态系统集成主要分为两大类:连接和交易处理。连接解决应用程序集成的问题。这类集成可以直接使用Web服务去解决程序与程序之间的数据交换难题。Web服务是动态电子商务的一个非常重要的部分,但是只是一个部分。
在开发动态电子商务解决方面,这是必需的但不是充分的技术。交易处理能够建成一个完整的企业对企业(B2B)的应用集成。这意味着需要把Web服务的动态性质延伸到复杂的交易处理系统、工作流程、商业流程管理和合作系统上面。连接和交易处理一起能够满足动态系统集成的要求。它们共同是开发动态电子商务必需和充分的技术。
Web服务是电子商务发展中一场新的革命。它支持和推广动态电子商务模型,促进合作分层服务,而且开启新的商机。但是,Web服务是软件发展的一个简单的进化步骤,它扩大已存在的标准。企业只需要定义一层新的服务接口,就可以封装并重新利用现存的软件。
推荐到鲜果: 查阅更多相关主题的帖子: SOA



评论
发布者 wlb22
2006-9-17 14:19:18
发布者 leng_die
2007-4-14 12:35:23