SOA 是面向服务的架构,即企业的 IT 系统是由服务组成的,也即企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。

Gartner 公司在 1996 年进一步提出了 SOA 的概念,意为面向服务的架构,本质上是面向服务的思想在企业 IT 架构方面的应用。面向服务的思想,是面向对象思想之后的一种新的思想模式,其核心特征就是以松耦合、粗粒度的服务单元来构建软件。作为一种思想,SOA 不涉及任何具体的实现技术细节,但是思想终归要落地才会带来社会效益。

人们发现,企业服务总线(简称为 ESB)是实现 SOA 的主要技术之一,于是 ESB 也就成为 SOA 的核心技术基础。当然,不用 ESB 也不能说你的系统就不是 SOA,比如现在流行的微服务就是 SOA 的一种具体实现,它采用容器对服务打包。SOA 所实现产品的核心任务是管理企业中的服务单元,具体的任务可分解为:服务单元的登记、服务单元的调用、服务单元的运行、服务单元的部署、用户管理界面,以及安全控制等。

服务与模块的主要区别在于:模块相当于汽车发动机的零配件,而服务就相当于发动机本身,发动机可以独立运转,而零件就不行

服务是无状态的,即服务在被调用前后本身没有变化,且同一个服务允许同时在多台计算机上运行,这样就能轻松实现高可用性计算及负载均衡集群,示意图如图 1 所示:

图1 SOA

最终我们可以想象一下,企业的很多台服务器上运行着各种各样的标准服务,众多的应用系统对应各自的服务调用关系描述表,“组装”一个应用软件由公司文员即可快速轻松地完成。

在云端,由于应用繁多且由一家公司运营,所以云运营公司是采用 SOA 的最佳场所。可以预计,在云计算时代,SOA 将得到广泛应用。在业界,也有人认为云计算将是 SOA 的终结者,这个观点把不同层次的东西混为一谈,云计算不是新的技术和思想,它只是人们使用计算资源的一种模式,而 SOA 是一种全新的软件构架思想。

ESB 是实现 SOA 的主要技术之一,SOA 是组建大型云端的重要思想之一。SOA 的概念已经提出了十几年,之前在传统的企业很难落地生根,根本原因就是一家企业的各种软件系统往往是由不同的软件公司开发的,而这些软件公司具备竞争关系,各自为政,很难协调一致地推出符合 SOA 标准的通用解决方案。

SOA面向服务的架构相关推荐

  1. 谈谈SOA面向服务体系架构的安全问题

    谈谈SOA面向服务体系架构的安全问题 本文我们讨论的是面向服务体系架构(SOA)的安全应用.在展开讨论之前,首先让我们来解析面向服务体系架构的实际含义.面向服务体系架构是一种涉及若干以服务为导向的应用 ...

  2. SOA面向服务的架构概念梳理

    原文地址来自:http://baike.baidu.com/link?url=C9VVTLY58Vt1JyJy0oakTA5cPp8kgT375lOujSFWtyo05hQWAQ7XltmN2W1fe ...

  3. SOA面向服务的架构设计

    目录 面向服务的架构 1 SOA 概述 1.1. 服务的基本结构 1.2.SOA 设计原则 1.3. 服务构件与传统构件 2 SOA 的关键技术 2.1. UDDI 2.2.WSDL 2.3.SOAP ...

  4. 一起谈.NET技术,使用WCF实现SOA面向服务编程—— 架构设计

    SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就是一种进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件(也就是ser ...

  5. SOA (面向服务的架构)

    见:https://baike.baidu.com/item/SOA/2140650?fr=aladdin UDDI 解说参见:UDDI是什么 SOAP解说参见: SOAP:简单对象访问协议 面向服务 ...

  6. SOA/软件架构设计---面向服务的架构(SOA详细解释)

    文章比较多,但干货慢慢,请耐心阅读 目录 面向服务的架构 1 SOA 概述 1. 服务的基本结构 2.SOA 设计原则 3. 服务构件与传统构件 2 SOA 的关键技术 1. UDDI 2.WSDL ...

  7. 软考高级系统架构设计师系列之:面向服务的架构SOA

    软考高级系统架构设计师系列之:面向服务的架构SOA 一.面向服务的架构SOA 二.SOA的特性 1.UDDI 2.WSDL 3.SOAP 三.SOA的用途 四.SOA的设计原则 五.SOA的实施过程 ...

  8. 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型

    引言 在<面向服务体系架构(SOA)和业务组件(BC)的思考>(以下简称< SOA 和 BC >)一文中介绍了基于面向服务体系架构(SOA)的组件模型,本文按照"分离 ...

  9. 亚马逊如何变成 SOA(面向服务的架构)?

    上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎么实现从电商到云商的转变呢? 一切都是 ...

最新文章

  1. 《编写有效用例》读书笔记1
  2. vivo统一告警平台建设与实践
  3. NLP之TEA:自然语言处理之文本情感分析的简介、算法、应用、实现流程方法、案例应用之详细攻略
  4. python调用sdk的文章_如何使用 python 接入虹软 ArcFace SDK
  5. 【识记】Nginx 访问控制
  6. 输出源文件的标题,目前执行行的行数,编译时间
  7. shell date mysql_shell脚本定时备份mysql数据库
  8. Bailian2888 字符串中的数字【字符串】
  9. vue require图片_前后端分离当下,后端同学总结的手动构建vue项目
  10. 计算机系统建模与仿真论文,《系统建模与仿真》课程论文.pdf
  11. 使用Word(Office 365)版本中的简历助手
  12. github系列(一) Windows环境下载与安装
  13. 事业单位考试计算机专业知识题库,计算机考试题库:计算机考试练习题(29)...
  14. GEE-Python 遥感大数据处理
  15. 用js实现贪吃蛇网页游戏
  16. mysql 插入字符串_MySQL插入特殊字符
  17. 今日头条前端三轮面试面经
  18. 安卓(Android)手机如何安装APK?
  19. 直播区块链APP小葫芦星球即将上线
  20. RK3399 Android7.1如何查看屏幕分辨率

热门文章

  1. 分布式处理 和 并行处理系统 定义
  2. java.sql.SQLException: Value ‘0000-00-00‘ can not be represented as java.sql.Timestamp
  3. 从头学习爬虫(十四)实战篇----网易云音乐
  4. Flink分布式流式处理框架
  5. mint-ui坑爹指南(vue)—— 时间选择器Datetime Picker的用法
  6. 100个go语言面试问答合集_golangde_SQL
  7. opencv库配置常见问题
  8. 148、基于STM32单片机的心跳心率波形采集系统
  9. MySQL 主从,6 分钟带你掌握!
  10. android 录音权限 代码打开,Android编程检测手机录音权限是否打开的方法