展开文章目录
文章目录
  1. 1 SOA 重点关注服务
  2. 2 SOA 的高内聚、低耦合
  3. 3 SOA 重构的灵活性

SOA(面向服务架构,Service Oriented Architecture)是一种软件体系结构范型,可以组织和使用处于不同所有者控制下的分布式功能。从技术角度看,SOA 就是一种体系架构,它描述了一种 IT 基础设施,使得不同的业务服务可以相互交换数据,参与业务流程,通过灵活的互相协作方式来完成具体的业务操作。这些业务服务独立于编程语言,独立于实现方法,独立于运行环境。

SOA面向服务的体系结构
SOA 面向服务的体系结构

1 SOA 重点关注服务

SOA 支持面向服务的开发方法,是对前续的面向过程、面向消息、面向数据库和面向对象开发方法的补充。

服务从更高抽象层次上定义,直接与业务相对应,且其实现可采用面向过程、面向消息、面向数据库和面向对象等不同开发方法。

与面向对象的调用接口相比,服务一般定义较粗粒度的接口,会接收更多的数据,消耗更多的计算资源。服务一般是用来解决应用间互操作问题,以及将服务组合成新应用或新的应用系统,而不是为应用创建具体的业务逻辑。

通过 SOA,围绕服务构建 IT 系统,有利于 IT 系统更靠近实际业务要求,使 IT 系统更容易适应业务变化的要求,另外,对已有应用系统,通过服务化封装,可以使这些系统得到更好的重用,能有效保护对已有应用系统建设的投资。

2 SOA 的高内聚、低耦合

松耦合是软件设计中一个重要概念,SOA 强调服务间的松耦合。在 SOA 中松耦合包括以下几个方面:

2.1 接口松耦合

接口耦合是指服务请求者与服务提供者之间的耦合。度量的是请求者与服务提供者的依赖性。接口松耦合强调服务请求者仅需要根据已发布的服务契约和服务水平协议(或称服务等级协议)就可以请求一个服务,任何时候服务请求者都不需要了解服务提供者对内部实现的信息。即服务接口封装了所有的实现细节,使服务请求者看不到这些实现细节。

2.2 技术松耦合

技术耦合度量的是服务对特定技术,产品或开发环境的依赖程度。技术松耦合强调服务请求者和服务提供者的实现和运行不需要依赖与特定的某种技术,或某个厂家的解决方案或产品,从而减少对某个厂商的依赖。在 SOA 系统中服务请求者和服务提供者可以使用不同技术实现,可以在不同厂商的环境中运行。

2.3 流程松耦合

流程松耦合度量的是服务与特定业务流程的依赖程度。强调服务不应与具体的业务流程相关,以便能够被重用于多种不同的业务流程与应用。这一点强调的是服务的可重用性,在 SOA 系统中对业务服务的合理规划,使得一个业务服务可以在多个业务流程中得到复用,并且随着业务要求的改变,一个服务可以在变化后的新的业务流程中能够得到继续使用。

3 SOA 重构的灵活性

在 SOA 系统建设中,基本的单位是实现业务功能的服务,而不是实现业务逻辑的对象,过程,函数等较小的技术单位。

服务与实际业务功能相关,具有明确的接口。这些服务可在不同的业务流程中得到重用,提高了服务的价值;其次在使用中只需按其接口要求进行访问,屏蔽服务实现细节,服务实现的修改不会影响到服务访问方的逻辑,提高了业务流程的适应性;另外,一旦业务流程变更,仅需对服务进行重新编排,并不修改服务本身,提高了业务流程实现的灵活性。 重构的灵活性,不仅可以使业务服务可以有更好的重用性,也使得业务流程更容易重构,使 IT 系统具有了更好的灵活性,可以快速面对变化的市场需求。

相关文章

- 联 系 我 们 -

+86 186-2315-0440

在线咨询:点击这里给我发消息

电子邮箱:i@zzptech.com

工作时间:9:00~18:30,工作日

微信客服