文章目录
- 1. SOA设计的标准要求
- 1.1 文档标准
- 1.2 通信协议标准
- 1.3 应用程序统一登记与集成
- 1.4 服务质量 (QoS)
- 1.4.1 可靠性
- 1.4.2 安全性
- 1.4.3 策略
- 1.4.4 控制
- 1.4.5 管理
- 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用于定义可配置的互操作语义
- 利用策略声明确保服务期望和语义兼容性方面的完整和明确