软考架构-面向服务的架构风格

一、SOA

1、概念

面向服务开发,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。多个服务挂载在ESB(企业服务总线)上进行通信。

2、特征

可从企业外部访问、随时可用(服务请求能被及时响应)、粗粒度接口(粗粒度提供一项特定的业务功能,细粒度服务代表技术构件的方法)、服务分级、松散耦合(服务提供者和服务使用者分离)、可重用的服务及接口设计管理、标准化的接口(WSDL/SOAP/XML是核心)、支持各种消息模式、精确定义的服务接口。

构件-可独立部署的功能单元(对象、接口、服务等),概念比较广

3、关键技术

|--------|-------------------|
| 功能 | 协议 |
| 发现服务 | UDDI、DISCO |
| 描述服务 | WSDL、XML、Schema |
| 消息格式层 | SOAP、REST |
| 编码格式层 | XML(DOM、SAX) |
| 传输协议层 | HTTP、TCP/IP、SMTP等 |

UDDI(Universal Description Discovery and Integration):是一套基于WEB的、分布式的、为WebService提供的、信息注册中心的实现标准规划。用于WEB服务注册统一描述、发现和集成。

WSDL(WebService描述语言):用户描述服务

SOAP(简单对象访问协议):用于交换XML编码信息的轻量级协议、用于传递信息、服务远程调用

XML:是WebService平台中表示数据的基本格式,用于数据交换

4、Web Service

服务提供者、服务注册中心、服务请求者。服务提供者将服务描述发布到服务注册中心,供服务请求者调用。

5、服务注册表

服务注册:服务提供者在注册中心发布服务

服务位置:服务在注册中心的位置

服务绑定:服务请求者利用检索到的服务接口编写代码,代码与注册的服务绑定,调用注册的服务,实现交互

6、企业服务总线ESB

集成不同协议的不同服务,ESB做了消息转化、解释以及路由的工作,以此来让不同服务互联互通

包括:客户端(服务请求者)、基础架构服务(中间件)、核心集成服务(提供服务)

特点:

总线作用,将各种服务进行连接与整合

服务元数据和服务注册管理

服务请求者和提供者之间传递数据,以及对这些数据进行转换

发现、路由、匹配和选择的能力

相关推荐
京东云开发者2 小时前
Taro 鸿蒙技术内幕系列(三) - 多语言场景下的通用事件系统设计
架构
楚疏笃2 小时前
鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)
学习·架构·harmonyos
凡人的AI工具箱3 小时前
40分钟学 Go 语言高并发:Pipeline模式(一)
开发语言·后端·缓存·架构·golang
小扳4 小时前
微服务篇-深入了解使用 RestTemplate 远程调用、Nacos 注册中心基本原理与使用、OpenFeign 的基本使用
java·运维·分布式·后端·spring·微服务·架构
丁总学Java5 小时前
在 Mac(ARM 架构)上安装 JDK 8 环境
arm开发·macos·架构
cnsxjean14 小时前
SpringBoot集成Minio实现上传凭证、分片上传、秒传和断点续传
java·前端·spring boot·分布式·后端·中间件·架构
那年星空16 小时前
Flutter 设计模式全面解析:抽象工厂
flutter·设计模式·架构
RememberLey16 小时前
【eNSP】ISIS动态路由协议实验
网络·架构·智能路由器·ensp·动态路由协议·isis·huawei
凡人的AI工具箱18 小时前
40分钟学 Go 语言高并发:【实战】并发安全的配置管理器(功能扩展)
开发语言·后端·安全·架构·golang
wclass-zhengge1 天前
02微服务系统与设计(D1_走出微服务误区:避免从单体到分布式单体)
分布式·微服务·架构