| 免费下载:IBM® WebSphere® MQ V7.0.1 试用版 |
|---|
| 下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。 |
IBM® WebSphere® MQ Telemetry 将 WebSphere MQ 提供的通用信息主干扩展到了大范围的远程遥感器、传动器和遥测设备。它使用 MQ 遥测传输 (MQTT) 协议支持您使用 IBM MQ 技术来监测企业传感器。 MQTT 是由 IBM 开发的信息传递协议,以前可用于 WebSphere Message Broker 并由 IBM 捐献给开源社区。WebSphere MQ Telemetry 包含一个客户端 Java 库,可用来开发支持 MQTT 的代码。
另一种日益流行的用来监测传感器和设备的技术是 Pachube。Pachube 和 MQTT 是物联网的支持技术,预计会成为 IBM 智慧地球计划设想的互联化、仪器化世界中的重要角色。
Pachube 现在拥有约 120,000 名用户(据 statshow.com 统计),越来越多的供应商(如 CurrentCost)用它来提供传感器互联。在许多不同的环境中,IBM MQTT 协议被用来连接各种传感器系统。
本文讨论了集成两个系统的难题,并提出了可能的解决方案,包括一个用来集成网络的工具。本文对使用这两个系统或仅仅比较它们的用户非常有用,所提及的工具对于集成两个系统的用户应该非常有用。
Pachube-MQTT 桥的系统设计包括将信息从 Pachube Feed 发布到 MQTT 主题,并侦听 MQTT 主题,以获得发布到 Pachube Feed 的信息。如下所示:
Pachube-MQTT 桥的系统设计,将 Pachube Feed 映射到 MQTT 主题,反之亦然

