《系统架构设计师教程(第2版)》第15章-面向服务架构设计理论与实践-04-SOA设计

文章目录

  • [1. SOA设计的标准要求](#1. SOA设计的标准要求)
    • [1.1 文档标准](#1.1 文档标准)
    • [1.2 通信协议标准](#1.2 通信协议标准)
    • [1.3 应用程序统一登记与集成](#1.3 应用程序统一登记与集成)
    • [1.4 服务质量 (QoS)](#1.4 服务质量 (QoS))
      • [1.4.1 可靠性](#1.4.1 可靠性)
      • [1.4.2 安全性](#1.4.2 安全性)
      • [1.4.3 策略](#1.4.3 策略)
      • [1.4.4 控制](#1.4.4 控制)
      • [1.4.5 管理](#1.4.5 管理)
  • [2. SOA的设计原则](#2. SOA的设计原则)

1. SOA设计的标准要求

  • OASIS
    • Organization for the Advancement of Structured Information Standards
    • 即,结构化信息标准促进组织
    • 是一个国际性的开放标准制定组织

1.1 文档标准

  • SOA服务具有平台独立的自我描述XML文档
  • Web服务描述语言来描述服务

1.2 通信协议标准

  • 其服务的通信消息,通常使用 XML Schema来定义

1.3 应用程序统一登记与集成

  • SOA 通过一个目录列表来进行维护服务,称为登记处(Registry)
    • 应用程序在登记处寻找并调用某项服务
    • 统一描述、定义、集成是服务登记的标准

1.4 服务质量 (QoS)

  • 服务质量(QoS):
    • Quality of Service

1.4.1 可靠性

  • 服务提供者和消费者的文档交换形式
    • Once-and-only-once Delivery:仅传送一次
    • At-most-once Delivery:最多传送一次
    • Duplicate Message Elimination:重复消息过滤
    • Guaranteed Message Delivery:保证消息传送

1.4.2 安全性

  • Web服务安全规范
    • 作用:保证消息的安全性
    • 包括:认证交换、消息完整性、消息保密

1.4.3 策略

  • 策略断言
    • Policy Assertions
    • 服务消费者与服务提供者通信需要满足的要求
  • 一项策略可能会包含多个断言

1.4.4 控制

  • SOA服务可以用来整合数据孤岛 (Silos of Data)、应用程序、组件
  • 异步通信、并行处理、数据转换以、错误处理等流程请求将被标准化

1.4.5 管理

需要一个控制台,没有什么有意义的话

2. SOA的设计原则

  • 无状态

  • 单一实例

  • 明确定义的接口

    • WSDL:用其来定义服务接口
    • WS-Policy:用于描述服务规约
    • XML Schema:用于定义所交换的消息格式(即,公共数据)
  • 自包含和模块化

    • 自包含:指服务依赖其他服务而存在 教材原文:完全独立自主的,独立进行部署、版本控制、自我管理和恢复。
  • 粗粒度

    • 服务数量不应太多
    • 依靠消息交互(而不是RPC调用)
    • 通常消息量大,但交互频度较低。
  • 服务之间的松耦合性

  • 重用能力

  • 互操作性、兼容和策略声明

    • WS-Policy用于定义可配置的互操作语义
    • 利用策略声明确保服务期望和语义兼容性方面的完整和明确

相关推荐
架构师Wu老七4 小时前
【软考】系统架构设计师-信息系统基础
系统架构·软考·系统架构设计师·信息系统基础
程序员JerrySUN16 小时前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
架构师Wu老七1 天前
【软考】系统架构设计师-信息安全技术基础
网络·安全·web安全·软考·系统架构设计师
张彦峰ZYF3 天前
DDD领域应用理论实践分析回顾
分布式·架构·系统架构·软件工程
架构师Wu老七4 天前
【软考】系统架构设计师-数据库设计基础
数据库·软考·系统架构设计师
爪哇学长4 天前
JavaFX 与其他图形库的详细比较:现代架构与性能优势
java·架构·系统架构
J老熊4 天前
RabbitMQ 在 Java 和 Spring Boot 中的应用详解
java·开发语言·spring boot·后端·系统架构·rabbitmq·java-rabbitmq
架构师Wu老七5 天前
【软考】系统架构设计师-计算机系统基础(4):计算机网络
计算机网络·系统架构·软考·系统架构设计师
银帅183350309715 天前
系统架构设计师论文
系统架构·论文笔记
架构师Wu老七5 天前
【软考】系统架构设计师-计算机系统基础(2):操作系统
系统架构·操作系统·软考·系统架构设计师