首页 理论教育 面向服务的体系结构

面向服务的体系结构

时间:2022-03-21 理论教育 版权反馈
【摘要】:面向服务的体系结构于1996年由Gartner Group第一次明确提出,这在当时只是一个美好的愿景。服务提供者向注册中心发布服务相关描述,服务请求者从服务注册中心获得相关描述,并进行绑定和使用。根据三位主要操作者的责任和义务,SOA的操作主要分为发布操作、查找操作和绑定操作。Web服务采用了SOA的体系结构,也是通过服务提供者、服务请求者和服务注册中心等实现实体之间的通信来完成服务调用。XML已成为服务架构数据存储和交换的一种重要标准。
面向服务的体系结构_数字博物馆研究

面向服务的体系结构(Service‐oriented A rchitecture,SOA)于1996年由Gartner Group第一次明确提出,这在当时只是一个美好的愿景。然而随着Web技术和Web Service技术的逐渐发展成熟,SOA开始受到更多研究人员的关注以及专业厂商的支持,得到了逐步的发展和成熟,已经成为主流方向之一。SOA是互联网环境下一种新型的软件系统架构,其核心是一个由若干个Web服务组成的构件,它首先将各种应用程序的不同功能单元定义为服务,这些服务使用预先定义好的接口和契约进行沟通。接口的定义独立于实现服务的硬件平台、操作系统和编程语言,从而保证了构建在不同系统上的服务可以以统一、通用的方式进行交互。此外,事先定义好的各个基本服务还可以进一步组合,形成新的功能和服务,并可按照业务流程建立规则来构架和生成相应的业务处理系统。SOA的最终目标是在SOI(Service Oriented Integrate,面向服务集成)领域实现跨系统、跨平台的企业应用及业务的整合。SOA的基本元素是服务,SOA会指定服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约等来说明如何提供和使用服务。SOA是一种粗粒度、松耦合的服务架构,主要有以下几个特征:

(1)服务的封装(Encapsulation):将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变,封装、隐藏了复杂性。

(2)服务的重用(Reuse):服务可以用于不同的上下文中,独立于底层实现。

(3)服务的互操作(Interoperability):服务之间通过既定的通信协议进行互操作。

(4)服务是自治的(Autonomous)功能实体:服务是由组件组成的组合模块,是自包含和模块化的。

(5)服务之间松耦合(Loosly Coupled):服务请求者到服务提供者的绑定与服务之间是松耦合的。即服务请求者不知道提供者实现的技术细节,比如程序设计语言、部署平台。服务请求者往往通过消息调用操作请求消息和响应,而不是通过使用API等。

(6)服务位置透明(Location Transparency):服务的消费者不必关心服务位于什么地方。也就是说,用户完全不必知道响应自己需求的服务的位置,甚至不必知道具体是哪个服务参与了响应。

SOA的主要操作对象:

(1)服务提供者:主要是发布自己的服务,是一个可寻址的服务实体,在注册中心注册,接收请求者的请求,请求者可以在注册中心查找相应服务并绑定使用。

(2)服务请求者:主要是请求服务并调用绑定服务。请求者主要有应用程序、程序模块或者是另外一个服务。服务请求者先对注册中心提供的各种服务进行查询,并根据各种条件选择相应服务,随后绑定该服务,使用该服务提供的功能。

(3)服务注册中心:主要是注册已经发布的服务,对其进行分类,并提供检索服务。所有发布的服务都在此描述和注册,注册中心的每个服务是可寻址的,且都有相应的接口。服务提供者向注册中心发布服务相关描述,服务请求者从服务注册中心获得相关描述,并进行绑定和使用。

根据三位主要操作者的责任和义务,SOA的操作主要分为发布操作、查找操作和绑定操作。发布操作主要是发布服务的描述,以使请求使用者可以发现它;查找操作即对服务注册中心进行查询,以期定位到满足需求的服务;绑定操作发生在定位服务之后,服务使用者根据服务描述的信息来调用服务。

广义上讲,实现SOA的技术有多种,如COM、CORBA和Web服务等,然而使用最为广泛的还是Web服务技术。Web服务是一个平台独立的、低耦合的、自包含的、基于可编程的Web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web服务采用了SOA的体系结构,也是通过服务提供者、服务请求者和服务注册中心等实现实体之间的通信来完成服务调用。Web服务基于开放式的Internet标准,主要依赖的协议有:XML、SOAP、WSDL和UDDI等。