MQTT 的设计是从小组开始,用一种易于理解的方式用基于 “主题” 提供发布/订阅信息模型。由于协议是通过免版税许可证公开发布的,所以很多客户端和 Broker 实现因为它而存在。通常,会将个人数据来源映射到 MQTT 主题,这意味着每个传感器的信息来源都有自己的主题。
新的 WebSphere MQ Telemetry 版本包含一个简单的 Java 客户端,您可以用这个库来监听更新,并将这些更新提交给主题。
连接 MQTT 和 Pachube 时,需要监听 Pachube Feed,以获得发布到 MQTT 主题上的信息,并将来自 MQTT 主题的信息发布到 Pachube Feed 上。
Pachube API 利用 HTTP 协议提供用来向系统发布 Feed 更新以及从系统检索 Feed 更新的接口。自动发布 Feed 更新只需使用 PUT 通过 HTTP 将数据推入即可。尽管可以通过 “轮询” 获得 Feed 更新,但 Pachube API 仍然提供了注册显式监听器的功能,支持 Pachube 将更新 “推入” 应用程序。监听器必需实现一个基本的 HTTP 协议子集,然后才能实现 Pachube API 这一部分。
使用 Apache HttpClient 库将更新发布到 Pachube 系统,并使用 Jetty lightweight web 服务器实现监听组件。此外,Pachube 将 Feed 更新推入 JSON 封套中的监听器,因此您可以使用 Jackson JSON 库来实现该结构的反序列化。
任何连接两个网络的尝试都必须考虑两个系统之间的差异,将此作为设计的一部分。
作为协议,MQTT 没有节流功能。然而,Pachube 实现了对客户端的多级调节,从而减少了客户端系统的流量,并为他们的优质用户提供了区分器。节流在将更新发布到 Pachube 方面变现尤为明显,基本网站成员每分钟只允许更新三次。因此,任何集成都必须以智能的方式来处理发布节流;简单的实现可能会丢失更新,或无法更新接收更新的频率较低的 Feed。下面的算法提供了一个公平的解决方案,平衡了提供及时更新的需求与尽量减少信息丢失的需求:
- 在收到来自 MQTT 主题的更新时,要确定目标 Feed 并将更新添加到内部队列结构。如果目标 Feed 的队列中已经存在更新,则用新值替换它,但要保留原来的时间戳。
- 每次允许使用 Pachube 节流解决方案时(如果每分钟更新三次,则每 20 秒更新一次),都要从内部队列结构中获得带有 oldest 时间戳的更新,将它发布到 Pachube,并从内部队列结构中移除它。
这个算法并不是很完美,并存在某些边缘情况。然而对于中低吞吐量的大多数情况,这个算法应该足够用了。下面介绍的基本集成工具使用了类似的算法。
两种技术都提供了身份验证功能,但授权的级别不同。
MQTT 协议允许 Broker 使用用户名和密码有选择地控制访问,但在通过身份验证之后,所有操作均被授权。
Pachube 允许使用 Web 界面的任何用户读取当前的所有数据。对于自动实现,身份验证是使用 API 密钥来控制的。所有的 API 密钥都被授权,以注册用于任何 Feed 的监听器,其中一些 API 密钥都被授权是为了让 Feed 的所有者发布 Feed 更新。
因此,连接工具至少必须能够使您在每个 Feed 的基础上配置 Pachube API 密钥。
本文提供了一个基本工具,该工具使用上面描述的原则在 Pachube 网络和 MQTT 协议之间提供了一个简单的集成桥梁。您可以在下面下载它,并将它从压缩文件中提取出来,然后按照以下说明来安装和配置它:
- 安装:下载 lib/README.txt 文件中列出的 JAR 文件来运行程序。
- 配置:将 config.xml.dist 复制到 config.xml,并编辑它,使其满足您的需求。
- 执行:根据您的系统类型运行 bridge.bat 或 bridge.sh。
- 调试:编辑 log4j.properties 文件来设置每包的调试级别。
本文展示了如何使用新的 WebSphere MQ Telemetry 功能来连接 Pachube 和 MQTT 网络并共享它们之间的数据。本文还介绍了一个用来连接两个网络的基本工具。
| 描述 | 名字 | 大小 | 下载方法 |
|---|---|---|---|
| Code sample | mqttPachubeBridge.zip | 30KB | HTTP |
学习
- WebSphere MQ 和相关资源
- MQ 遥测传输(MQTT)协议
MQTT 协议由 IBM 创建并捐赠给开源社区,mqtt.org Web 网站上有该协议的描述。 - WebSphere MQ Telemetry
WebSphere MQ V7.0.1 及其更高版本中提供了遥测功能,还提供了对 MQTT V3.1 协议以及与 WebSphere MQ 的互操作性的全面支持。 - Pachube
访问 Pachube 网站并探索可用的 Feed。 - 物联网
Juniper 网络公司的社会商业战略家 Adam Christensen 在 asmarterplanet.com 网站上的评论。 - WebSphere MQ 开发人员资源页面
技术资源,帮助您使用 WebSphere MQ 设计、开发和部署消息传递中间件,以便在几乎任意平台上集成应用程序、web 服务和事务。 - WebSphere MQ 产品页面
产品说明,产品新闻,培训信息、支持信息等。 - WebSphere MQ 文档库
WebSphere MQ product manuals 产品手册。 - WebSphere MQ V7 信息中心
可以访问所有 WebSphere MQ V7 文档的 Web 门户,包含关于安装、配置和使用 WebSphere MQ V7 的概念、任务和参考信息。 - IBM 红皮书:WebSphere MQ V7 features and enhancements
描述了消息队列技术的基本概念、优点以及在 V7 中的新增功能,还提供了一个展示这些功能实现的业务场景。 - 下载 WebSphere MQ V7 的一个免费试用版
一个功能齐全的 WebSphere MQ V7.0 免费试用版,试用期为 90 天。 - WebSphere MQ 支持页面
支持问题及其解决方案的可搜索数据库,包含下载、修复程序、问题跟踪等。 - WebSphere MQ 公共新闻组
一个非 IBM 的论坛,在这里您可以获取 WebSphere MQ 技术问题的答案,并与其他用户分享您的 WebSphere MQ 知识。 - WebSphere MQ SupportPacs
WebSphere MQ 系列产品的可下载代码、文档和性能报告。
- MQ 遥测传输(MQTT)协议
- WebSphere 资源
- developerWorks WebSphere 开发人员资源
面向使用 WebSphere 产品的开发人员的技术信息和资源。developerWorks WebSphere 提供产品下载、how-to 信息、支持资源以及一个免费技术库,该技术库包含 2000 多篇技术文章、教程、最佳实践、IBM 红皮书和在线产品手册。 - developerWorks WebSphere 应用程序连通性开发人员资源
帮助您构建 WebSphere 应用程序连通性和业务集成解决方案的 how-to 文章、下载、教程、培训、产品信息等资源。 - developerWorks WebSphere 业务流程管理开发人员资源
访问 WebSphere BPM 的 how-to 文章、下载、教程、培训、产品信息等资源,帮助您建模、装配、部署和管理业务流程。 - developerWorks WebSphere SOA 和 web 服务开发人员资源
How-to 文章、下载、教程、培训、产品信息等资源,帮助您设计和构建 WebSphere SOA 和 web 服务解决方案。 - 最流行的 WebSphere 试用版下载
免费下载关键 WebSphere 产品试用版。 - WebSphere 论坛
特定于产品的论坛,可以从这里获得技术问题的解答,并与其他 WebSphere 用户分享您的专业经验。 - IBM developerWorks 演示中心
下载并观看这些自运行的演示,了解 WebSphere 产品和技术如何帮助您的公司应对迅速变化和日益复杂的业务环境。 - developerWorks WebSphere 每周新闻简讯
developerWorks 新闻简讯提供了您感兴趣的主题的最新文章和信息。除 WebSphere 以外,还可以选择 Java、Linux、Open source、Rational、SOA、web 服务和其他主题。立即订阅并设计您的定制邮件。 - IBM Press 的 WebSphere 相关图书
通过 Barnes & Noble 轻松实现在线订购。 - WebSphere 相关活动
世界各地的面向 WebSphere 开发人员的会议、商贸展览、网络广播和其他活动。
- developerWorks WebSphere 开发人员资源
- developerWorks 资源
- IBM 软件产品试用版下载
免费下载 IBM® DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 产品试用版。 - developerWorks 博客
加入 developerWorks 用户和作者、IBM 编辑和开发人员的会谈。 - developerWorks 技术加油站
由 IBM 专家主持的免费技术活动可以帮助您加快学习进度,在最困难的软件项目中取得成功。这些在世界各地举行的活动包括一小时的网络广播、半天到全天的真实活动等。 - developerWorks 播客
收听新颖有趣的软件创新者访谈和讨论。 - IBM Education Assistant
多媒体教育模块集合,帮助您更好地理解 IBM 软件产品以及更高效地使用它们来满足您的业务需求。
- IBM 软件产品试用版下载
-
IBM developerWorks 中国 WebSphere 专区:为使用 WebSphere 产品的开发人员准备的技术信息和资料。这里提供产品下载、how-to 信息、支持资源以及免费技术库,包含 2000 多份技术文章、教程、最佳实践、IBM Redbook 和在线产品手册。
获得产品和技术
- 最受欢迎的 WebSphere 试用软件下载:下载关键 WebSphere 产品的免费试用版。
- IBM developerWorks 软件下载资源中心:IBM deveperWorks 最新的软件下载。
- IBM developerWorks 工具包:下载关键 WebSphere 最新的产品工具包。
讨论
- 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
- 加入 IBM 软件下载与技术交流群组,参与在线交流。
