SOA 解惑

SOA 不是一种技术,它是一种设计方法。
最近一段时间我碰到了很多关于 SOA 的具有误导性的文章。尤其是,有些人混淆了 SOA 和诸如 BPM、ESB 以及复合事件处理 (CEP) 之类的技术之间的关系。
这些困惑其实是没有必要的,因为 SOA 和这些技术之间的关系非常简单。

SOA 和 ESB

9 个 SOA 设计原则之一就是服务之间要松耦合。
ESB 是实现 SOA 服务之间解耦的最常见的方式。这两者之间的关系如下图所示:

SOA 和 BPM

BPM 是一种规划业务流程的工具。该流程中的步骤可以通过一个 SOA 服务来完成。

当然,一个 SOA 服务也可以调用一个 BPM 去执行一个流程 - 但是这种模式并不太常见。

SOA 和复合事件处理 (CEP)

SOA 2.0 是一个针对复杂事件处理的设计方法。
传统 SOA (SOA 1.0) 服务由 BPM 引擎、应用以及其他服务所“消费”。换句话讲,SOA 1.0 是进行集中规划的。
SOA 2.0 (事件驱动 SOA) 服务被设计用来由事件或者事件类型 (既包括不可预测的也包括已规划的) 所“消费”。

原文链接:SOA for the confused,发布日期:2011 年 3 月 24 日。
作者简介:Anna Mar 是一名拥有 18 年以上金融领域经验的首席架构师。

SOA 解惑的更多相关文章

  1. SOA——面向服务的体系架构

    上一篇博文中提到了"紧耦合"的现象.怎样解决?SOA.採用面向服务的体系架构. 一.What? SOA=Service-oriented Architecture面向服务的体系结构 ...

  2. 服务治理要先于SOA

      讲在前面的话: 若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测.久而久之,降低了服务重用的可能性,提高了服务利用的成本 ...

  3. 简述我的SOA服务治理

    SOA服务治理 1.解决业务部门服务冲突和纠纷2.版本定义与版本管理3.服务备案与服务管理4.业务监督与服务监控 SOA的战略目的 一.业务价值胜过技术策略 二.战略目标胜过具体项目的效益 三.内置的 ...

  4. 浅谈SOA

    概念 wiki对于SOA定义如下: A service-oriented architecture (SOA) is a design pattern in which application com ...

  5. 我所理解的SOA和微服务

    本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5847441.html SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上 ...

  6. 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd

    下面是按着我所接触的架构模式,开始一个一个的说一下 第一 标准架构 三层结构

  7. Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结

    Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结 1.1. 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于 ...

  8. 说说面向服务的体系架构SOA

    序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...

  9. 微服务和SOA服务

    微服务和SOA都被认为是基于服务的架构,这意味着这两种架构模式都非常强调将“服务”作为其架构中的首要组件,用于实现各种功能(包括业务层面和非业务层面).微服务和SOA是两种差异很大的架构模式,但是他们 ...

随机推荐

  1. CentOS下安装Python3

    目录 CentOS下安装Python3 下载 解压 配置 gcc sudo权限 vim 编译 安装 添加软链接 pip安装出错,找不到SSL 安装virtualenv和virtualenvwrappe ...

  2. 实战基于Spring Boot 2的WebFlux和mLab搭建反应式Web

    Spring Framework 5带来了新的Reactive Stack非阻塞式Web框架:Spring WebFlux.作为与Spring MVC并行使用的Web框架,Spring WebFlux ...

  3. 【BZOJ2257】[JSOI2009]瓶子和燃料(数论)

    [BZOJ2257][JSOI2009]瓶子和燃料(数论) 题面 BZOJ 洛谷 题解 很明显就是从\(n\)个数里面选\(K\)个数让他们的\(gcd\)最大. 暴力找所有数的因数,拿个什么东西存一 ...

  4. 【OpenCV】摄像机标定+畸变校正

      摄像机标定 本文目的在于记录如何使用MATLAB做摄像机标定,并通过OpenCV进行校正后的显示. 首先关于校正的基本知识通过OpenCV官网的介绍即可简单了解: http://docs.open ...

  5. bzoj2134: 单选错位(trie)

    预处理前后缀异或和,用trie得到前后缀最大答案,枚举中间点把左右两边加起来就是当前中间点的最大答案了...这个操作没见过,比较有意思,记录一下 #include<iostream> #i ...

  6. 前端常用功能记录(三)—datatables表格初始化

    其实上篇说的也算是jQuery Datatables的初始化,但主要是对某些字段意义的理解.下面记录的是datatables常用的功能的初始化. 数据源 我经常使用的有两种,一种是JavaScript ...

  7. 让外部网络访问K8S service的四种方式

    本文基于kubernetes 1.5.2版本编写 kube-proxy+ClusterIP kubernetes版本大于或者等于1.2时,配置: 修改master的/etc/kubernetes/pr ...

  8. VBA:Excel使用SQL进行查询

    Sub Query() Dim Conn As Object, Rst As Object Dim strConn As String, strSQL As String Dim i As Integ ...

  9. 把iPad上的视频推送到大麦盒子去

    把iPad上的视频推送到大麦盒子去   最近因为升级家里的宽带,服务商送了一个大麦盒子给我.   大麦盒子,就是一个网络机顶盒,用它可以通过互联网收看电视剧.电影.电视节目.音乐等等.除了它自身带的一 ...

  10. Spring MVC 中 @ModelAttribute 注解的妙用

    Spring MVC 中 @ModelAttribute 注解的妙用 Spring MVC 提供的这种基于注释的编程模型,极大的简化了 web 应用的开发.其中 @Controller 和 @Rest ...