面向服务的架构

 

SOA 是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法。 虽然 SOA 是基于对象的,但是作为一个整体,它却不是面向对象的。

面向服务的架构_第1张图片

服务之间通过交互和协调完成业务的整体逻辑。所有的服务通过服务总线或流程管理器来连接。

单个服务的内部结构面向服务的架构_第2张图片

 

服务构件与传统构件 服务构件架构(Service Component Architecture, SCA)是基于 SOA 的思想描述服务之间组合和协作的规范,它描述用于使用 SOA 构建应用程序和系统的模型。它可简化使用SOA 进行的应用程序开发和实现工作。

SCA 服务构件与传统构件的主要区别在于,服务构件往往是粗粒度的,而传统构件以细粒度居多;服务构件的接口是标准的,主要是服务描述语言接口,而传统构件常以具体 API形式出现;服务构件的实现与语言是无关的,而传统构件常绑定某种特定的语言;服务构件可以通过构件容器提供 QoS 的服务,而传统构件完全由程序代码直接控制。

SOA 的关键技术

SOA 紧密相关的技术主要有 UDDI、 WSDL、 SOAP 和 REST 等

  1. UDDI UDDI(Universal DescriptionDiscovery and Integration,统一描述、发现和集成)提供了一种服务发布、查找和定位的方法,是服务的信息注册规范,以便被需要该服务的用户发现和使用它。

    UDDI 技术规范中,主要包含以下三个部分的内容: (1)数据模型。 UDDI 数据模型是一个用于描述业务组织和服务的 XML Schema。 (2) API。 UDDI API 是一组用于查找或发布 UDDI 数据的方法, UDDI API 基于 SOAP。 (3)注册服务。 UDDI 注册服务是 SOA 中的一种基础设施,对应着服务注册中心的角色。

    2.WSDL WSDL(Web ServiceDescription Language, Web 服务描述语言)是对服务进行描述的语言,它有一套基于 XML 的语法定义。 WSDL 描述的重点是服务,它包含服务实现定义和服务接口定义。面向服务的架构_第3张图片

     

3.SOAP SOAP(Simple ObjectAccess Protocol,简单对象访问协议)定义了服务请求者和服务提供者之间的消息传输规范。SOAP 用 XML 来格式化消息,用 HTTP 来承载消息。

SOAP主要包括以下四个部分:

(1)封装。 SOAP 封装定义了一个整体框架,用来表示消息中包含什么内容,谁来处理这些内容,以及这些内容是可选的还是必需的。 (2)编码规则。 SOAP 编码规则定义了一种序列化的机制,用于交换系统所定义的数据类型的实例。 (3) RPC 表示。 SOAP RPC 表示定义了一个用来表示远程过程调用和应答的协议。 (4)绑定。 SOAP 绑定定义了一个使用底层传输协议来完成在节点之间交换 SOAP 封装的约定。

4.REST

REST(RepresentationalState Transfer,表述性状态转移)是一种只使用 HTTP 和 XML 进行基于 Web 通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。

REST 从根本上来说只支持几个操作(POST、 GET、 PUT 和 DELETE),

REST 提出了如下一些设计概念和准则:

(1) 网络上的所有事物都被抽象为资源。

(2)每个资源对应一个唯一的资源标识。

(3)通过通用的连接件接口对资源进行操作。

(4)对资源的各种操作不会改变资源标识。

(5)所有的操作都是无状态的

你可能感兴趣的:(系统架构)