【问题标题】:Platform independent streams平台无关的流
【发布时间】:2011-11-19 10:19:38
【问题描述】:

我们有两个系统,一个基于 JMS,另一个基于 WebSphere MQ。 客户端 A 向 JMS 中配置的主题发送消息。另一个客户端 B 通过 WebSphere MQ 中配置的 Topic 接收此消息。

我怎样才能进行这种交流?建这座桥有哪些注意事项?如果桥接是解决方案,我该如何构建它?

【问题讨论】:

    标签: jms ibm-mq


    【解决方案1】:

    根据您的描述,我假设其中一个客户端是用 Java (JMS) 编写的,而另一个客户端是用另一种语言编写的,并且两者都可以访问同一个队列。 MQ-Series 是一种排队产品,JMS 是一种 Java API(就像 JDBC 之于关系数据库)。 MQ 系列支持 JMS API,因此在传递消息时没有问题。 JMS 可能是可能的 MQ 系列功能的一个子集。

    确保双方都能理解内容。标准方式是在消息中使用 XML。但是您可以使用两个客户端都可以理解的任何其他格式。您还可以使用 CSV(逗号分隔值)、JSON(JavaScript 对象表示法),甚至还有像 Hessian 这样的跨平台二进制格式。

    但是,如果您可以更具体地了解参与者以及您想要传达的信息类型,您可能会得到更具体的答案。

    【讨论】:

    • 这些客户端、监听器和接收器可以在任何平台和操作系统上。例如Unix、Solaris、Windows 等...消息以字节格式发送,据我所知,每个平台和操作系统都可以有自己的字节编码方式。如何使通信独立于平台??
    • 我找到了一个 RFC 3072,它讨论了打包和解包架构中性二进制数据。 java 是否以原生方式支持它,还是我需要寻找 III 方库?
    • 字节流就是字节流,由你定义协议。所有平台的流都是相同的。平台之间的区别在于流被解释为形成的方式,例如。字或双字。如果您指定数据在流中的编码方式,其他平台将不得不根据规范调整实现。如果您基于例如构建自己的内容,Hessian 是更高级别二进制协议的示例。 Hessian(还有很多其他可能性)你要做的工作更少。
    猜你喜欢
    • 1970-01-01
    • 2019-04-12
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2013-10-16
    • 2011-04-02
    • 1970-01-01
    相关资源
    最近更新 更多