深入解读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架构中实现服务间智能化集成与管理的中介。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SOA,即面向服务的架构,是一种软件设计模式,它将软件系统划分为互相协作的服务单元,每个服务单元都能够独立地被开发、部署和管理。SOA主要基于以下几个关键概念:服务、服务提供者、服务消费者、服务注册与发现、服务协议和消息等。 在SOA中,服务是系统中可以被其他应用程序使用的组件,它们之间通过网络进行通信,可以是简单的数据传输服务,也可以是复杂的业务逻辑服务。服务提供者负责发布服务并向外部应用程序提供访问接口,而服务消费者则利用这些服务来完成特定的任务。 SOA技术主要包括面向服务的软件开发、服务的部署和管理、服务的集成与通信,以及服务的安全保障等方面。常用的SOA技术包括Web服务、RESTful服务、消息队列和ESB等。这些技术能够帮助开发人员更好地构建和管理服务,从而提高系统的灵活性和扩展性。 在设计方面,SOA注重服务的模块化、可重用性和互操作性。使用SOA设计系统能够更好地适应不断变化的业务需求,提高系统的可维护性和可扩展性。此外,SOA还能够提高系统的安全性和可靠性,减少系统之间的耦合关系,降低整体系统的复杂度。 总而言之,SOA是一种重要的软件架构设计模式,它通过服务的组件化和互相协作,提供了一种灵活、可扩展、安全和可靠的系统架构设计思路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘元涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值