`
m635674608
  • 浏览: 5027973 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

深入解读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架构中实现服务间智能化集成与管理的中介。
 
 
---------------------
学习一个新事物,认识是最重要的,只有不断的去学习去认识,才能把握其特点、功能、属性等等,并在认识的基础上加以合理利用。任何鱼目混珠的认识只能导致偏离原则和标准。
 
http://lavasoft.blog.51cto.com/62575/165597/
分享到:
评论

相关推荐

    ESB和SOA介绍和比较

    #### 二、SOA与ESB的关系 虽然SOA和ESB在概念上有所不同,但它们之间的联系非常紧密: 1. **SOA提供架构思想**:SOA关注的是如何将业务逻辑封装成服务,并通过标准接口进行暴露,使得服务可以在整个企业范围内被...

    基于ESB实现SOA的模式汇总

    本文将深入探讨基于ESB实现SOA的各种模式,为SOA架构师提供有价值的参考。 1. **服务注册与发现模式** 在SOA中,服务的注册和发现是至关重要的。ESB通常包含一个服务注册中心,服务提供者在此注册他们的服务,而...

    WebService&SOA&ESB入门介绍

    理解并掌握WebService、SOA和ESB对于构建可扩展、灵活的企业级系统至关重要。开发者需要了解XML、HTTP/HTTPS、SCHEMA/DTD等相关基础,才能有效地设计和实现这些服务。通过使用这些技术和工具,企业能够构建出适应...

    GlassFish Open ESB for SOA Development

    ### GlassFish Open ESB 在 SOA 开发中的应用 #### 什么是 SOA? 服务导向架构(Service-Oriented Architecture,简称 SOA)是一种设计原则与实践方法,它旨在创建共享、可重用、分布式的软件服务。SOA 的关键属性...

    TIBCO-ESB-SOA介绍

    通过TIBCO提供的PPT文件“TIBCO-ESB-SOA介绍”,读者可以深入了解TIBCO公司的产品和服务,以及它们在实际场景中的应用。这份资料详细阐述了TIBCO ESB如何实现SOA,以及BusinessWorks如何帮助构建和管理业务流程。...

    ESB-SOA-ACS.pptx

    ESB-SOA-ACS知识点总结 ESB(Enterprise Service Bus)是一种架构模式,旨在实现企业内部不同系统之间的集成和通信。SOA(Service-Oriented Architecture)是一种软件架构模式,旨在实现业务系统的松耦合和可重用性...

    Smart ESB-SOA解决方案产品白皮书.docx

    《Smart ESB-SOA解决方案产品白皮书》深入解析了企业级服务总线(Enterprise Service Bus,ESB)与面向服务架构(Service-Oriented Architecture,SOA)的集成解决方案,旨在提供一种高效、灵活且可扩展的企业系统...

    用ESB实现SOA的方法

    #### 二、ESB与SOA的关系 企业服务总线(ESB)是一种分布式计算环境中的中间件平台,旨在促进服务间的通信。ESB作为SOA的核心组件之一,为实现服务之间的松耦合提供了必要的技术支持。ESB不仅能够简化服务之间的交互...

    基于ESB_SOA的系统集成框架的设计与研究_冯培培

    构(SOA)、企业服务总线(ESB)、Web Services 技术的基础上,运用面向服 务的思想,提出了一个基于 ESB-SOA 的应用系统集成框架,该框架是基于 J2EE 平台,结合 Web Services 技术,采用企业服务总线(ESB)作为各...

    基于MULE_ESB的SOA理论研究与实现

    MULE 为SOA中目前很好的开源ESB,此文档有了一些介绍

    了解ESB如何帮助您满足SOA 解决方案的需求

    #### 三、ESB与SOA的关系 在SOA架构中,ESB是连接各个服务的桥梁。它不仅负责消息的路由和传输,还承担着诸如转换、协议适配、安全性处理等任务。具体来说: 1. **消息路由与传输**:ESB可以将消息从发送方传送到...

    mule 详细介绍 (soa esb)

    ### SOA与Mule的结合 在SOA环境中,Mule扮演着重要的角色。首先,Mule作为一个ESB,提供了服务注册、服务发现、消息路由等功能,这些功能对于构建SOA至关重要。其次,Mule支持多种协议和数据格式,这意味着它可以...

    企业服务总线(SOA和ESB简介)

    ESB是SOA架构中实现服务间智能化集成与管理的中介。ESB是一种在松散耦合的服务和应用之间标准的集成方式。ESB的架构模型可以分为三种: 1. 面向消息的架构:ESB可以实现应用之间的消息传递。 2. 面向服务的架构:...

    用SOA实现ESB

    先描述了SOA和ESB的概念和结构, 再详细介绍了怎么用SOA来实现一个ESB,并对服务Router,Broker,off-the-bus service,Exposed ESB Gateway有详细的说明.

    SOA与ESB的形象概念SOA与ESB的形象概念

    #### 三、SOA与ESB的关系 虽然SOA和ESB经常被一起提及,但它们代表的是不同的概念。SOA是一种设计思想,而ESB则是一种实现SOA的技术手段之一。具体来说: - **SOA定义了应该如何构建服务和应用:** 它强调服务的...

    IBM公司ESB、WEBSPHERE、SOA技术交流

    ESB 、SOA与WebSphere的关系 什么时候需要用到ESB ESB架构标准实践 ESB设计原则实践 IBM关于建立东风有限统一的ESB的建议方案 IBM ESB的独特优势 IBM ESB案例分享

    SOA中ESB框架

    #### 一、SOA与ESB的基本概念 - **SOA(面向服务的架构)**: SOA是一种软件设计方法论,它将应用程序的不同功能单元(称为服务)通过服务定义接口(如Web服务)进行连接。SOA的核心理念在于服务的复用性、互操作性...

    分布式ESB成就SOA之美.pdf

    #资源达人分享计划#

    ESB介绍和案例

    《SOA集成:将ESB上的服务使用者与服务提供者分离》可能会探讨如何通过ESB实现服务使用者和服务提供者的逻辑隔离,从而降低系统变更对整个架构的影响。ESB允许服务消费者只关注服务接口,而无需关心服务的具体实现,...

Global site tag (gtag.js) - Google Analytics