【问题标题】:What cross-language messaging protocols are included in WebSphere Liberty?WebSphere Liberty 中包含哪些跨语言消息传递协议?
【发布时间】:2016-11-10 18:00:48
【问题描述】:

article 谈论通过 rtcomm 库上的 MQTT 支持 IBM WebSphere Liberty WebRTC。

我对在 WebSphere Liberty 上的 Java EE JMS(队列/主题)目标和用其他语言编写的客户端之间交换消息感兴趣。

是否可以通过 MQTT 从客户端连接到 WebSphere Liberty 并与 JMS 目标交换消息?

WebSphere Liberty 是否支持其他跨语言消息传递协议,例如 AMQP 或 STOMP?

【问题讨论】:

  • 1) MQTT 是一种适用于传感器等受限设备的协议。我怀疑它对点对点消息传递有用。 2) Liberty 支持 JMS。只要您的目标协议和 JMS 之间有接口,您就应该能够使用该协议。 3) 如果您可以考虑基于产品的解决方案,请尝试IBM Integration Bus,它可以即时转换消息。
  • @XSurgent 非常感谢!这回答了我的问题 1: none 2: only with extra coding 3: no ;)
  • 乐于助人。我应该将我的评论扩展为答案吗?

标签: java jms websphere mqtt websphere-liberty


【解决方案1】:

在消息传递方面,WebSphere Liberty 支持 JMS,如 here 所述:

Liberty 支持将异步消息传递作为一种基于 Java™ 消息服务 (JMS) 编程接口的通信方法。 JMS 接口为 Java 程序(客户端和 Java EE 应用程序)提供了一种通用方式来创建、发送、接收和读取作为 JMS 消息的异步请求。

因此,Liberty 不会自行实现 MQTT 协议(或任何其他消息传递协议)。它通过中介使用协议。以类似的方式,只要有一个 JMS 接口来访问和操作使用所述协议传输的消息,Liberty 就可以实现任何消息传递协议。

在作为问题一部分的链接文章中,这是由“MQTT 消息代理”组件完成的。文章中的两个例子是:

  1. IBM MessageSight - 基于设备的消息传递服务器。
  2. WebSphere MQ Telemetry - 在 WebSphere MQ 服务器上运行的服务。

IBM 红皮书详细介绍了将 WebSphere MQ Telemetry 服务与 MQTT 协议结合使用:Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry

MQTT 协议本身旨在支持受限设备。引用:

MQTT 消息传递协议专为受限环境中的设备而设计,例如处理能力有限的嵌入式系统和内存或连接到不可靠网络的系统。

此外,MQTT 依赖于发布/订阅模型,不提供点对点消息传递。

对于问题中提到的与语言无关的消息传递要求,您可以考虑基于产品的解决方案,即企业服务总线 (ESB)。 ESB 用于在通信系统之间路由、转换和操作传输中的消息。

商业 ESB 的示例是 IBM Integration Bus、Oracle Enterprise Service Bus 和 SAP Process Integration。开源替代品包括 Apache Camel、JBoss ESB 和 Mule ESB。

【讨论】:

    【解决方案2】:

    每个 JMS 连接都需要一个 JMS 提供者——你的 JMS 代码连接到的东西。

    根据该提供程序是什么,您可以从其他语言连接到该提供程序。 JMS 提供者必须为其他语言提供非 JMS 接口。

    例如,您可以使用 IBM MQ 或 AMQP 等作为 JMS 提供程序,然后使用 MQ 或 AMQP 等提供的接口从其他语言(如 python 或 ruby​​)或 JMS 提供程序支持的任何语言进行连接。

    据我所知,唯一具有 JMS 接口的 MQTT 协议服务器是 IBM IOT MessageSight。它为您提供基于发布/订阅和队列的支持。但是基于队列的支持只能从 MessageSight JMS 接口获得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2011-04-05
      • 1970-01-01
      • 2010-10-31
      • 2014-12-23
      • 1970-01-01
      • 2022-09-29
      相关资源
      最近更新 更多