内容


用于企业服务总线的类 USB 通用端口类型,第 3 部分

通用端口的优势

了解用于 ESB 的通用端口的诸多优势

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 用于企业服务总线的类 USB 通用端口类型,第 3 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:用于企业服务总线的类 USB 通用端口类型,第 3 部分

敬请期待该系列的后续内容。

简介

企业服务总线 (ESB) 提供了有效的途径来彼此连接应用程序,并共享数据和功能。这些应用程序可以采用不同形式的服务来公开其部分或全部功能。图 1 展示了当前可用的 ESB 的这种特点。在这张图片中,需要注意的最重要的一点是,每个应用程序都使用一种特定的端口类型连接到 ESB。换句话说,每种端口类型都适用于一种特定类型的应用程序,此类应用程序将使用特定的通信协议和消息/数据格式类型来公开其功能。

图 1. 应用程序使用特定端口类型连接传统 ESB
应用程序使用特定端口类型连接传统 ESB
应用程序使用特定端口类型连接传统 ESB

在第一期(本系列的第 1 部分)中,我们了解了当前可用的、使用特定端口类型的 ESB 的部分常见问题。这些问题和难题包括一个应用程序使用多种通信协议、一个应用程序切换应用程序、将 ESB 的用途扩展到新通信协议、针对大量应用程序的可伸缩性,以及 ESB 的一般维护和更新。

为了克服当今 ESB 的这些缺陷,第二期(本系列的第 2 部分)中介绍了一种新的 ESB 类型。这种新的 ESB 类型采用单独一种适合大多数或全部应用程序类型的通用端口类型,如图 2 所示。这能消除为每种新类型的应用程序开发和部署新端口类型的需求,并能促成更出色的代码重用。

图 2. 应用程序使用单独一种端口类型(通用端口)连接到 ESB
应用程序使用单独一种端口类型(通用端口)连接到 ESB
应用程序使用单独一种端口类型(通用端口)连接到 ESB

为了理解通用端口类型的概念,采用同一种计算机硬件(例如 PC)进行类比将大有裨益。在 USB 端口出现之前,为了将各种不同的设备(例如打印机、闪存或移动硬盘)连接到计算机,计算机需要具备不同的端口类型。每种端口类型都适用于一种特定的设备类型。因此,要将打印机连接到计算机,则必须在计算机中构建一种特定的端口类型。类似地,计算机必须提供不同的端口类型来连接额外的硬盘驱动器。然而,随着近来 USB 端口的出现,为每种设备类型使用独立端口类型的需求已经不复存在,如今,几乎任何设备均可使用一种称为 USB 端口的端口类型连接到计算机。

这种采用通用接口的新型 ESB 提供了超越传统 ESB 的诸多优势。部分此类优势非常注重 ESB 方面,而其他一些优势则注重连接应用程序方面。在下一节中,我们会先探讨 ESB 方面的优势。

ESB 方面的优势

在 ESB 方面,使用通用端口的最重要的优势如下:

简单性

在 ESB 中实现了通用端口之后,大多数 ESB 用户均将看到在 ESB 使用方面的显著简化。这种简单性主要源于通用端口 配置的简化。由于各端口背后的代码都可能是相同的,因此惟一重要的配置要素就是将通用端口与运行 ESB 的机器或计算机上的端口相关联。当前几乎所有端口都是自定义端口,而且端口类型的增长是无序的,与这种情况相比,使用通用端口是一种非常明显的改进。还有必要注意的是,与现有 ESB 端口组件相比,通用端口 是一种极为轻量级的组件。通用端口的惟一目标就是确定连接应用程序所用的通信协议,随后将请求转发至 ESB 主体内恰当的协议处理程序,如图 3 所示。

图 3. 作为一种轻量级的组件,通用端口的大部分处理均在 ESB 主体内完成
通用端口是一种轻量级组件
通用端口是一种轻量级组件

易扩展性

可以轻松扩展 ESB 来服务新通信协议。实际上,它使您可以通过下载代码、向 ESB 注册新协议来安装新的协议处理程序。为了理解这种可扩展性,请考虑通过 USB 端口连接一个新硬件设备的类比。称为驱动程序的代码通常是从一个网站中下载并进行注册的。类似地,这就是使用 ESB 端口时开始使用一种新协议所需具备的一切。

