软件设计 Zhou Su 第13章 面向服务的体系结构.ppt
文本预览下载声明
软件体系结构与设计 第13章 面向服务的体系结构 第13章 面向服务的体系结构 面向服务的体系结构的概念 服务作为可复用的组件 服务工程 使用服务的软件开发 第13章 面向服务的体系结构 20世纪90年代,网络技术的发展彻底改变了信息交流的方式,客户计算机可以通过访问其机构以外的远程服务器来获得信息。但是,这种访问是通过Web浏览器进行的,要想使用其他程序来对信息库进行直接访问是不实际的。也就是说,在服务器之间进行随意的连接(比如一个程序从不同的提供商查询多个目录)是不能做到的。 第13章 面向服务的体系结构 为了解决这个问题,人们提出了Web服务的概念。使用Web服务,机构通过定义和建立一个Web服务界面就可让自己的信息被别的程序访问。这个界面定义可用的数据和如何访问这些数据。更一般的情况是,Web服务是一个标准的计算资源或信息资源的表示,这些资源可以被其他程序使用。它们可能是信息资源,例如一个零件目录;也可以是计算机资源,例如一个专门的处理器;或者是存储资源,例如,存档服务能够实现对商店数据的长期、可靠存储,依据法律这些组织数据必须保持多年。 13.1 面向服务的体系结构的概念 对于“服务”,其一般概念的定义是:由一个团体向另一个团体提供的行动或能力。尽管这个过程可能是与一个有形的产品联系在一起的,但是能力本质上是无形的,一般不会产生对任何作品因素的拥有权。因而服务的本质是服务的提供独立于使用服务的应用,服务提供者能开发专业性服务并提供面向不同机构中的某个范围内的服务用户。Web服务是更一般的服务概念的一个实例。 13.1 面向服务的体系结构的概念 面向服务的体系结构(Service-Oriented Architecture,SOA)是一种使用Web服务来构建分布式应用程序的方法。分布式系统的系统组件是单机服务,这些服务由在不同地理位置上的计算机上执行。基于XML标准的协议,例如SOAP和WSDL,这些设计支持服务通信和信息交换。因此,服务是与平台和实现语言无关的。软件系统可以通过使用本地的服务和不同提供商提供的外部服务来构建,这些服务之间可以做到无缝交互。 13.1 面向服务的体系结构的概念 图13-1封装了SOA的思想。服务的提供商设计和实现服务并定义了这些服务的接口。他们也发布这些服务的有关信息到能访问到的注册表。那些希望利用某项服务的服务请求者(有时叫做服务客户)发现某个服务的描述,从而也定位服务的提供者。然后他们能够将自己的应用绑定到特定的服务并使用标准的服务协议与之通信。 13.1 面向服务的体系结构的概念 伴随着技术的发展,一直有一个活跃的SOA标准化过程,所有主要硬件和软件公司都接受这些标准,因而面向服务的体系结构没有受到不兼容的困扰。图13-2给出了已经建立的一些支持Web服务的关键标准。 13.1 面向服务的体系结构的概念 Web服务协议覆盖了面向服务的体系结构的所有方面:从基本的服务信息交换(SOAP)机制到编程语言标准(WS-BPEL)。这些标准全部基于XML—— 一种人和计算机都可识别的标记语言,它允许定义结构化的数据,其中文本用一个有意义的标识符来标记。XML有一系列的支持技术,例如用于模式定义的XSD,它用于扩展和处理XML描述。 13.1 面向服务的体系结构的概念 简要地说,面向Web服务的体系结构的主要标准有: (1)SOAP。简单对象访问协议,是一种轻量的、简单的、基于XML的协议,它被设计成在Web上交换结构化的和固化的信息,是一个支持服务之间通信的消息交换标准,它定义服务之间消息传递的必需的和可选的组件。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。 13.1 面向服务的体系结构的概念 (2)WSDL(Web Services Description Language,Web服务定义语言)。是一种用来描述Web服务和说明如何与Web服务通信的XML接口定义语言,是制定服务接口的标准。它给出了服务是如何操作的(操作名、参数、它们的类型)以及必须定义的服务绑定。 (3)WS-BPDL。这是一个工作流语言的标准,用来定义包括多个不同服务的过程程序。 13.1 面向服务的体系结构的概念 服务发现标准(UDDI,通用描述、发现和集成)也被提到过,但还没有广泛采用,它定义了服务描述的组件,这种组件可用来发现服务是否存在。它们包括的信息主要有:服务提供者,所提供的服务,服务接口的WSDL描述的位置,以及业务关系的信息。目的是这一标准将允许公司建立对他们所提供服务的UDDI描述的注册表。 许多公司
显示全部