1、计算机学院1主要内容主要内容 分布式系统概述分布式系统概述 什么是什么是WebWeb服务服务 面向服务的体系结构面向服务的体系结构 SOASOA的功能描述与质量属性的功能描述与质量属性 SOASOA的基本特性的基本特性 SOASOA的优势与挑战的优势与挑战计算机学院2分布式系统分布式系统 定义:分布式系统属组件分布在网络计定义:分布式系统属组件分布在网络计算机上且通过消息传递进行通信和动作算机上且通过消息传递进行通信和动作协调的系统。协调的系统。分布式系统特征:分布式系统特征:并发性、缺乏全局时钟、故障独立性。并发性、缺乏全局时钟、故障独立性。构造和使用分布式系统的主要动力来源构造和使用分布式
2、系统的主要动力来源是资源共享。是资源共享。计算机学院3分布式系统特征分布式系统特征并发性:并发性:在一个计算机网络中,程序并发执行,在需要时共享资源,系统处理在一个计算机网络中,程序并发执行,在需要时共享资源,系统处理共享资源的能力应该随着网络资源的增加而增加;共享资源的能力应该随着网络资源的增加而增加;如何协调并发执行的共享资源的企业程序是一个重要问题。如何协调并发执行的共享资源的企业程序是一个重要问题。缺乏全局时钟:缺乏全局时钟:因为网络上计算机同步时钟的准确性受到限制,所以程序需要协调时因为网络上计算机同步时钟的准确性受到限制,所以程序需要协调时仅能通过交换消息来协调它们的动作;仅能通过
3、交换消息来协调它们的动作;通过网络发送消息作为唯一通信方式的直接结果,同步是重要的问题通过网络发送消息作为唯一通信方式的直接结果,同步是重要的问题故障独立性:故障独立性:所有计算机都可能发生故障;所有计算机都可能发生故障;网络故障导致与之互联的计算机的隔离。计算机中程序无法检测网络网络故障导致与之互联的计算机的隔离。计算机中程序无法检测网络时出现了故障还是网络运行的比通常慢;时出现了故障还是网络运行的比通常慢;计算机的故障或系统中程序的一场终止并不能立即被与之通信的组件计算机的故障或系统中程序的一场终止并不能立即被与之通信的组件感知,系统中每个组件对单独地出现故障,而其他组建还在运行。感知,系
4、统中每个组件对单独地出现故障,而其他组建还在运行。计算机学院4分布式系统实例分布式系统实例 因特网因特网是一个巨大的多种类型计算机网络的互连集合。因是一个巨大的多种类型计算机网络的互连集合。因特网上计算机程序通过传递消息交互,采用了一种公共通特网上计算机程序通过传递消息交互,采用了一种公共通信手段。因特网协议是一项重大的技术成果,它使得一个信手段。因特网协议是一项重大的技术成果,它使得一个在运行的程序能给在任何地方的程序发送消息。在运行的程序能给在任何地方的程序发送消息。企业内部网企业内部网是因特网的一个部分,实现独立管理,具有边是因特网的一个部分,实现独立管理,具有边界,通过配置能够执行本地
5、安全策略。防火墙作用是防止界,通过配置能够执行本地安全策略。防火墙作用是防止未授权消息的发出和进入来保护企业内部网,防护墙是通未授权消息的发出和进入来保护企业内部网,防护墙是通过过滤进出消息实现其功能。过过滤进出消息实现其功能。移动计算移动计算Kleinrock1997Kleinrock1997是指用户在移动中执行计算任务是指用户在移动中执行计算任务的能力或访问他们所处环境以外的位置的能力。的能力或访问他们所处环境以外的位置的能力。普适计算普适计算Weiser 1993Weiser 1993是指对多种在用户的物理环境中存是指对多种在用户的物理环境中存在的小型的、便宜的计算设备的控制。它们的计算
6、行为将在的小型的、便宜的计算设备的控制。它们的计算行为将紧密地、透明地捆绑到它们的物理功能上。紧密地、透明地捆绑到它们的物理功能上。计算机学院5技术挑战技术挑战 异构性异构性 开放性开放性 安全性安全性 并发性并发性 透明性透明性 可扩展性可扩展性 故障与容错故障与容错计算机学院6WebWeb服务服务 IBMIBM定义:定义:WebWeb服务是一种接口,它描述了一组操作,可以使用标准的服务是一种接口,它描述了一组操作,可以使用标准的XMLXML消息传递技术,经由网络访问这些操作。消息传递技术,经由网络访问这些操作。WebWeb服务可完成指定的任务或任务组。服务可完成指定的任务或任务组。WebW
7、eb服务采用标准的、形式化的服务采用标准的、形式化的XMLXML概念进行描述,称之为服概念进行描述,称之为服务描述。务描述。服务描述提供了与该服务进行交互所必须的所有细节,包括服务描述提供了与该服务进行交互所必须的所有细节,包括消息格式消息格式(即操作的细节即操作的细节)、传输协议和位置。、传输协议和位置。接口的实质是隐去了服务的实现细节,以致于它的使用可以接口的实质是隐去了服务的实现细节,以致于它的使用可以独立于实现他的硬件或软件平台,独立于用来编写它的编程独立于实现他的硬件或软件平台,独立于用来编写它的编程语言。语言。允许并促进了基于允许并促进了基于WebWeb服务的应用成为松散耦合的、面
8、向构件服务的应用成为松散耦合的、面向构件的、跨技术的实现。的、跨技术的实现。WebWeb服务可以单独使用,也可以与其他服务可以单独使用,也可以与其他WebWeb服务协作执行一个复杂的任务集或商业事务。服务协作执行一个复杂的任务集或商业事务。计算机学院7WebWeb服务服务MicrosoftMicrosoft定义:定义:WebWeb服务是一个向其他应用提供数据和服务的应用服务是一个向其他应用提供数据和服务的应用逻辑单元。应用程序通过无处不在的逻辑单元。应用程序通过无处不在的WebWeb协议和数协议和数据格式访问据格式访问WebWeb服务,如服务,如HTTPHTTP、XMLXML和和SOAPSOA
9、P,而无,而无需关心每个需关心每个WebWeb服务是如何实现的。服务是如何实现的。SUNSUN定义:定义:WebWeb服务是软件构件这类构件具有被发现、可组服务是软件构件这类构件具有被发现、可组合和重组合的特性,用于解决用户的问题或要求,合和重组合的特性,用于解决用户的问题或要求,JavaJava语言和语言和XMLXML是是WebWeb服务的最重要技术。服务的最重要技术。计算机学院8从业务、商务、技术视角看从业务、商务、技术视角看 业务视角:业务视角:WebWeb服务就是关于集成的技术,即:集成同一机构服务就是关于集成的技术,即:集成同一机构内的应用功能,或集成商务伙伴之间的应用。内的应用功能
10、,或集成商务伙伴之间的应用。商务视角:商务视角:WebWeb服务是一商务过程或是商务过程中的步骤。内服务是一商务过程或是商务过程中的步骤。内部的或外部的商务伙伴都可经由网络使用这项服部的或外部的商务伙伴都可经由网络使用这项服务,以达到某种业务目标。务,以达到某种业务目标。技术视角:技术视角:WebWeb服务只是一个或多个相关操作的集合,这些操服务只是一个或多个相关操作的集合,这些操作可以由网络访问,并可以用服务描述来描述。作可以由网络访问,并可以用服务描述来描述。计算机学院9面向服务面向服务 TCPTCPIPIP 作为网络开放平台能够支持诸如客户作为网络开放平台能够支持诸如客户/服务器计算的体
11、系结构;服务器计算的体系结构;因特网因特网 基于基于HTMLHTML和和HTTPHTTP,它提供了第一个真正全球开放的、可移植的用,它提供了第一个真正全球开放的、可移植的用户界面;户界面;JavaJava 实现开放和可移植的编程;实现开放和可移植的编程;XMLXML 实现开放和可移植的数据交换;实现开放和可移植的数据交换;webweb服务服务 实现基于开放式标准的广泛集成。实现基于开放式标准的广泛集成。计算机学院10服务服务WEBRPC单机单机面向服务面向服务 软件应用形态软件应用形态定制定制计算机学院11商品消费软件服务服务注册中心服务注册中心服务提供者服务提供者服务消费者服务消费者发发现现
12、服服务务发发布布服服务务使用服务使用服务商品消费中心商品消费中心商品提供者商品提供者商品消费者商品消费者购购买买商商品品提提供供商商品品计算机学院12面向服务体系架构面向服务体系架构服务提供者:服务提供者:一个可通过网络寻址的实体,它接受和执一个可通过网络寻址的实体,它接受和执行来自使用者的请求。行来自使用者的请求。它将自己的服务和接口契约发布到服务注它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问册中心,以便服务使用者可以发现和访问该服务。该服务。服务使用者:服务使用者:一个应用程序、一个软件模块或需要一个一个应用程序、一个软件模块或需要一个服务的另一个服务。服务的另
13、一个服务。它发起对注册中心中的服务的查询,通过它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。服务使用者根据接口契约来执行服务。服务注册中心:服务注册中心:服务发现的支持者;服务发现的支持者;它包含一个可用服务的存储库,并允许感它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。兴趣的服务使用者查找服务提供者接口。计算机学院13面向服务体系架构面向服务体系架构 面向服务的体系结构中的每个实体都扮演着服务提供面向服务的体系结构中的每个实体都扮演着服务提供者、使用者和注册中心这三种角色中的某一
14、种(或多者、使用者和注册中心这三种角色中的某一种(或多种)。种)。面向服务的体系结构中的操作包括:面向服务的体系结构中的操作包括:发布发布(Publish)(Publish):为了使服务可访问,需要发布服务描为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。述以使服务使用者可以发现它。发现发现(Find)(Find):服务请求者定位服务,方法是查询服务注服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。册中心来找到满足其标准的服务。绑定绑定(Bind)(Bind)和调用和调用(invoke)(invoke):在检索到服务描述之后,在检索到服务描述之后,服务使用者继续根
15、据服务描述中的信息来调用服务。服务使用者继续根据服务描述中的信息来调用服务。计算机学院14面向服务架构面向服务架构SOASOA 一种体系结构风格,它将应用程序的不同功能单一种体系结构风格,它将应用程序的不同功能单元元服务服务(service)(service),通过服务间定义良好的接口,通过服务间定义良好的接口和契约和契约(contract)(contract)联系起来。接口采用中立的方联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建的系统中的服务可以系统和编程语言,使得构建的系统中的服务可以使用统一和标准的
16、方式进行通信。这种具有中立使用统一和标准的方式进行通信。这种具有中立的接口定义的特征称为服务之间的松耦合。的接口定义的特征称为服务之间的松耦合。计算机学院15面向服务架构面向服务架构SOASOA SOA SOA 的体系架构指导描述了体系结构的式样、要的体系架构指导描述了体系结构的式样、要素和关系,以及在整个开发生命周期中他们是如素和关系,以及在整个开发生命周期中他们是如何被识别、指定和管理的。通常体系结构的目标,何被识别、指定和管理的。通常体系结构的目标,特别是体系结构建模,提供了一个适当的抽象级特别是体系结构建模,提供了一个适当的抽象级别,在此级别上,可以容易地识别体系结构的要别,在此级别上
17、,可以容易地识别体系结构的要素,并且对要素进行控制。素,并且对要素进行控制。Web ServicesWeb Services的目标是即时装配、松散耦合以及的目标是即时装配、松散耦合以及自动集成。自动集成。计算机学院16服务(服务(serviceservice)是整个是整个SOASOA实现的核心。实现的核心。SOASOA的基本元素是服务,的基本元素是服务,SOA SOA 指定一组实体指定一组实体(服务提供者、服务消费者、服服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约务注册表、服务条款、服务代理和服务契约),这,这些实体详细说明了如何提供和消费服务。这些服些实体详细说明了如何提
18、供和消费服务。这些服务是可互操作的、独立的、模块化的、位置明确务是可互操作的、独立的、模块化的、位置明确的、松耦合的并且可以通过网络查找其地址。的、松耦合的并且可以通过网络查找其地址。计算机学院17服务规范服务规范 服务规范有三个规范要素,根据服务的建模类型服务规范有三个规范要素,根据服务的建模类型可对它们进行选择:可对它们进行选择:结构规范结构规范定义了可以调用的操作和由这些操作销毁定义了可以调用的操作和由这些操作销毁或创造出的消息。或创造出的消息。行为规范行为规范表示服务客户和所指定服务之间的任意预表示服务客户和所指定服务之间的任意预期的有意义的协议或会话。期的有意义的协议或会话。策略规范
19、策略规范表示服务的策略主张和约束。策略主张可表示服务的策略主张和约束。策略主张可能包括安全性、可管理性等等。能包括安全性、可管理性等等。计算机学院18SOASOA协议栈协议栈计算机学院19功能性方面功能性方面服务服务 传输协议传输协议:用于将来自服务使用者的服务请求传:用于将来自服务使用者的服务请求传送给服务提供者,并且将来自服务提供者的响应送给服务提供者,并且将来自服务提供者的响应传送给服务使用者。传送给服务使用者。通信协议:通信协议:一种经过协商的机制,通过这种机制,一种经过协商的机制,通过这种机制,服务提供者和服务使用者可以就将要请求的内容服务提供者和服务使用者可以就将要请求的内容和将要
20、返回的内容进行沟通。和将要返回的内容进行沟通。服务描述:服务描述:一种经过协商的模式,用于描述服务一种经过协商的模式,用于描述服务是什么、应该如何调用服务以及成功地调用服务是什么、应该如何调用服务以及成功地调用服务需要什么数据。需要什么数据。服务:服务:描述供使用的操作。描述供使用的操作。计算机学院20功能性方面功能性方面流程流程业务流程业务流程 一个服务的集合,可以按照特定的顺序并使用一一个服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用,以满足业务要求;组特定的规则进行调用,以满足业务要求;业务流程本身也看作是服务,这样就产生了业务业务流程本身也看作是服务,这样就产生了业务流程可
21、以由不同粒度的服务组成的观念。流程可以由不同粒度的服务组成的观念。计算机学院21功能性方面功能性方面服务注册中心服务注册中心服务注册中心服务注册中心 一个服务和数据描述的存储库;一个服务和数据描述的存储库;服务提供者可以通过服务注册中心发布它们的服服务提供者可以通过服务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发现或务,而服务使用者可以通过服务注册中心发现或查找可用的服务;查找可用的服务;服务注册中心可以给需要集中式存储库的服务提服务注册中心可以给需要集中式存储库的服务提供其他的功能。供其他的功能。计算机学院22服务质量方面服务质量方面策略是规则集策略是规则集 在这些条件和规则之
22、下,服务提供者可以使服务可用于使用者。在这些条件和规则之下,服务提供者可以使服务可用于使用者。策略既有功能性方面,也有与服务质量有关的方面;因此,在策略既有功能性方面,也有与服务质量有关的方面;因此,在功能和服务质量两个部分中都有策略功能。功能和服务质量两个部分中都有策略功能。安全性是规则集安全性是规则集 应用于调用服务的服务使用者的身份验证、授权和访问控制。应用于调用服务的服务使用者的身份验证、授权和访问控制。事务是属性集事务是属性集 应用于一组服务,以提供一致的结果。如果要使用一组服务来应用于一组服务,以提供一致的结果。如果要使用一组服务来完成一项业务功能,则所有的服务必须都完成,或者没有
23、一个完成一项业务功能,则所有的服务必须都完成,或者没有一个完成。完成。管理是属性集管理是属性集 应用于管理提供的服务或使用的服务。应用于管理提供的服务或使用的服务。计算机学院23WebWeb服务策略服务策略 目标目标:是提供使:是提供使 Web Web 服务应用程序能够指定策略信息服务应用程序能够指定策略信息所需的机制所需的机制 框架框架:提供了一种灵活且可扩展的语法,用于表达基:提供了一种灵活且可扩展的语法,用于表达基于于 XMLXML WebWeb 服务的系统中实体的功能、要求和一般特服务的系统中实体的功能、要求和一般特性。定义了一个框架和一个模型,用于将这些属性表性。定义了一个框架和一个
24、模型,用于将这些属性表达为策略,策略定义为一组策略替换选项,其中每个达为策略,策略定义为一组策略替换选项,其中每个策略替换选项又是一组策略断言。某些策略断言指定策略替换选项又是一组策略断言。某些策略断言指定了一些传统的要求和功能,这些要求和功能最终将出了一些传统的要求和功能,这些要求和功能最终将出现在网络中(如身份验证方案、传输协议选择)。现在网络中(如身份验证方案、传输协议选择)。计算机学院24Web Web 服务安全性四个基本要求服务安全性四个基本要求 机密性机密性(Confidentiality)(Confidentiality)是指信息对没有经过授权的个人、是指信息对没有经过授权的个人
25、、实体或进程的不可用性或不公开性,并保证消息内容不对实体或进程的不可用性或不公开性,并保证消息内容不对没有经过授权的个人公开。没有经过授权的个人公开。授权授权(Authorization)(Authorization)是指权限的授予,包括根据访问权限是指权限的授予,包括根据访问权限授予访问权和保证发送方被授权发送消息。授予访问权和保证发送方被授权发送消息。数据完整性数据完整性(Data integrity)(Data integrity)是指数据没有以未经授权的是指数据没有以未经授权的方式或被未经授权的用户不可察觉的改变或者破坏的性质,方式或被未经授权的用户不可察觉的改变或者破坏的性质,从而确
26、保消息在传送的过程中不会被偶然或故意修改。从而确保消息在传送的过程中不会被偶然或故意修改。原始性证明(原始性证明(Proof of originProof of origin)是对消息或数据的发送者是对消息或数据的发送者进行标识的证据。断言消息由正确标识的发送者传送,并进行标识的证据。断言消息由正确标识的发送者传送,并且不会重新发送以前传送过的消息。这一要求隐含了数据且不会重新发送以前传送过的消息。这一要求隐含了数据完整性的要求。完整性的要求。计算机学院25WebWeb服务的事务管理服务的事务管理 WS-CoordinationWS-Coordination:定义了在:定义了在WebWeb服务
27、之间发生的任何服务之间发生的任何事务处理的底层基础事务处理的底层基础 ,用来定义注册,用来定义注册WebWeb服务以及协服务以及协作作WebWeb服务来参与事务的机制。用于建立上下文环境,服务来参与事务的机制。用于建立上下文环境,用来执行和管理参与事务的不同用来执行和管理参与事务的不同WebWeb服务单元。服务单元。WS-Atomic TransactionWS-Atomic Transaction:用于处理事务的短期操作,用于处理事务的短期操作,实现事务的实现事务的ACIDACID特性。定义了分布式事务的两段提交特性。定义了分布式事务的两段提交协议,在两种资源之间达到同步以确保资源的一致性协
28、议,在两种资源之间达到同步以确保资源的一致性和完整性。和完整性。WS-Business ActivityWS-Business Activity:用于处理长期运行的事务,处用于处理长期运行的事务,处理事务场景。理事务场景。计算机学院26Web Web 服务管理服务管理Web Web 服务管理服务管理 指可以发现指可以发现 Web Web 服务的基础设施、服务的基础设施、Web Web 服务、服务注册中服务、服务注册中心和心和 Web Web 服务应用程序存在性、可用性以及健壮性的管理服务应用程序存在性、可用性以及健壮性的管理应用程序应用程序;管理系统还应当能够控制和配置基础设施及组件。管理系统
29、还应当能够控制和配置基础设施及组件。Web Web 服务管理主要分为两个方面:服务管理主要分为两个方面:实现实现 Web Web 服务基础设施的可管理性。服务基础设施的可管理性。主要是确保可用性和提供服务描述、消息传递和网络的关键主要是确保可用性和提供服务描述、消息传递和网络的关键元素的性能;元素的性能;Web Web 服务本身的可管理性。服务本身的可管理性。一些主要的考虑是性能、可用性、事件和使用量度,因为它一些主要的考虑是性能、可用性、事件和使用量度,因为它们将为服务提供者市场收取所提供的服务使用费提供必要信们将为服务提供者市场收取所提供的服务使用费提供必要信息。息。计算机学院27Web
30、Web 服务管理服务管理在服务层上在服务层上 提供对网络层、提供对网络层、XML XML 消息传递层、服务注册中心和消息传递层、服务注册中心和 Web Web 服务实服务实现的基本报告和恢复办法。现的基本报告和恢复办法。在系统层上在系统层上 将自动提供量度、审计日志、启动和停止处理过程、事件通知,将自动提供量度、审计日志、启动和停止处理过程、事件通知,作为作为 Web Web 服务运行时的一部分。服务运行时的一部分。Web Web 服务也可以实现向托管它的服务器提供基本的健壮性和监服务也可以实现向托管它的服务器提供基本的健壮性和监督信息。督信息。可管理的服务的可管理的服务的 WSDL WSDL
31、 文档的定义应当是文档的定义应当是 Web Web 服务能实现提供服务能实现提供通过管理系统访问通过管理系统访问 Web Web 服务的管理信息的功能。这一接口可以服务的管理信息的功能。这一接口可以获得配置和量度数据、更新配置及接收来自可管理的获得配置和量度数据、更新配置及接收来自可管理的 Web Web 服务服务的事件。的事件。WebWeb服务分布式管理或服务分布式管理或WSDMWSDM标准标准正在由正在由OASISOASIS开发,对开发,对WebWeb服务管理服务管理提供标准化的支持,通过使用提供标准化的支持,通过使用WebWeb服务来实现对不同平台的管理,服务来实现对不同平台的管理,满足
32、涉及独立业务实体的大规模满足涉及独立业务实体的大规模SOASOA对分布式管理的要求。对分布式管理的要求。计算机学院28Web Web 服务中的服务中的 QoS QoS 的主要需求的主要需求 性能性能 可用性可用性 可靠性可靠性 完整性完整性 安全性安全性 常规性常规性 可访问性可访问性计算机学院29Web Web 服务中的服务中的 QoS QoS 的主要需求的主要需求性能:性能:指根据吞吐量和延迟对其进行测量。指根据吞吐量和延迟对其进行测量。吞吐量的值较大且延迟的值较小表示吞吐量的值较大且延迟的值较小表示 Web Web 服务性能良好。服务性能良好。吞吐量表示在给定时间段内被服务的吞吐量表示在
33、给定时间段内被服务的 Web Web 服务请求数。服务请求数。延迟是发送请求和接收响应之间的往返时间。延迟是发送请求和接收响应之间的往返时间。可用性:可用性:指指 Web Web 服务是否存在或是否已就绪可供立即使用。服务是否存在或是否已就绪可供立即使用。可用性表示服务可用的可能性。较大的值表示服务一直可可用性表示服务可用的可能性。较大的值表示服务一直可供使用,而较小的值表示无法预知在某个特定时刻服务是供使用,而较小的值表示无法预知在某个特定时刻服务是否可用。否可用。与可用性有关的还有修复时间与可用性有关的还有修复时间(time-to-repair(time-to-repair,TTR)TTR
34、)。TTRTTR表示修复已经失效的服务要花费的时间。理想情况下,表示修复已经失效的服务要花费的时间。理想情况下,较小的较小的 TTR TTR 值是合乎需要的。值是合乎需要的。计算机学院30Web Web 服务中的服务中的 QoS QoS 的主要需求的主要需求可访问性:可访问性:表示能够为表示能够为 Web Web 服务请求提供服务的程度。服务请求提供服务的程度。它可以表示为一种可能性尺度,用来表示在某个它可以表示为一种可能性尺度,用来表示在某个时间点上成功地实例化服务的成功率或机会。时间点上成功地实例化服务的成功率或机会。Web Web 服务可用服务可用,但却无法访问这种情形是可能存在但却无法
35、访问这种情形是可能存在的。通过构建一个可高度伸缩的系统使的。通过构建一个可高度伸缩的系统使 Web Web 服务服务得到很高的可访问性。得到很高的可访问性。可伸缩性是指不管请求量如何变化,都能够始终可伸缩性是指不管请求量如何变化,都能够始终如一地为请求服务的能力。如一地为请求服务的能力。计算机学院31Web Web 服务中的服务中的 QoS QoS 的主要需求的主要需求可靠性:可靠性:指表示能够维护服务和服务质量的程度。指表示能够维护服务和服务质量的程度。每月或每年的失效次数是衡量每月或每年的失效次数是衡量 Web Web 服务可靠性的尺度。服务可靠性的尺度。在另一种意义上,可靠性是指服务请求
36、者和服务提供者发送在另一种意义上,可靠性是指服务请求者和服务提供者发送和接收的消息的有保证和有序的传送。和接收的消息的有保证和有序的传送。完整性:完整性:指指 Web Web 服务如何维护交互相对于最初情况的正确性。服务如何维护交互相对于最初情况的正确性。适当地执行适当地执行 Web Web 服务事务会实现正确的交互。一个事务是指服务事务会实现正确的交互。一个事务是指一系列将被当作单个工作单元的活动。一系列将被当作单个工作单元的活动。要使事务成功,必须完成所有的活动。如果一个事务未完成,要使事务成功,必须完成所有的活动。如果一个事务未完成,那么所做的全部更改都被回滚。那么所做的全部更改都被回滚
37、。计算机学院32Web Web 服务中的服务中的 QoS QoS 的主要需求的主要需求安全性:安全性:指通过验证涉及到的各方、对消息加密以及提供访问控制指通过验证涉及到的各方、对消息加密以及提供访问控制来提供机密性和不可抵赖性。来提供机密性和不可抵赖性。由于由于 Web Web 服务调用是发生在公共的因特网上,安全性的重服务调用是发生在公共的因特网上,安全性的重要性已经有所增加。根据服务请求者的不同,服务提供者要性已经有所增加。根据服务请求者的不同,服务提供者可以用不同的方法来提供安全性,所提供的安全性也可以可以用不同的方法来提供安全性,所提供的安全性也可以有不同的级别。有不同的级别。常规性常
38、规性:指指 Web Web 服务与规则、法律一致,遵循标准和已建立的服务服务与规则、法律一致,遵循标准和已建立的服务级别协议。级别协议。Web Web 服务使用许多标准,如服务使用许多标准,如SOAPSOAP、UDDI UDDI 和和 WSDLWSDL。要正确。要正确调用服务请求者请求的服务,就必须严格遵守服务提供者调用服务请求者请求的服务,就必须严格遵守服务提供者所提供的正确版本的标准所提供的正确版本的标准,例如,例如,SOAP SOAP 版本版本 1.21.2。计算机学院33SOASOA基本特征基本特征 面向服务体系结构特征:面向服务体系结构特征:自包含和模块化自包含和模块化 互操作性互操
39、作性 松散耦合松散耦合 位置透明位置透明 可组合性可组合性 明确定义的接口明确定义的接口 计算机学院34SOASOA基本特征基本特征 服务的封装服务的封装(encapsulation)(encapsulation)将服务封装成用于业务流程的可重用组件的应用程序函数。将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的另一个状态的转变。封装隐藏了复杂性。服务的APIAPI保持不保持不变,使得用户远离具体实施上的变更。变,使得用户远离具体实施上的变更。服务的
40、重用服务的重用(reuse)(reuse)服务的可重用性设计显著地降低了成本。为了实现可重用服务的可重用性设计显著地降低了成本。为了实现可重用性,服务只工作在特定处理过程的上下文性,服务只工作在特定处理过程的上下文(context)(context)中,独中,独立于底层实现和客户需求的变更。立于底层实现和客户需求的变更。服务的互操作服务的互操作(interoperability)(interoperability)通过服务之间既定的通信协议进行互操作。主要有同步和通过服务之间既定的通信协议进行互操作。主要有同步和异步两种通信机制。异步两种通信机制。SOASOA提供服务的互操作特性更利于其在提供
41、服务的互操作特性更利于其在多个场合被重用。多个场合被重用。计算机学院35SOASOA基本特征基本特征服务是自治的服务是自治的(Autonomous)(Autonomous)功能实体功能实体服务是由组件组成的组合模块,是自包含和模块化的。服务是由组件组成的组合模块,是自包含和模块化的。SOASOA强调提供强调提供服务的功能实体的完全独立自主的能力。服务的功能实体的完全独立自主的能力。SOASOA强调实体自我管理和恢强调实体自我管理和恢复能力。复能力。常见恢复的技术,如事务处理常见恢复的技术,如事务处理(Transaction)(Transaction),消息队列,消息队列(Message(Mes
42、sage Queue)Queue),冗余部署,冗余部署(Redundant Deployment)(Redundant Deployment)和集群系统和集群系统(Cluster)(Cluster)。服务之间的松耦合度服务之间的松耦合度(Loosly Coupled)(Loosly Coupled)服务请求者到服务提供者的绑定与服务之间应该是松耦合的。服务请服务请求者到服务提供者的绑定与服务之间应该是松耦合的。服务请求者不知道提供者实现的技术细节,比如程序设计语言、部署平台等求者不知道提供者实现的技术细节,比如程序设计语言、部署平台等等。等。服务请求者往往通过消息调用操作,请求消息和响应,而不
43、是通过使服务请求者往往通过消息调用操作,请求消息和响应,而不是通过使用用 API API 和文件格式。和文件格式。服务是位置透明的服务是位置透明的(location transparency)(location transparency)服务是针对业务需求设计的。需要反应需求的变化,即所谓敏捷服务是针对业务需求设计的。需要反应需求的变化,即所谓敏捷(agilityagility)设计。实现业务与服务分离,就必须使得服务的设计和)设计。实现业务与服务分离,就必须使得服务的设计和部署对用户来说是完全透明的。部署对用户来说是完全透明的。计算机学院36SOASOA基本特征基本特征明确定义的接口明确定义
44、的接口(well defined interface)(well defined interface)WebWeb服务使应用功能得以通过标准化接口(服务使应用功能得以通过标准化接口(WSDLWSDL)提供,)提供,并可基于标准化传输方式(并可基于标准化传输方式(HTTPHTTP和和JMSJMS)、采用标准化)、采用标准化协议(协议(SOAPSOAP)进行调用。进行调用。计算机学院37Web Web 服务四个基本挑战服务四个基本挑战 服务描述服务描述 服务实现服务实现 服务发布、发现和绑定服务发布、发现和绑定 服务调用和执行服务调用和执行计算机学院38WebWeb服务主要优点服务主要优点 互操作性互操作性 可伸缩性可伸缩性 高可靠性高可靠性 可表达性可表达性 可管理性可管理性