代码重用性和易于维护与更新

在新模式中,各协议都有一份代码副本位于 ESB 主体之中。这与当前的 ESB 实现形成了鲜明对比,当前 ESB 实现中,针对每种协议的代码属于单独的 ESB 端口,相同代码的多份副本可存在于不同 ESB 端口之中。因此,通用端口能够提供更高的代码重用性。这样的代码重用将带来更为一致的 ESB 行为。此外,由于代码只存在于单独一个位置,因此更易于维护和更新。

可伸缩性

由于在 ESB 上配置端口的过程得到了极大的简化,因此可以轻松快捷地配置大量端口。这将允许大量多种类型的应用程序连接到 ESB,从而在可集成的应用程序的类型和数量方面实现极高的可伸缩性。通用端口的使用也在对 ESB 的调用数量方面带来了运行时可伸缩性。这种类型的可伸缩性之所以能够实现,是由于各协议处理程序将作为 ESB 主体的一部分,每种协议处理程序可以有多个实例,每个此类协议处理程序都可被多个通用端口重用。

应用程序方面的优势

(在连接应用程序方面)使用通用端口的最重要的优势如下:

无需更改代码

引入通用端口时,不需要对当前连接到 ESB 的应用程序做出任何重大修改,甚至完全不需要修改。这是一项非常显著的优势,因为从传统 ESB 过渡到采用通用端口的新 ESB 类型时,可以在应用程序注意不到变化的情况下完成过渡。

使用任何协议的自由

通常情况下,应用程序的运行时环境仅允许应用程序单向/使用一种协议连接到 ESB,而这种协议必须与 ESB 给定端口上可用的协议匹配。举例来说,为了使一个应用程序能够使用 MQ 作为传输机制,必须在运行应用程序的机器上安装某个版本的 MQ。使用通用端口将允许一个应用程序使用运行时环境允许的任何协议,应用程序协议与 ESB 端的协议相匹配的问题不复存在。这也能减少应用程序端的部分运行时需求。

切换协议的便捷性

在 IT 世界中,需求可能会频繁发生变化。此外,还有可能出现新的需求。具体来说,变化的需求可能要求更改应用程序用于连接至 ESB 的通信协议。此类新增或变化的需求的示例包括:有关事务、安全性、可靠性和持久的新需求。通过使用通用端口,可以让应用程序能够极为轻松地随时切换协议,因为 ESB 端不需要任何更改(或者仅需更少的更改)。

应用程序使用多种协议

一个应用程序的不同组件/部分使用不同的协议与 ESB 和其他应用程序进行通信并不少见。例如,大型机上运行的遗留 (COBOL) 应用程序的不同部分常常会使用不同的协议,例如 Web 服务、MQ 或网关等。通用端口的使用允许应用程序的不同部分使用相同的计算机端口连接到 ESB。这有助于简化此类连接的配置。

结束语

在这一期(本系列的第 3 部分)中,我们已了解到,与采用特定于通信协议和消息格式类型的端口的传统 ESB 相比,采用通用端口的新型 ESB 有着许多的优势。部分此类优势注重 ESB 方面,而其他一些优势则注重连接应用程序方面。

有关采用通用端口的新型 ESB 的系列文章至此结束。在本系列的第 1 部分中,我们了解到,当前可用的 ESB 采用了特定于通信协议和消息格式类型的端口,这样做存在许多相关问题。在本系列的第 2 部分中,您学习了通用端口的概念以及如何实现这些通用端口。最后,在本系列的第 3 部分中,我们了解了使用通用端口类型有着诸多优势,无论是在 ESB 方面还是在连接应用程序方面。有必要说明的是,IBM 在这个领域拥有正在申请的专利,您可以在这些专利申请中找到有关本文所述概念的更多细节。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services
ArticleID=806135
ArticleTitle=用于企业服务总线的类 USB 通用端口类型,第 3 部分: 通用端口的优势
publish-date=03192012