首页 理论教育分布式数据库技术中的WebService

分布式数据库技术中的WebService

【摘要】:Web Service是一种跨平台、跨语言的规范,用于不同的平台,不同语言开发的应用之间的交互。但是,Web Service定义得更抽象,并不关心特定的实现协议。图12.13Web Service的技术基础●通过一种描述,包括允许的输入/输出消息最小化,以及可能的关于服务功能和数据含义的语义标注。Web Service显式地描述程序如何工作。图12.14例程调用与Web Service的不同如图12.14左面所示,在一个大的代码体里,子例程像宏一样被指向和使用。

Web Service是一种跨平台、跨语言的规范,用于不同的平台,不同语言开发的应用之间的交互。不能简单地把Web Service看成是使用SOAP(simple object access protocol)协议的远程过程调用(remote procedure calls,RPC)。

面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一的和通用的方式进行交互。

Web Service的技术基础如图12.13所示。

对于面向服务架构,SOAP是其协议栈中的基础协议。但是,Web Service定义得更抽象,并不关心特定的实现协议。

非形式化地说,Web Service是:

●一个可能的远程调用,其调用采用机器可读的标准语法(首选XML类)。

●可通过标准Internet协议抵达。

图12.13 Web Service的技术基础

●通过一种描述,包括允许的输入/输出消息最小化,以及可能的关于服务功能和数据含义的语义标注。

Web Service显式地描述程序如何工作。程序通过名字发现Web服务,理想情况下可涵盖整个万维网,理解如何使用服务,使用尽可能对的语义,使用服务去实现目标。

任何公开注册登记的Web服务可以按如下方式被使用。(www.chuimin.cn)

●任何人,不要求对服务进行任何修改(称为民主原则,democratic principle)。

●任何时候,无需前期预备。

结果,软件系统通过如下方式获得健壮性。

●运行时选择竞争服务。

●有自动构建新进程来实现目标的能力。

当然,可以通过子例程(subroutines)和RPC来做到这些。但是子例程构造应用严重依赖程序员的智力。理想情况下,可以以更高级的程序形式出现,即以服务组合的形式来实现应用。我们用图12.14描述两者之间的差别。

图12.14 例程调用与Web Service的不同

如图12.14左面所示,在一个大的代码体里,子例程像宏一样被指向和使用。程序员书写完整应用,其中使用子例程。在面向服务计算的情况下,呈现更高级的程序形式,按语义自动组合Web服务。

Web服务的描述扮演着重要角色,为此,W3C定义了WSDL(Web services description language)。