首页 理论教育 ESB:关键组件,提升Web服务组合应用可靠性

ESB:关键组件,提升Web服务组合应用可靠性

时间:2023-10-31 理论教育 版权反馈
【摘要】:就像J2EE应用离不开应用服务器一样,SOA的开发需要SOA体系的支撑,支持着整个SOA的关键组件即企业服务总线。ESB可以作用于:①面向服务的架构——分布式的应用由可重用的服务组成;②面向消息的架构——应用之间通过ESB发送和接收消息;③事件驱动的架构——应用之间异步地产生和接收消息。它有助于查看连接到ESB的组件,但并不是ESB的一部分。虽然一些网关技术可以提供适合于实现B2B Gateway组件和ESB的功能,但是B2B Gateway组件的用途是将其与ESB分离。

ESB:关键组件,提升Web服务组合应用可靠性

就像J2EE应用离不开应用服务器一样,SOA的开发需要SOA体系的支撑,支持着整个SOA的关键组件即企业服务总线(ESB)。SOA体系通过ESB将多个系统连接起来。ESB是SOA架构的一个支柱技术,它的出现改变了传统的软件架构。它可以提供比传统中间件产品更为低廉的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现不同服务之间的通信与整合。

ESB可以作用于:①面向服务的架构——分布式的应用由可重用的服务组成;②面向消息的架构——应用之间通过ESB发送和接收消息;③事件驱动的架构——应用之间异步地产生和接收消息。因此,ESB就是在SOA中实现服务间智能化集成与管理的中介。

从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。因此,它在SOA中扮演着重要的角色。从基础的角度而言,它代表着能够连接服务提供者和服务使用者的中枢和基础架构。作为一种消息代理架构,它通过使用诸如SOAP或JMS(Java Message Service,Java消息服务)等标准技术来提供消息队列系统。有人把ESB描述成一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用(如服务)和其他组件之间的互操作。

ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,它的主要功能有:通信和消息处理、服务交互和安全性控制、服务质量和服务级别管理、建模、管理和自治、基础架构智能等。ESB将当今正在使用的主要企业集成模式组合成一个实体,为SOA提供与企业需要保持一致的基础架构,从而提供合适的服务级别、可管理性以及异构环境中的操作。

图2.4 ESB为SOA提供的基础架构(www.xing528.com)

图2.4显示了ESB为SOA提供的基础架构,从图中可以看出,ESB需要某种形式的服务路由目录(Service Routing Directory)来实现路由服务请求。SOA可能还有单独的业务服务目录(Business Service Directory),其最基本的形式可能是设计时(Design-Time)服务目录,用于在组织的整个开发活动中实现服务的重用。Web服务远景在业务服务目录和服务路由目录中都放置了一个UDDI目录,从而可以动态发现和调用服务,这样的目录可以视为ESB的一部分。然而,在这样的解决方案变得普遍之前,业务服务目录与ESB可能是分离的。

业务服务编排(Business Service Choreographer)的作用是通过若干业务服务来组合业务流程。它通过ESB调用服务,然后再次通过ESB将业务流程公开为客户端可用的其他服务。然而,业务服务编排在编排业务流程和服务中所扮演的角色确定了这种业务工作流技术是一种与ESB分离的技术。

B2B Gateway(Business to Business Gateway,企业对企业网关)组件的作用是使两个或多个组织的服务在受控且安全的方式下对彼此可用。它有助于查看连接到ESB的组件,但并不是ESB的一部分。虽然一些网关技术可以提供适合于实现B2B Gateway组件和ESB的功能,但是B2B Gateway组件的用途是将其与ESB分离。事实上,这种用途可能需要附加的功能(如合作伙伴关系管理),这些功能不是ESB的一部分,并且不一定受到ESB技术的支持。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