SOA 架构是什么

Fanly 2019-03-26 14:31:54
问答

SOA 架构并不特指一种技术,而是一种分布式运算的软件设计方法。软件的部分组件,可以透过网络上的通用协议调用另一个应用软件组件运行、运作,让调用者获得服务。原则上采用开放标准、与软件资源进行交互并采用表示的标准方式。

面向服务的体系架构(service-oriented architecture,SOA 架构)并不特指一种技术,而是一种分布式运算软件设计方法。软件的部分组件(调用者),可以透过网络上的通用协议调用另一个应用软件组件运行、运作,让调用者获得服务。

SOA 架构

SOA 原则上采用开放标准、与软件资源进行交互并采用表示的标准方式。因此应能跨越厂商、产品与技术。一项服务应视为一个独立的功能单元,可以远程访问并独立运行与更新,例如在线查询信用卡账单。

SOA 中的一项服务应有以下四个特性:

  1. 针对某特定要求的输出,该服务就是运作一项商业逻辑
  2. 具有完备的特性(self-contained)
  3. 消费者并不需要了解此服务的运作过程
  4. 可能由底层其他服务组成

SOA 能够帮助业务迅速和高效地响应变化的市场条件,服务导向的架构在宏观(服务)上,而不是在微观上(对象)因此提高了重复使用性。同时,服务导向的架构可以简化与传统系统的互连和使用。

在某种意义上说,服务导向的架构可以被认为是一种演化,而不是革命。它捕捉到了之前体系架构的许多最佳实践或实际应用。比如在通信系统中,近年来进展有限的解决方案多采用完全静态的绑定来与网络中的其他设备沟通,但若正式采用 SOA 方式,解决方案就更能妥善定位,进而突显定义明确且可高度跨平台操作接口的重要性。

与 SOA 相关的 Web 服务的标准主要有:

  • XML - 一种标记语言,用于以文档格式描述消息中的数据。
  • HTTP(或 HTTPS) - 客户端和服务端之间用于传送信息而发送请求/回复的协议。
  • SOAP(Simple Object Access Protocol) - 在计算机网络上交换基于 XML 的消息的协议,通常是用 HTTP。
  • WSDL(Web Services Description Language,Web 服务描述语言) - 基于 XML 的描述语言,用于描述与服务交互所需的服务的公共接口,协议绑定,消息格式。
  • UDDI(Universal Description, Discovery, and Integration,是统一描述、发现和集成) - 基于 XML 的注册协议,用于发布 WSDL 并允许第三方发现这些服务。

注意,一个系统要成为服务导向的系统并不需要这些协议,比如一些服务导向的系统可以通过 CORBA 实现。

1个人收藏头像 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • DNS SOA 记录

    DNS SOA记录是什么

    DNS SOA记录是域名系统(DNS)中关键的信息条目,标志着特定DNS区域的授权起点。它包含关于区域主服务器的信息、管理员联系方式、区域文件的同步和更新机制等重要数据。SOA记录对确保DNS数据的准确性、系统的稳定性及故障排除都至关重要,是互联网健康运行的基石之一。
  • 企业架构 Enterprise Architecture

    企业架构是什么

    企业架构 (EA) 是组织设计、计划和实施企业分析以确保正确执行业务战略的时候。该流程可帮助公司开发 IT 项目和政策以实现业务目标。此过程还确保组织及时了解行业趋势和中断情况。
  • 软件架构 software architecture

    软件架构是什么

    软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构会包括软件组件、组件之间的关系,组件特性以及组件间关系的特性。软件架构可以和建筑物的架构相比拟。
  • 系统架构 System Architecture

    系统架构是什么

    系统架构是定义系统的结构、行为及其他视图的概念模型。系统架构可以包括系统中的组件以及子系统,这些元件以及子系统共同工作来实现整个系统。有许多人设法将描述系统架构的语言形式化,这些语言称为架构描述语言(ADL)。
  • J2EE

    J2EE架构是什么

    J2EE架构是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。
  • 网络服务器

    网络虚拟架构是什么

    网络虚拟架构又称服务器虚拟化,是指将一台物理的计算机软件环境分割为多个独立分区,每个分区均可以按照需求模拟出一台完整计算机的技术。