文章目录
  1. 1. 什么是SOA
  2. 2. SOA的核心要素
  3. 3. SOA的原则
  4. 4. 服务导向的架构和Web服务协议
  5. 5. 参考

自SOA概念提出之后,越来越多的企业开始使用,之前实习的两家公司都是使用的SOA,对外提供REST风格的接口。所以本文就简单介绍一下SOA的概念。

什么是SOA

面向服务的体系结构(Service-oriented architecture)是构造分布式计算的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其他服务。

它采用开放标准、与软件资源进行交互并采用表示的标准方式。

百度文库介绍说面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。

SOA的核心要素

SOA的目标就是实现灵活可变的IT系统。要达到灵活性,通过三个途径来解决:标准化封装、复用、松耦合可编排。

SOA的原则

以下指导原则是开发,维护和使用SOA的基本原则:

  1. 可重复使用, 粒度, 模组性, 可组合型, 物件化原件, 构件化以及具交互操作性
  2. 符合开放标准(通用的或行业的)
  3. 服务的识别和分类,提供和发布,监控和跟踪。

服务导向的架构和Web服务协议

服务导向的架构通常被定义为通过Web服务协议栈暴露的服务. 与SOA相关的Web服务的标准主要有:

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

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

参考

  1. 面向服务的体系结构
  2. 浅析深究什么是SOA?
文章目录
  1. 1. 什么是SOA
  2. 2. SOA的核心要素
  3. 3. SOA的原则
  4. 4. 服务导向的架构和Web服务协议
  5. 5. 参考