深入解读ESB与SOA的关系

简介:
有关ESB的概念,已经吵了好多年了,还是没有定论。
我个人认为,ESB本来就是抽象的概念,而且内涵丰富,在不同的场合含义不同。因此应该从不同的角度来认识。
 
一、SOA和ESB一直是没有明确概念的两个缩略词
 
原因是这两个词包含的内涵太丰富了,无法用一两句话说清楚,并且,这个词在不同的地方含义也有所不同。
SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。
ESB----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。
 
目前ESB与SOA的确切概念依然没有。但可以明确的说SOA就是一种服务集成思想,它的不同实现方式可能差别很大,目前SOA最常见的实现方式是SCA和JBI。
 
二、ESB究竟是什么
 
这个问题在个大厂商之间,认识和观点也存在很大差异。
IBM、Oracle等认为ESB是连接服务的一种模式,但一些开源组织和其他厂商认为ESB是一种产品,并且提供了ESB连接解决方案的实现,这种实现可以认为是中间件,也可以认为是组件工具。
 
对此,我个人的观点更偏向前者,ESB是一种模式,ESB的实现方式也很多,可以称之为ESB产品。当然在不同场合ESB的含义也不同,需要鉴别。
 
三、为什么ESB总和SOA黏在一块
 
通常,这两个名词总不分家,谈论的话题中“你中有我,我中有你”。
 
 
为什么是这样的呢?
ESB是SOA吗?
两者之间究竟有什么微妙的关系呢?
 
带着疑问,继续往下看:
 
首先,ESB不是SOA。SOA的最常见的实现方式方式是SCA和JBI,而SCA的实现需要ESB,相反JBI则不需要ESB,可以参看本人对JBI和SCA分析解读的文章。
 
其次,因为IBM和Oracle(收购了BEA和SUN的牛X公司)都推崇SCA模式的SOA,因此SCA实际上已经成为SOA的事实标准,说道SOA,最先想到的就是SCA模式了。
 
最后,ESB是SCA架构实现不可缺少的一部分,ESB产品脱离了具体的应用外,没有任何意义。ESB的作用在于实现服务间智能化集成与管理的中介。通过ESB可以访问所集成系统的所有已注册服务。
 
 
四、ESB的特点
 
ESB是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:
面向服务的架构 - 分布式的应用由可重用的服务组成
面向消息的架构 - 应用之间通过ESB发送和接受消息
事件驱动的架构 - 应用之间异步地产生和接收消息
ESB就是在SOA架构中实现服务间智能化集成与管理的中介。
(本段话引用:IT专家网  http://whatis.ctocio.com.cn/searchwhatis/179/7332679.shtml
 
 
---------------------
学习一个新事物,认识是最重要的,只有不断的去学习去认识,才能把握其特点、功能、属性等等,并在认识的基础上加以合理利用。任何鱼目混珠的认识只能导致偏离原则和标准。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/165597,如需转载请自行联系原作者
相关文章
|
机器学习/深度学习 编解码 算法
yolov1到v8的变化
yolov1到v8的变化
447 1
|
分布式计算 并行计算 大数据
Spark学习---day02、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
Spark学习---day02、Spark核心编程 RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
638 1
|
机器人 BI vr&ar
伙伴客户案例|阿里云RPA助力制造零售企业降本增效 ——财务场景篇
RPA全称机器人流程自动化(Robotic Process Automation),是一种新兴的“数字劳动力”,可以替代或辅助人完成规则明确的重复性劳动,大幅提升业务流程效率,实现企业业务流程的自动化和智能化,从而降本增效。目前,RPA解决方案的应用场景几乎涵盖了所有行业,包括银行、保险、制造、零售、医疗、物流、电子商务甚至政府和公共机构。
3247 3
伙伴客户案例|阿里云RPA助力制造零售企业降本增效 ——财务场景篇
|
10月前
|
机器学习/深度学习 数据采集 算法
大数据加持的预测性维护:让设备故障“未卜先知”
大数据加持的预测性维护:让设备故障“未卜先知”
552 2
|
7月前
|
存储 Ubuntu 固态存储
在乌班图系统上轻松玩游戏,万万没有想到还能这么干
itch也是一个类似STEAM的游戏平台,它是独立游戏制作人的天堂,上面很多个人制作的游戏免费或者以极低的价格分享给玩家。 8、PlayOnLinux
|
架构师 中间件 API
微服务和 SOA 的 6 大核心区别,你都知道吗?
本文详解SOA与微服务的六大区别,帮助更好地理解和应用这两种架构,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
微服务和 SOA 的 6 大核心区别,你都知道吗?
|
安全 算法 Java
多线程写入同一个文件时,如何保证写入正常
【9月更文挑战第3天】多线程写入同一个文件时,如何保证写入正常
1831 8
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
XML 安全 数据库
系统集成相关概念
系统集成相关概念
817 1
|
安全 网络安全 数据安全/隐私保护
wsl---ssh远程连接、ip映射及服务自启详细配置
在初步体验了wsl后,我们都想通过一些类似xshell的工具来进行连接,因为cmd真的是不太友好。 在多次反复操作后发现,网上很多千篇一律的教程在有些地方,真的是误导像我这种小白,因此,本片文章经历过多次修改以保让我等小白不被带偏。
1512 0

热门文章

最新文章