MQTT (definitely) coming to MQ

July 8th, 2010 - admin

IBM has formally announced its plans for bringing MQTT support to MQ. Unlike the preview announcement made previously, this includes the concrete details on what is being done, including the planned availability date – August 27th, 2010.

Known as MQ Telemetry, this will allow applications to use the MQTT v3 protocol to communicate with their MQ queue manager. A pair of client libraries are provided for applications to use, in both C and Java.

An advanced client is also provided – the MQ Telemetry daemon for devices. This is based on RSMB that was previously only available via IBM alphaWorks on an evaluation license.

A key part of this will be a much clearer statement on the use of the MQTT protocol itself – something the community has needed for some time.

The formal announcement is here and the MQ product pages have been updated here.

TimB

how is the “the MQ Telemetry daemon for devices” an advanced ‘client’, shirley it’s a message broker connecting to MQ as a bridge? you’d still need a client of some sorts to connect to it?

admin

Tim, it is called a ‘client’ because it will be run on the client devices connecting back to the central MQ. Often these devices will be constrained in terms of memory or processor and be running on the end of a costly/thin/fragile network. These characteristics make it impractical to run a full MQ queue manager.

A possible scenario is where you have an device, such as a smart meter, running a number of different services on board. Each service needs to communicate with each other and with the enterprise. Rather than have each one establish a network connection back to MQ which would be costly, you would run the daemon devices locally acting as a concentrator. Each of the services would then use the C or Java client libraries (or any other client library that implements the MQTTv3 protocol) to communicate with the daemon.

Hope that answers your question.

Andy Piper

I’ve posted a little more about this over on my blog under MQTT The Smarter Planet protocol

TimB

cheers for the clarification there…

does this ‘daemon’ support encryption for the connection to MQ?

Andy Piper

Tim, there are several security options, one of which is SSL for the connection, and another of which is a JAAS authentication module (the latter of which would not give “encryption”, of course). You can also combine the two. This is all described in the documentation which will go live around release time.

TimB

Is this the documentation (MQTT v3.1 spec from the Aug 20th announcement) you’re on about? because I don’t see encryption mentioned in it.

http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html

can you post a link please?

TIA

admin

Hi TimB,

you’ve got the right link there. The protocol does not make any statements about encryption.

There are two areas where encryption could be applied: message-level and network-level.

One of the advantages of MQTT is its light-weight nature; the payloads are just byte arrays. Message-level security can be achieved by the application encrypting the payload before providing to the client API for publishing.

At the network layer, the protocol requires a TCP link, which could be an SSL-secured link. The provision of the link is left to individual implementations – as is done by MQ Telemetry and its clients (but not the daemon for devices).

Hope that helps.

Andy Piper

If you are connecting to MQ – which I thought was Tim’s original question – then there is some information in the MQ Infocenter on how e.g. SSL could be used on the telemetry channel:
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.amqtat.doc/tt60318_.htm

As mentioned above though, the provision of this link is generally left to individual implementations, so not all MQTT servers will necessarily support something like this.

sandman

Which version or fixpack incorporated MQTT into MQ ? Is it from MQ 7.0.1.X or MQ 7.0 ?

THanks.

knolleary

Hi sandman. It was first added in MQ 7.0.1, and has since been fully integrated in last year’s MQ 7.1 release.

add a comment