Enterprise Service Bus,这个概念近年来和SOA一样吵的很火,各种公司都说的神乎其技,感觉很玄乎。
最近公司也要搞ESB,所以先弄清这个概念。
JavaEye上也有一篇文章讨论这个:http://www.iteye.com/topic/831144。
我比较赞同
1.reuse: 服务多了,就要避免重复,能重用的就重用
2.integration: 可重用服务之间会有依赖或者需要整合。才能完成更强大的功能。
3.route: 服务之间怎么整合,信息如何交换。route的过程会有过滤(filter)。
4.transform: 信息也需要转换成不同的格式。
总的来说,可以认为:ESB就是一个大的IOC(DI),spring的DI是object级别的,ESB的DI是service级别的.
另外补充几点更好的去理解ESB:
1. 什么情况下需要用到ESB的产品?
ESB产生的背景是应用的整合,公司内或者公司间多个异构系统的通信面临诸多困难:
传输(Transport) - 各个系统支持的接口各异:有文件的,HTTP,Soap WebService,TCP的文本的;
数据格式(Data Format)- 子系统传输的数据的格式各异,如:XML,JSON,文本等;
调用方式(Invocation Style)- 同步的,异步的,批量调用等;
生命周期(Lifecycles)- 不同的开发,维护周期;
ESB正是将这些不同屏蔽,让系统之间可以用自己的方式去消费服务和发布服务,无需关心服务是发布给谁使用,也无需关心服务提供者提供的服务的发布方式和来源。
因此,ESB比较适合:
a. 公司开发的子系统较多,或者有老的子系统,这些子系统需要相互通信,相互调用服务;
b. 多个公司之间有服务的相互调用,又没有一个强势的公司能确立用某种方式通信;
如果你的情况不是这样的,那需要慎重考虑是否需要使用ESB,因为ESB的产品都比较笨重,且性能一定不比两个系统直接通信好。
2. ESB和SOA是什么关系?
转一篇文章:http://lavasoft.blog.51cto.com/62575/165597/
并引用:
ESB----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。
他们的关注点不一样。
SOA关注的是服务的分治,服务的复用和组合;而ESB关注的是服务的协作;虽然实际实施中可能会有一些重合。
3. ESB是Web Service吗?
ESB提供了整合WebService接口的Transport,因此可以认为Web Service是ESB需要整合的一种服务,他们不是同一个层级的。
4. ESB是MQ吗?
和上一个问题一样,ESB是可以整合MQ的。
5. ESB核心
S:Service,服务,各个子系统提供的是服务,意味着提供的是一个长期稳定运行,可以以某种方式(WebService,REST,MQ,HTTP,FTP,File等)被外部系统访问。ESB也就是整合的这些服务。
B:Bus,总线,意味着需要调用服务的系统(也可能是整合入ESB,提供服务的系统)都是从这条总线获取数据,而且不必关心服务来自哪里,而不是各自私下通信。
相关推荐
那么,什么是ESB呢?ESB是基于服务导向架构(SOA)的一种架构风格,它充当了应用程序间的通信桥梁。ESB的主要功能包括消息路由、转换、服务发现、安全管理和事务处理。通过提供这些服务,ESB使得应用程序能够以松散...
1、 什么是ESB。 ESB的全称是Enterprise Service Bus,即企业服务总线。ESB是过去消息中间件的发展,ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用...
**什么是ESB** ESB是一种中间件,它提供了一种灵活的消息传递机制,允许不同的服务和应用通过Web服务协议进行通信。ESB不仅仅是消息导向中间件(Message-Oriented Middleware, MOM),还包含了服务注册/存储库、服务...
什么是 ESB? 根据 Gartner 的定义,ESB 是一种架构,它利用 Web 服务、消息中间件、智能路由和变换来实现松散耦合的业务组件之间的交互。ESB 必须支持请求/响应通信和一型通知发送的单向消息交付。 Oracle ESB ...
1. **什么是ESB** ESB是一种标准化的集成平台,它以开放标准为基础,使得应用可以通过消息、事件和服务级别进行动态交互。ESB的核心在于它的"总线"模型,简化了应用集成的复杂性。它支持面向服务的、面向消息的...
一、什么是ESB? ESB是SOA架构中的关键组件,它充当不同系统之间的通信桥梁。通过提供统一的消息传递机制,ESB简化了不同应用间的交互,降低了耦合度,实现了服务的松散耦合。 二、JBoss ESB的功能 1. **消息传输...
1. **什么是ESB**:ESB是企业架构中的一个关键组件,用于连接不同系统、服务和应用程序,促进信息的流动和交互。Mule ESB通过提供一种松散耦合的方式,降低了系统间的依赖性,提高了系统的可维护性和可扩展性。 2. ...
ESB(企业服务总线)是面向服务体系架构(SOA)发展而来的,它将传统中间件技术与XML、Web服务等新兴技术相结合。ESB在企业中扮演着基础的连接中枢角色,是构成企业神经系统的必不缺少的组件。它改变了传统的软件...
##### 1.1 什么是ESB? ESB(Enterprise Service Bus)是一种企业级消息系统之上的抽象层,它提供了用于实现面向服务架构(SOA)所需的各种功能。ESB通过为不同的服务提供一个统一的消息传递平台,简化了不同应用...
《探索企业服务总线,第2部分 为什么ESB是SOA的基本组成部分》文档可能会深入讲解ESB在SOA中的关键角色,包括它如何促进服务重用、如何提供松耦合以及如何支持异构环境中的互操作性。ESB通过提供一系列中间件功能,...
##### 1.1 什么是ESB? **企业服务总线**(Enterprise Service Bus, ESB)是一种抽象层,构建在企业消息系统实现之上,它提供了一系列功能,使得服务导向架构(Service-Oriented Architecture, SOA)能够得以实施。通过...
ESB(企业服务总线)和OSGI(开放服务网关接口)是两种在IT行业中广泛应用于服务整合和模块化编程的中间件技术。企业服务总线(ESB)是一种软件架构模式,它是面向服务体系架构(SOA)的核心组件之一。ESB的主要功能...
#### 什么是ESB(企业服务总线)? ESB是一种面向服务的架构模式,主要功能是实现不同系统之间服务的集成和通信。它充当一个中间件,支持不同协议、数据格式和通信模式的服务的相互操作,使得企业内部的不同应用程序...
### ESB原理及Mule ESB实践 #### ESB(Enterprise Service Bus)原理概述 **ESB**(企业服务总线)是SOA(面向服务架构)架构中的关键组件之一,用于实现服务间的智能集成与管理。其核心作用在于简化不同系统间的...
**ESB(Enterprise Service Bus)** 是企业服务总线,是一种中间件,旨在促进不同系统间的集成和通信。它提供了一种方式,使得各种应用程序和服务能够通过标准接口进行交互,而无需了解彼此的具体实现细节。ESB的...
Enterprise Service Bus (ESB) 技术是一种关键的中间件解决方案,特别适用于构建和整合分布式企业应用。ESB 的核心理念在于提供一个平台,使得不同的服务能够高效、安全地进行交互,实现服务导向架构(Service-...
《深入解析Mule ESB源码》 Mule ESB(Enterprise Service Bus,企业服务总线)是一款开源的集成平台,旨在简化企业级应用之间的数据交互。本文将围绕Mule ESB的源码进行深入探讨,揭示其核心设计理念与工作原理。 ...
**C# ESB 分布式处理技术 Remote** 在软件开发中,企业服务总线(Enterprise Service Bus,ESB)是一种架构模式,它提供了一种在分布式系统中集成和交互服务的方式。C#中的Remote技术是.NET框架提供的一个关键组件...
【标题】"ESB3实例代码及文档"指的是企业服务总线(Enterprise Service Bus,ESB)的第三阶段实现的相关实例代码和配套文档。ESB是企业级集成的关键技术,它提供了一种在不同系统之间交换信息和服务的方式,使得应用...
**ESB.NET架构方案** 企业服务总线(Enterprise Service Bus,ESB)是一种软件架构模式,用于构建松散耦合、灵活的企业级应用系统。它作为企业内部不同系统间通信的桥梁,允许服务消费者和服务提供者之间进行高效、...