SOA
SOA(面向服务的软件架构、Service Oriented Architecture),是一种软件设计模式,主要应用于不同应用组件之间通过某种协议来互操作。例如典型的 通信网络协议。因此SOA是独立于任何厂商、产品、技术的。
SOA有两个层面的定义:
- 从应用的角度定义:SOA是一种应用框架,它着眼于日常的业务应用,并将他们划分为单独的业务功能和流程,及所谓的服务。
- 从软件的基本原理定义:SOA是一个组件模型,它将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。
SOA对于实现企业资源共享,打破 “信息孤岛” 的步骤如下:
- 把引用和资源转换为对象;
- 把这些服务编程标准的服务,形成资源的共享;
基于SOA的解决方案,SOA架构可分为五层水平:
- 用户界面层 ---- 这些GUI的最终用户或应用程序访问的应用程序/服务接口;
- 业务流程层 ---- 在应用方面的业务用例服务;
- 服务层 ---- 服务合并在一起,提供统一的实时服务;
- 服务组件层 ---- 用来建造服务的组件,如功能库、技术库、技术接口等;
- 操作系统 ---- 这层包含数据模型,企业数据仓库,技术平台等;
因为SOA不依赖于任何技术,因此SOAP、RPC、REST是对SOA的不同实现。