本文概述
面向服务的体系结构或SOA是一种设计模式, 旨在构建可通过协议向其他应用程序提供服务的分布式系统。它仅是一个概念, 并不限于任何编程语言或平台。
什么是服务?
服务是定义良好的独立功能, 代表功能单元。一个服务可以交换另一个服务的信息。它不依赖于另一个服务的状态。它使用松耦合的基于消息的通信模型与应用程序和其他服务进行通信。
服务连接
下图显示了面向服务的体系结构。服务使用者向服务提供者发送服务请求, 服务提供者将服务响应发送给服务使用者。服务使用者和服务提供者都可以理解服务连接。
面向服务的术语
让我们看一些重要的面向服务的术语:
- 服务-服务是由一个或多个已发布接口定义的逻辑实体。
- 服务提供者-它是实现服务规范的软件实体。
- 服务使用者-可以称为呼叫服务提供者的请求者或客户端。服务使用者可以是其他服务或最终用户应用程序。
- 服务定位器-它是充当注册表的服务提供者。它负责检查服务提供商的接口和服务位置。
- 服务代理-它是将服务请求传递给一个或多个其他服务提供者的服务提供者。
SOA的特征
这些服务具有以下特征:
- 它们是松散耦合的。
- 它们支持互操作性。
- 它们是位置透明的
- 他们是独立的。
面向服务架构的组件
面向服务的体系结构堆栈可以分为两部分-功能方面和服务质量方面。
功能方面
功能方面包括:
- 传输-将服务请求从服务使用者传送到服务提供者, 并将服务响应从服务提供者传送到服务使用者。
- 服务通信协议-它允许服务提供者和服务使用者相互通信。
- 服务描述-描述服务及其调用所需的数据。
- 服务-这是一项实际服务。
- 业务流程-它表示按照与特定规则相关联的特定顺序调用的一组服务, 以满足业务需求。
- 服务注册表-它包含对数据的描述, 服务提供商使用这些数据来发布其服务。
服务质量方面
服务质量方面包括:
- 策略-它代表一组协议, 服务提供商根据该协议进行服务并将其提供给消费者。
- 安全性-它表示识别和授权所需的一组协议。
- 交易-它确保结果一致。这意味着, 如果我们使用服务组来完成业务功能, 则要么全部必须完成, 要么全部都不完成。
- 管理-它定义用于管理服务的属性集。
SOA的优势
SOA具有以下优点:
- 易于集成-在面向服务的体系结构中, 集成是一种服务规范, 可提供实现透明性。
- 管理复杂性-由于服务规范, 复杂性被隔离, 并且集成变得更易于管理。
- 平台独立性-服务与平台无关, 因为它们可以通过通用语言与其他应用程序进行通信。
- 松耦合-有助于在不影响其他应用程序或服务的情况下实施服务。
- 并行开发-SOA遵循基于层的体系结构, 因此提供了并行开发。
- 可用-SOA服务可轻松提供给任何请求者。
- 可靠-由于服务规模较小, 因此测试和调试起来更加容易。
评论前必须登录!
注册