企业级集成和ESB
ESB是什么?
ESB是一个主要依赖XML消息交换的企业级消息系统,这种消息继而被智能的通过一种非集中式的架构路由和转换。
开源的ESB?
Mule,ServiceMix,Apache Synapse,JBoss ESB,Sun的OpenESB和Apache Camel等。
ESB和SOA之间的关系?
ESB的历史?
MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
面向消息的中间件使用消息传送提供者来协调消息传送操作。MOM系统的基本元素是客户端、消息和MOM提供者,后者包括API和管理工具。MOM提供者使用不同的体系结构路由和传送消息:它可以使用集中式消息服务器,也可以将路由和传送功能分布在每个客户端上。某些MOM产品结合了这两个方法。
使用MOM系统,客户端可以进行API调用,以便将消息发送到由提供者管理的目的地。该调用会调用提供者服务以路由和传送消息。在发送消息之后,客户端会继续执行其他工作,并确信在接收方客户端检索该消息之前,提供者一直保留该消息。基于消息的模型与提供者的协调耦合在一起,使得创建松散耦合的组件系统成为可能。这样的系统可以继续可靠地工作,即使在有个别组件或连接失败时也不会停机。
由消息传送提供者协调客户端之间的消息传送的另一个优点是:通过添加管理界面,可以监视和调整性能。这样,客户端应用程序便不必关心发送、接收和处理消息之外的任何问题。对于互操作性、可靠性、安全性、可伸缩性和性能之类的问题,应当由管理员通过编码实现MOM系统来解决。
至此,我们已经介绍了使用面向消息的中间件连接分布式组件的很多优点。下面将介绍其缺点。缺点之一源自松散耦合本身。在RPC系统中,只有在被调用函数完成任务之后,才能返回调用函数。在异步系统中,调用方客户端会继续为接收方装入工作,直到处理装入工作所需的资源耗尽且被调用组件发生故障。当然,可以通过监视性能和调整消息流来尽量减少或避免这些情况,但对于RPC系统却不必这样做。有一点很重要,那就是了解每种系统的优缺点。每种系统所适合执行的任务都不同。有时,您需要结合两种系统才能完全获得所需的行为。
看一下结构
使用这种结构最大的优点是它是非集中式的。
将其扩展一下,将集成中介改为服务适配器,这样的功能就完全可以实现ESB了。
ESB的核心功能?
ESB适用的场合?
使用Apache Synapse
Apache Synapse有什么功能?