《系统架构设计师教程(第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用于定义可配置的互操作语义
    • 利用策略声明确保服务期望和语义兼容性方面的完整和明确

相关推荐
月上柳青2 分钟前
rrk3588 与 NPU 主机下的异构通信:基于 PCIe 的设计与实现
系统架构
小古jy14 小时前
系统架构设计师考点——软件架构设计(架构风格!!!)
架构·系统架构
武子康1 天前
Java-148 深入浅出 MongoDB 聚合操作:$match、$group、$project、$sort 全面解析 Pipeline 实例详解与性能优化
java·数据库·sql·mongodb·性能优化·系统架构·nosql
老友@1 天前
集中式架构、分布式架构与微服务架构全面解析
分布式·微服务·架构·系统架构
十五年专注C++开发2 天前
QT 中的元对象系统(六):connect函数详解
开发语言·c++·qt·设计模式·系统架构·qevent
武子康3 天前
Java-145 深入浅出 MongoDB 基本操作详解:数据库查看、切换、创建集合与删除完整教程
java·数据库·sql·mysql·mongodb·性能优化·系统架构
谱写秋天3 天前
软考-系统架构设计师 软件系统质量属性详细讲解
系统架构·软考架构师
张较瘦_3 天前
从零学会绘制系统架构图:目的、思路与实操指南
架构·系统架构·软件工程
谱写秋天3 天前
软考-系统架构设计师 软件架构复用详细讲解
系统架构·软考架构师
博一波3 天前
软考高级-系统架构设计一些概念的串联
微服务·架构·系统架构