本文主要是介绍ESB的介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ESB是什么?
ESB是一个主要依赖XML消息交换的企业级消息系统,这种消息继而被智能的通过一种非集中式的架构路由和转换。
开源的ESB?
Mule,ServiceMix,Apache Synapse,JBoss ESB,Sun的OpenESB和Apache Camel等。
ESB和SOA之间的关系?
原因是这两个词包含的内涵太丰富了,无法用一两句话说清楚,并且,这个词在不同的地方含义也有所不同。
SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。
ESB----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。
目前ESB与SOA的确切概念依然没有。但可以明确的说SOA就是一种服务集成思想,它的不同实现方式可能差别很大,目前SOA最常见的实现方式是SCA和JBI。
看一下结构

使用这种结构最大的优点是它是非集中式的。
将其扩展一下,将集成中介改为服务适配器,这样的功能就完全可以实现ESB了。
ESB的核心功能?
面向服务的架构 - 分布式的应用由可重用的服务组成
面向消息的架构 - 应用之间通过ESB发送和接受消息
事件驱动的架构 - 应用之间异步地产生和接收消息
协议的适配,消息的传递,智能路由,消息转换,任务/定时器,监控及可扩展的API。
ESB适用的场合?
服务化,服务虚拟化,异步通信和协议桥接。
服务化:将应用功能服务化,比如某个系统,并没有提供对外的服务接口或者提供的比较差强人意,可以考虑使用ESB。
服务虚拟化:电话的例子比较能说明问题,通常情况下你打电话只是要拨通号码,而不需要知道对方的实际位置,号码就是虚拟的服务,而实际的应用在后台进行管理。
异步通信:处理异步的消息或者异步的请求。
协议桥接:多协议之间的转换。
使用Apache Synapse
Apache Synapse有什么功能?
1,协议适配器
2,面向消息的中间件,可以配置与任何JMS兼容的消息系统交互
3,基于XML的可靠消息传递
4,智能路由和分发,可以实现多种方式的过滤
5,消息转换服务
6,任务/定时器,可以支持类似unix/linux的cron那样的复杂精细的排程
7,服务质量提供及web中介服务,可以实现负载均衡,故障转移的规则逻辑,可以实现消息级别的划分
8,监控和管理,提供JMX监控的支持
9,可扩展的API
这篇关于ESB的介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!