2016-07-08 45 views
-1

article通过rtcomm库通过MQTT讨论IBM WebSphere Liberty WebRTC支持。WebSphere Liberty中包含哪些跨语言消息传递协议?

我感兴趣的交换Java EE的JMS(队列/主题),这是其它语言编写的在WebSphere自由和客户目的地之间的消息。

是否有可能来自MQTT客户到WebSphere自由和交换消息与JMS目的地连接?

不自由的WebSphere支持其他跨语言的通讯协议,如AMQP或STOMP?

+0

1)MQTT是一个协议,用于受限设备,如传感器。我怀疑这对于点对点消息传递是否有用。 2)Liberty支持JMS。只要你的目标协议和JMS之间有一个接口,你就可以使用这个协议。 3)如果您可以考虑基于产品的解决方案,请尝试[IBM Integration Bus](https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ah36080_ .htm),它可以实时转换消息。 – Haxiel

+0

@XSurgent非常感谢!这回答了我的问题1:无2:只有额外的编码3:没有;) – mjn

+0

乐意提供帮助。我应该将评论扩展为答案吗? – Haxiel

回答

0

在消息传送方面中,WebSphere自由支持JMS,如记录here

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

因此,Liberty本身并未实现MQTT协议(或任何其他消息协议)。它利用协议使用中介。以类似的方式,只要存在JMS接口来访问和操纵使用所述协议传输的消息,任何消息传递协议都可以由Liberty实现。

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

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

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

MQTT协议本身被设计为支持受限设备。引用:

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

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

对于在问题中提到的语言无关的消息需求,可以考虑以产品为基础的解决方案,这是一个企业服务总线(ESB)。 ESB用于路由,转换和操纵通信系统之间的在途信息。

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

0

每个JMS连接都需要一个JMS提供程序 - 这是您的JMS代码连接到的东西。

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

作为示例,您可以使用IBM MQ或AMQP等作为JMS提供程序,然后使用由MQ或AMQP等提供的接口从Python或Ruby等其他语言或JMS提供程序支持的任何语言进行连接。

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