深入解读ESB与SOA的关系

本文探讨了ESB(企业服务总线)与SOA(面向服务架构)之间的关系,明确了二者并非同一概念,而是紧密相关。ESB作为SOA架构中的一种模式或产品,实现了服务间的智能化集成与管理,尤其是在SCA模式下的SOA实现中扮演关键角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深入解读ESB与SOA的关系
 
时至今日,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架构中实现服务间智能化集成与管理的中介。
 
 
---------------------
学习一个新事物,认识是最重要的,只有不断的去学习去认识,才能把握其特点、功能、属性等等,并在认识的基础上加以合理利用。任何鱼目混珠的认识只能导致偏离原则和标准。
 
 
 
1. 练习一:Oracle Service Bus 的安装.......................................................................................3 2. 练习二:配置OSB 的域模版.................................................................................................6 3. 练习三:部署WebServices 及其客户端应用......................................................................12 4. 练习四:使用Service Bus Console 创建配置项目..............................................................16 5. 练习五:创建Business Service 和Proxy Service ................................................................22 6. 练习六:OSB 中使用Java 方法...........................................................................................40 7. 练习七:OSB 中调用EJB ....................................................................................................52 8. 练习八:OSB 中使用文件服务............................................................................................72 9. 练习九:OSB 中配置Local Proxy .......................................................................................82 10. 练习十:OSB 中使用文件代理............................................................................................87 11. 练习十一:OSB 中的项目导入和导出................................................................................94 12. 练习十二:OSB 中使用JMS 服务.....................................................................................102
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值