随着Internet的发展,基于Internet的B2B电子商务(EC)不断发展。目前,大多数电子商务的应用和基于Web的商业服务,在处理购买者、供应商、交易市场和服务提供者之间的联系方式上各不相同。如何将这些应用方便地连接在一起,从而实现大范围的跨企业实体的商务应用系统对接,成为摆在开发人员面前的一大问题。不同的应用开发语言不同、布署平台不同、通讯协议也可能不同,对外交换的数据格式也有着很大差异。如何去解决这些差异性所带来的高代价的系统集成是这个问题的关键。
商业需求驱动Web服务
一般而言,目前认为最能够提升企业竞争力、使企业获得经济利益的电子商务应用是企业门户、网上连锁商店、集团内联网与知识库、供应链管理、客户服务、分销管理等。
由于商务环境和商务需求的不断改进和不断变化,这些电子商务应用一旦被布署,就不可避免地需要被修订、更新,以符合新的电子商务流程。而到最后,企业的管理人员甚至希望为企业员工、客户以及合作伙伴分别定制具体应用,以获得最大的商业利益并保持竞争力。
在对这些应用更新的可能中,下面三种情况是最主要的也是最常发生的:经常增加新的电子商务应用,每隔几个星期或几个月发生一次;经常对电子商务的流程进行更改,常常每周或每隔几天发生一次;经常应用户的需求而进行更改,甚至随时都会发生,尤其是当需要为每家客户、合作伙伴或每位企业员工都定制他们首选的电子商务应用的时候。
不妥的解决方案
目前,在构建电子商务应用的时候,程序员们一般都是采用“独立解决方案”来实施的。也就是说,对于每个应用,他们都是为每个需要的企业资源或外部资源编写连接代码,使应用得以运行。这些资源包括传统系统和数据库、Web应用和Web资源以及正在不断涌现的Web服务。
程序员还需要编写更多的代码,以使大量的用户能够访问每个应用。例如通过公司的Web站点,使用公司内部的桌面应用程序等。由于这些应用都是“辛苦”编程的产物,几乎很难再定制。当需要融入新的电子商务流程,需要为额外的用户群提供访问界面,需要继承不同的电子商务应用从而为用户提供更完整的增值服务时,所有的这一切不得不从最初的系统设计开始做起。为什么会这样?因为所有的应用都是从一次性开发的角度实施的,应用的每一个更改都需要由特定的程序员来完成。
正确的解决方案
电子商务需要摆脱独立解决方案的实现模式,需要舍弃复杂系统连接的实现方法。一个有效的电子商务应用绝对不应该是仅仅基于程序员以及那些复杂的代码。对于电子商务而言,传统的由程序员主导的、由里向外的开发模式,应当被由用户主导的、由外向里的开发模式取代。冗长的串行的开发循环应当被即时的、快速的应用装配所取代。同时这样的应用应当天生就具备高可定制性。如果探究其商业本质,这是来自经过时间考验的商业技术概念:“即时制造”以及“规模可伸缩”等概念,我们需要做的就是将传统的商业概念延伸到电子商务中去。
基于XML技术的Web服务正是解决这一问题的最佳手段。Web服务的使用将改变目前的开发模式和应用布署的费用规模。各种Web服务分别实现了一定的电子商务功能,通过将各种电子商务的Web服务进行组合和集成以创建动态电子商务应用。Web服务能够统一地封装信息、行为、数据表现以及商务流程,而无须考虑应用所在的环境是使用何种系统和设备。
通过使用Web 服务,企业能够通过抽象和混合方式将自身的电子商务组件化。当一个企业的核心竞争力被组件化之后,那么这些核心竞争力就能够很方便地在不同的企业之间共享,同时架构跨企业的电子商务应用,形成商务Web。
在商务Web中,可以不需要为使用一个电子商务应用而购买这个电子商务应用所承载的应用软件。Web服务是一种无须购买并布署的组件,这种组件是被一次布署到Internet中,然后到处可用的一种新型组件,所有应用只需要能够连入Internet,就可以使用和集成Web 服务。通过采用Web服务,开发的代价显著降低了,程序员无须与多种平台进行交互,只需要与一种组件进行交互,即Web服务。同时Web服务的调用界面完全采用标准的XML及相关技术,在代码实现上代价也有显著下降。通过采用Web服务,布署和集成的费用明显降低,流程的更改也不需更改大量代码,甚至通过工具的支持,根本不需更改程序代码。同时随着新的Web 服务技术,如WSDL/UDDI/WSFL的大量使用,Web服务在运行时态进行动态装配将成为现实,同时每个用户甚至可以应用户的需要而实时装配。
Web服务和EAI
电子商务应用集成的根本是企业内部的EAI(Enterprise Application Integration)与企业之间的B2Bi(B2B Integration)。EAI则是两者的基础。
Web服务不是EAI或者是EAI的一部分,还有可能是另外一种技术。Web服务能够使EAI成为真正可能的、便捷实施的,同时又是一种引人注目的解决方案,能彻底地改变传统的EAI中点对点的集成处理方式。
使用Web服务,通过松散的应用集成,一家企业可以仅仅实现EAI的一个子集,即能取得实效。与之相反,EAI要实现一个全盘的方案,来紧密地集成和联系支持公司业务的系统和应用。在公司内部不同的业务系统和技术单体中,可能需要花费数年的持续努力、高投资为之配备充实的资源。
Web服务以这样一种松散的服务捆绑集合形式(也可以说是一套特别的解决方案),能够快速、低代价地开发、发布、发现和动态绑定应用。就当代Web服务的技术发展水平来看,Web 服务可以实现应用程序之间的函数或方法级的集成。他们不是自然的基于事务的,同时仅提供了基本的“请求/响应”功能。然而,在下一代的Web服务中,在功能上和技术上都会更先进,将会提供用户接口封装和安全性,它们将能够包装一个应用程序并且把它嵌入到其他的应用程序中去。
现有的主要关注于应用集成的EAI解决方案将不得不因此而改变。在将来,包装好的应用程序将使用如XML、SOAP、WSDL和UDDI技术,来把它们的函数或方法作为Web服务的接口来显示。因此,EAI解决方案将不得不提供一套对服务集成广泛的支持,而不仅仅是应用集成。
从这里开始
企业在内部应用程序中使用Web服务来实施应用集成的项目,应当从函数、应用程序接口(API),或者远端过程调用(RPC)级别开始这一进程。这个将使企业内使用和实施Web服务的IT技术人员熟悉Web服务技术,当企业将来使用Web服务进行外部集成(B2B集成)项目时,将会有助于项目的有效进行。
经过一段时间,Web服务将逐渐的由一个EAI解决方案进化为一个B2Bi(B2B Intergration)解决方案。