分布式计算、云计算与大数据
Web Services-第7章
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,并把相应的服务接口提供给服务使用者。这样,服务使用者无需将服务组件下载到本地并安装,而是直接在应用中调用服务,获取所需的数据。
XML
- XML是Extended Markup Language的缩写,即可扩展标记语言。它是一种广泛应用于互联网分布式计算中的、简单的、跨平台的结构化数据或数据结构标记语言。同时,XML是一种元语言,即用户可以根据实际需求设计自定义的标记来描述数据,XML中使用文档类型定义(DTD)或者模式(Schema)来描述数据。
- XML具有其跨平台、与软硬件无关的优点,以XML为基石不断催生着各种新技术的到来,如SOAP、WSDL和XSL等,它们为Web技术的发展提供了不竭动力。XML具有以下特点:
- 可扩展性
- 自描述性
- 简洁性
- 数据的描述与显示相分离
- 易于数据的交换和共享
- 易于充分利用数据
- 可用于创造新的语言
XML语法和文档
- 所有的数据都是在文档中进行描述的。而XML文档具有不同的类型,XML的组成部分和结构形式地定义了文档的类型。
- XML文档由命名容器和命名容器的相关参数值组成,这些命名容器包括声明、元素和属性。其中声明确定了当前XML文档所使用的XML标准规范的版本;元素就是XML文档中的一对标记及标记之间的内容,它是文档最基本的组成单元,XML正是通过这些命名的标签对来描述结构化数据的;
- 属性用于对元素的特性进行描述,以便XML文档处理器能按照特定的属性来处理文档。