什么是 SOA?
**SOA(Service-Oriented Architecture,面向服务的架构)**将业务能力组织为多个应用可以共享的服务。每个服务通过约定的接口提供明确的功能,例如查询库存或开具发票。
例如,网上商店和员工应用可以调用同一个库存服务来查询库存。两个应用都不必重新实现这项业务逻辑,也无需了解仓库软件的内部工作方式。
主要组成部分
- 业务服务: 执行某项任务,例如预留库存或计算配送费。服务可以从头构建,也可以公开现有系统的某项能力。
- 服务使用方: 发送请求并接收结果,例如网站在顾客下单时调用库存服务。
- 服务契约: 定义如何调用服务、发送什么数据,以及它可能返回的结果或错误。这些约定让使用不同技术构建的系统能够协作。
一些系统使用 **ESB(Enterprise Service Bus,企业服务总线)**在应用之间路由请求和转换数据格式。这只是集成方式之一;SOA 不要求使用 ESB 或 SOAP 协议。
