首页 理论教育 企业服务总线(ESB)模式:提升软件制造工程效率

企业服务总线(ESB)模式:提升软件制造工程效率

时间:2023-11-23 理论教育 版权反馈
【摘要】:企业服务总线是一个提供通信、安全、事务支持和服务质量控制等SOA要求的基础架构。在企业服务总线领域中,ESB提供了服务交互的功能。ESB架构在物理上既可能是中央集成,也可能是集群,或者是分布式等多种模式。图3-10中的椭圆形表示服务交互的上下文环境,如服务请求者连接的椭圆图形表示ESB提供给服务请求者名称空间、安全和事务模型等服务。图3-10入站端口和出站端口ESB模型ESB对服务请求者和服务提供者之间的交互特性进行中介协调。

企业服务总线(ESB)模式:提升软件制造工程效率

在当前的工业界中,关于ESB到底是什么有多种不同的定义,然而大多数组织都将ESB描述为一个提供通信整合服务以支持SOA的逻辑基础架构组件。业界有很多相似的观点,将ESB描述成SOA基础架构中的一种模式,其中包含多种实现技术。这包含多年来客户关于服务总线实现的观察。ESB只是一些具有基础架构性能的模式,它能以多种形式实现,很多企业的技术产品会被包装到行业现有的ESB产品中。

企业服务总线是一个提供通信、安全、事务支持和服务质量控制等SOA要求的基础架构。ESB通过提供一个服务的地址和命名控制点来提供这些性能。服务请求者通过以特定的地址和协议调用服务来访问ESB。

在企业服务总线领域中,ESB提供了服务交互的功能。

(1)ESB暴露出一系列的端口给服务请求者,每一个端口中定义了一个特定的通信协议和一些地址,通过这些协议和地址可以访问到ESB。

(2)ESB应用若干端口整合服务提供者,每个端口支持一个特定的通信协议和若干可以访问到提供服务的地址。

(3)ESB包含一些执行部件(集线器模块),提供了在服务提供者端口和服务请求者端口之间完成服务交互的服务总线功能。在前面已经了解了集线器模块提供代理和路由的功能。这些流程模块可能会以不同的物理模式分布,但它们都共享一个公用的管理和配置架构。配置模块可能会被发布为管理模块的一部分,也可能是一个独立的模块。

这种ESB建模方式将影响到单个ESB的有效范围:

(1)一个单独的ESB提供了访问若干良好定义(Well-Defined)的服务方式,这些服务由一个或多个服务提供者提供,ESB控制对于服务请求者可见的调用协议和地址,通过这些服务请求者可以调用服务。

(2)一个单独的ESB由一个管理架构模块进行控制。同时需要注意在这个定义中隐含的一些信息。

(3)一个单独的ESB可能和多个协议关联,事实上,通常当讨论类似于“HPPT服务总线”的概念时,ESB首先是和若干服务实现相关联,然后才是若干协议。

(4)ESB架构在物理上既可能是中央集成,也可能是集群(Cluster),或者是分布式等多种模式。

(5)一个单独的管理模块是为了提供一个单独的控制点,在最初的讨论中可以将其理解成ESB架构的一部分。(www.xing528.com)

端口是服务总线中的重要概念,一个端口包含一个协议、一个或多个地址、一个特定的方式处理服务交互的特性(如事务、安全等)。

端口又可分为入站端口和出站端口,端口的定义包括一个入站端口可以基于特定的协议侦听特定的地址,然而,多个出站端口可以通过同样的协议使用同一个地址。实现入站和出站的端口可以不同。例如,如果ESB是以IBM Web Service Gateway实现的,那么入站端口就是网关通道(Gateway Channel),如HTTP通道,这些通道以特定的服务器地址和特定的端口响应服务请求。出站端口实现为WSIF处理器(WSIF Handlers),它们通过HTTP、RMI或MQ协议调用服务。它们既可以从一个特定的MQ消息队列中接收消息,也可以侦听HTTP请求。而出站端口就是消息流中的导出端点(Output Nodes),它们既可以将消息放置到特定的MQ消息队列中,也可以调用HTTP请求进行响应。图3-10展示了这种ESB模型,这个模型中描述的ESB实现在一个企业内部,就像“企业服务总线”这个名称所表示的一样。这个定义将在书中一直使用,但有时需将“企业”这个名词灵活地理解成组织或者一个管理区域。图3-10中的椭圆形表示服务交互的上下文环境(Context),如服务请求者连接的椭圆图形表示ESB提供给服务请求者名称空间、安全和事务模型等服务。

图3-10 入站端口和出站端口ESB模型

ESB对服务请求者和服务提供者之间的交互特性进行中介协调(Mediate)。它支持通信和服务交互对SOA架构所提出的要求。

图3-11所示为ESB提供的多种中介服务,如为服务请求者提供语义接口、在基于不同语言和平台实现的服务请求者之间定义接口、处理协议转换、提供地址透明支持、处理数据格式转换、提供可靠的传输和错误处理、安全控制等。

图3-11 ESB提供的多种中介服务

服务位置的透明性是企业服务总线的重要特性,如图3-12所示,ESB支持服务提供者的替换或服务实现对服务请求者的透明,这既可以是同一个服务提供者以若干种不同的方式实现,也可以是将若干个不同的服务提供者集中到一起抽象成一个服务提供者。

图3-12 ESB支持服务提供者的替换或者服务实现对服务请求者的透明

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

我要反馈