SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式,主要应用于不通应用组件中通过某种协议来互操作,例如典型的通过网络协议。因此SOA是独立于任何厂商、产品与技术的。
SOA作为一种架构依赖于服务的方向,它的基本设计原理是:服务提供了一个简单的接口,抽象了底层的复杂性,然后用户可以访问独立的服务,而不需要去了解服务底层平台实现。
基于SOA的解决方案,努力使经营目标而建立企业的质量体系。SOA架构是五层水平:
1. 用户界面层–这些GUI的最终用户或应用程序访问的应用程序/服务接口。
2. 业务流程层–这些精心设计的代表在应用方面的业务用例服务。
3. 服务层–服务合并在一起,为整个企业提供实时服务。
4. 服务组件层–用来建造服务的组件,如功能库和技术库,技术接口等。
5. 操作系统–这层包含数据模型,企业数据仓库,技术平台等。
正因为SOA架构实现不依赖于技术,因此能够被各种不同的技术实现。
例如:
SOAP, RPC
REST
DCOM
CORBA
OPC-UA
Web services
DDS
Java RMI
WCF (Microsoft’s implementation of web services now forms a part of WCF)
Apache Thrift
SORCER
因此REST、SOAP、RPC、RMI、DCOM等都是SOA的一种实现而已。