第七章 Web Services
Web Services背景和概念
WEB应用与传统的桌面应用之间存在连接上的鸿沟,平台的互操作性差和异构性等问题严重影响了WEB应用的发展。Web Services的出现正是为了解决跨应用系统、跨平台、跨架构的互操作问题。
WebService是一种跨编程语言和跨操作系统平台的远程调用技术。通过Web Services可以使运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可以相互交换数据或进行集成。因此,无论应用之间采用什么语言、平台或内部协议,都可以方便地进行数据的交换。
Web Services是基于一些常规的产业标准和已有的成熟技术,如XML和HTTP等开放式Web规范技术,因此,它具有很好的开放性和互操作性。此外,Web Services的协议、接口和注册以松耦合方式协同工作,减少了应用程序接口的花费,为整个企业间业务流程集成提供了一个通用机制。
Web Services特点
良好的封装性
Web Services是一种部署在Web上的对象,因此具有对象的特点,即良好的封装性。这样服务使用者只能看到对象提供的通用接口和功能列表,而不用关心服务的实现细节。
松耦合
只要Web Services的调用接口不变,其内部变更对调用者来说是透明的。使用标准协议规范Web服务是基于XML的消息交换机制,其所有公共的协约都采用Internet开放标准协议进行描述、传输和交换。相比一般对象而言,其调用更加规范化,便于机器理解。
高度可集成性
由于Web Services采取简单的、易于理解的标准协议作为组件描述,因此完全屏蔽了不同软件、平台的差异,使它们之间可以通过Web Services来实现互操作。
易于构建
要构建Web Services,开发人员可以使用任何常用的编写语言(如Java、C#、C/C++或Perl等)及其现有的应用程序组件。
Web Services应用场合
跨防火墙的通信
把应用程序的中间层换成Web Services,可以从客户端直接调用服务,而不需要建立额外的ASP页面。同时作为中间层的Web Services完全可以在应用程序集成场合下重用。这样不仅减少了开发周期和代码复杂度,还能够增强应用程序的重用性和可维护性。
应用程序集成
通过Web Services把应用之间需要“暴露”给对方的功能和数据,以服务接口的形式提供给调用者,而不用去在意各应用程序之间异构性,因为Web Services是采用开放的、标准的、跨平台的协约来执行的。
B2B的集成
Web Services是实现B2B应用程序高效集成的重要技术之一,电子商务公司可以根据业务需求将应用的接口“暴露”给指定的客户或供应商,以方便客户和供应商高效地完成电子业务。
软件和数据重用
组件提供商可以把组件变成Web Services,并把相应的服务接口提供给服务使用者。这样,服务使用者无需将服务组件下载到本地并安装,而是直接在应用中调用服务,获取所需的数据。