扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:论坛整理 2007年11月17日
关键字:
什么是 SIBus?
SIBus 是基础 WebSphere Application Server 中服务集成功能的非正式名称(也是 Websphere Application Server 管理控制台上的链接)。了解 SIBus 的主要功能很有帮助,因为只有一种功能将来可用作由 WebSphere ESB 构建的 ESB 的一部分:
SIBus 的核心是一个用 Java 编写的完整 JMS V1.1 提供
称为 MQLink 的 SIBus 功能提供指向 MQ 队列管理器的“链接”。对于 MQ,SIBus 相当于另一个队列管理器,对于 SIBus,队列管理器相当于另一个 SIBus。此功能经常与 WebSphere ESB 6.0.1 一起使用,以链接 MQ 系统——不过,在 WebSphere ESB 6.0.2 中,本机 SCA MQ 绑定是连接 MQ 的首选方法。
SIBus 支持 Web 服务。WebSphere ESB 将 SCA 绑定用于不使用 SIBus 的 Web 服务。
SIBus 具有使用服务数据对象的
总之,在后续文章中,我们重点将 SIBus 用作 WebSphere Application Server 的缺省 JMS 提供程序,将不使用 SIBus 的其他功能。
术语“SIBus”实际上包括多个不同的部分,在将其与 WebSphere ESB 比较时,我们需要分别对它们进行分析。在 WebSphere Application Server 中,SIBus 的核心是消息传递基础结构和缺省的 JMS 提供程序,因此,在此基础上构建的每个 WebSphere 产品都使用此缺省的 JMS 提供程序进行消息传递。而且,所谓的中介处理程序可以动态访问消息。最后,称为 MQLink 的功能支持 SIBus 和独立 WebSphere MQ 环境之间的集成。考虑到这些后,让我们看一看 WebSphere ESB 和 SIBus 之间的关系,特别是了解二者关联的以下五种方式:
为构建 ESB,WebSphere ESB 和 WebSphere Integration Developer 提供了 SIBus 没有的功能
不过,在仅使用 SIBus 功能时,配置过程可能非常麻烦,需要多个手动步骤。而且,必须手动编码中介(在 SIBus 中,称为中介处理程序),而没有任何工具支持。
由于 WebSphere ESB 是通过策略 SCA/SDO 编程模型构建的,所以在 WebSphere Integration Developer 中有强大的工具,通过可视化的导入和导出接口结构简化了中介流组件的
SIBus 中介处理程序框架根本不支持对流进行可视化建模的概念。可以回忆一下以前的系列文章,必须将处理程序创建为实现特定接口的普通
此外,对于同步调用,WebSphere ESB 支持不同的交互模式与请求和响应消息的自动关联,而对于为异步调用组件,则支持 SCA API,从而在请求和响应之间提供回调
因此,WebSphere ESB 和 WebSphere Integration Developer 的组合创建了功能强大的开发和运行时工具集,大大加快了 ESB 的开发速度,这是 SIBus 无法比拟的。
WebSphere Application Server/SIBus 将 JMS 提供程序用作 WebSphere ESB JMS 绑定的缺省 JMS 提供程序
WebSphere ESB 就像 WebSphere 家族中的许多其他产品一样,是基于 WebSphere Application Server 构建的。它使用 J2EE™ 运行时以及应用服务器支持的其他功能;例如,支持集群的功能和工作负载管理。SIBus 是 WebSphere Application Server 的功能特征;因此,每个 WebSphere ESB 安装也自动含有 SIBus 功能。
与 SCA 组件(例如 WebSphere ESB 中介流组件)通信的一种方式是使用 JMS 绑定。客户机或请求程序通过 JMS 将消息发送到 ESB;而对于请求/响应操作,则通过独立 JMS 队列接收响应消息。WebSphere ESB 利用缺省 JMS 提供程序来提供 JMS 实现。因此可以这样说,从 JMS 角度而言,WebSphere ESB 位于 SIBus JMS 提供程序之上并使用该提供程序,或者说 WebSphere ESB 和 SIBus 是互补的。注意,当为 WebSphere ESB 创建 JMS 绑定时,WebSphere Integration Developer 工具会自动生成所需的 SIBus 构件(如目的地等),从而使用对用户透明的 JMS 提供程序。
SIBus 中介和 WebSphere ESB 中介之间的差异
如上所述,WebSphere ESB 和 SIBus 都提供中介功能。WebSphere ESB 可让您开发自已的自定义中介基元,而 SIBus 则利用中介处理程序框架。但是一定要注意,二者的中介框架实现、API、包装和管理模型是不同的。
几乎在任何情况下中介都需要访问消息本身,以便操作、记录和转换消息,不管在任何特定用例下,都是如此。SIBus 和 WebSphere ESB 将 SDO 用作通过总线的消息流的表现机制。对于 WebSphere ESB,使用称为 Service Message Objects (SMO) 的 SDO 扩展。因此,尽管消息的准确表示形式在两种技术中不同,但是访问消息内容所需的代码类似。
在大多数情况下,从 SIBus 迁移到 WebSphere ESB(反之亦然)需手动执行——迁移的复杂性取决于中介代码执行的内容。在本系列的后续文章中,我们将向您介绍如何替换我们开发的现有中介处理程序,以便在使用 WebSphere ESB 时可以通过 SIBus 与自定义中介基元一起使用,我们还将讨论迁移时的注意事项。
另外,SIBus 还提供非预构建的中介处理程序,而 WebSphere ESB 附带大量的中介基元,因此您可能根本不需要编写自定义代码。
将 SIBus MQLink 与 WebSphere ESB 一起使用
由于 SIBus 充当 WebSphere Application Server 的 JMS 提供程序,因此每当需要 JMS 功能时,WebSphere ESB 可以重新使用它,您可以利用 SIBus 提供的其他功能轻松地将 WebSphere ESB 与现有 WebSphere MQ 环境集成。
SIBus 通过其 MQLink 功能提供到 WebSphere MQ 的连接,该连接使 SIBus 实例能够像另一个队列管理器一样与 MQ 队列管理器通信。这可以将消息从 MQ 客户机发送到 MQ 队列,然后将消息自动转发到 SIBus 中的目的地。在此基础上,通过 JMS 导出将消息发送到中介流组件。类似地,还可以从 WebSphere ESB/SIBus 中将消息发送到实际上是 MQ 队列的目的地。
不过,使用此方法将 WebSphere ESB 与 WebSphere MQ 集成存在一些缺陷。开发人员必须熟悉和使用配置的 SIBus 资源,而且在 MQLink 支持的故障转移的配置上还存在一些限制。
在 WebSphere ESB V6.0.2 中,添加了新的 MQ SCA 本地绑定,我们建议在 MQLink 上使用该绑定。
SIBus 和 WebSphere ESB 基础结构的共存和集成
最后一点是 WebSphere ESB 和 SIBus 可以共存,并且可以集成独立的实例。如果您已经具有现有 SIBus 环境,那么您可以通过消息引擎的配置将一个或多个 WebSphere ESB 实例迁移到该环境,并且通过外部总线链接跨计算单元进行迁移。SIBus 和 WebSphere ESB 可以通过多个协议(例如通过 SOAP/HTTP 或 JMS)交换消息。您可以在不影响现有 SIBus 中介的情况下,通过中介流组件开始运行消息,并且每当您做好准备时,就可以将中介从 SIBus 迁移到 WebSphere ESB。
结束语
对于此系列文章中的后续文章,我们将继续使用以前的技术场景。在这些文章中,我们将:
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者