(1)XML(Extensible Markup Language,XML):为可扩展的文本标记的描述语言,用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档定义方式有:文档类型定义(DTD)和XM L Schema。DTD定义了文档的整体结构以及文档的语法,应用广泛并有丰富工具支持。XML Schema用于定义管理信息等更强大、更丰富的特征。XML已成为服务架构数据存储和交换的一种重要标准。它具备二个特点,一是它表达的数据具备鲁棒性,以自描述方式描述应用系统的数据结构和数据;二是应用系统和数据相互独立,使得整个应用系统具有良好的系统扩展性能,同时使得系统与开发平台没有相关性。

(2)SOAP(Simple Object Access Protocol,SOAP):为简单对象访问协议。主要基于XML用于在分布式环境下交换信息的协议,SOAP按照HTTP通信协议,遵从XML格式执行信息交换。SOAP定义了远程对象调用的格式、参数类型和XML格式之间的映射等。它是一个与平台无关和厂商无关的标准,包括四个部分:SOAP封装(Envelop),定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(Encoding Rules),用于表示应用程序需要使用的数据类型的实例;SOAPRPC(RPC Representation)表示远程过程调用和应答的协定;SOAP绑定(Binding),主要使用底层协议交换信息。

(3)WSDL(Web Services Description Language,WSDL):为Web服务描述语言,是用XML来描述Web服务的标准,是Web服务的接口定义语言。可描述Web服务的三个基本属性:服务所提供的操作(方法)和服务交互的数据格式以及必要协议、服务位于何处。WSDL实质是描述各个Web服务调用规则、公开的操作和服务、具体传输机制以及服务的具体位置。

(4)UDDI(Universal Description Discovery and Integration,UDDI):为统一描述、发现和集成规范,主要定义并描述Web服务发布和发现的方法,UDDI规定实现服务SOAP之间的注册和服务发现的编程接口规范。为Web服务提供三个重要的技术支持:①标准、透明、专门描述Web服务的机制;②调用Web服务的机制;③访问Web服务注册中心的机制。

在SOA中,还需要一个中间层,能够实现不同服务之间的智能化管理。企业服务总线(Enterprise Service Bus,ESB)充当了这个角色,是SOA架构的一个支柱。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。让不同的应用服务协调运作,实现不同服务之间的通信与整合。ESB的主要功能有:对各个服务之间消息监控与路由;解决各个服务组件之间通信;控制服务版本与部署;满足服务事件处理、数据转换与映射、事件查询与排序、安全或异常处理、协议转换、保证服务通信的质量。各系统通过ESB端点完成与其他应用系统的集成。应用系统可通过ESB端点提供的适配器,将自己系统的专用接口协议转换为总线使用的标准协议。各系统通过ESB端点,把服务注册到中心,从而使所有需要这些服务的系统可以通过ESB端点,在总线上找到该服务。服务使用者可以在ESB端点上对所需的服务进行调用、编排和数据转换。ESB将根据用户的配置,完成服务的调用、转换和路由等。通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。此外,ESB与服务逻辑相分离,使得不同的应用程序可以同时使用同一服务,不需要在应用程序或者数据发生变化时改动服务代码。目前ESB的提供商有IBM、微软、Oracle等。

目前有很多博物馆已经在架构上实现了SOA。其最大的优势在于能在保证现有系统正常使用的情况下,实现无缝升级。基于SOA结构,不同的博物馆之间可以进行信息传递,解决信息孤岛问题。以往每个博物馆管理系统自成体系,不同的博物馆系统之间无法信息共享、无法互联互通,从藏品信息管理和利用的角度来看,产生了局部化和片面化的问题,很难为使用者提供有效的服务。如某一研究人员或普通观众希望了解商代“牧正尊”的青铜器情况,就要在宝鸡青铜器博物院和陕西历史博物馆、国家博物馆等多个系统逐个进行查询,耗费了过多的人力和物力。而一旦采用SOA,所有支持SOA的博物馆管理系统都可以实现互联互通,提供整体性的服务。因此,查询人员只需要输入“牧正尊”关键字一次,就可以在所有博物馆系统中进行统一搜索,完成信息的定位和汇集。此外,以前的系统无法对藏品进行语义标注和检索,给藏品管理带来了很大困难。但是利用SOA架构中的XML进行标注,所有的藏品图片都可以根据语义信息进行分类和检索,使用方便。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