MQTT – Accessing MQ from anywhere
Download
Report
Transcript MQTT – Accessing MQ from anywhere
Srihari Kulkarni 13 April 2011
MQTT – Accessing MQ from anywhere
© 2010 IBM Corporation
What is MQTT ?
A way to obtain real world data
– Information is gathered by an increasing number of sensors and devices deployed all
over
A way to provide real time information
– E.g. Locate an item in a supply chain
– Accurate current load of a any system (e.g. electricity meters)
– Current status of a system (level of liquid in a container, temperature, pressure etc.)
A way to connect all the devices and sensors directly to your messaging infrastructure
2
© 2010 IBM Corporation
What is MQTT ?
MQTT = MQ Telemetry Transport
Lightweight messaging protocol designed for sensors and devices with
– Flaky network connectivity
– Low computing power
– Connections where bandwidth is at a premium
Protocol specification is open source
MQTT is nearly 10 years old
– Mature and evolving
3
© 2010 IBM Corporation
MQTT and WebSphere MQ
WebSphere MQ is a leading messaging middleware product encompassing support for 80
platform configurations – previously server and desktop platforms.
Starting v7.0.1.2, WebSphere MQ forays into the realm of devices and sensors
– MQTT clients can directly connect to WebSphere MQ
Windows
– 32 and 64 bit
Linux
– 64-bit
4
© 2010 IBM Corporation
Features of MQTT
Publish and subscribe to topics
3 qualities of service
– 0 Best effort to deliver a message
– 1 Deliver atleast once
– 2 Deliver exactly once
Supports Retained publications
Minimal transport overhead to reduce network traffic
– As little as 2 bytes
Last Will and Testament
5
© 2010 IBM Corporation
WebSphere MQ Extended Reach (MQXR)
What is MQXR ?
Introduced in WebSphere MQ 7.0.1.2
Implemented as a listener running on a queue manager
– Listens to connections from MQTT clients
– Implemented in Java
– Runs as an MQ service
Interoperability with JMS, MQI and (of course) other MQTT clients
Use MQTT with MQ Explorer
Queue manager can send messages to clients too
6
© 2010 IBM Corporation
WebSphere MQ Extended Reach (MQXR)- Security
Username and password as part of CONNECT action
JAAS authentication
SSL and plain text communication over TCP/IP
– SSL is not very kind on the network !
MQTT Client
Username/password
MQXR
Queue
manager
Username/password
Replied with
Yes/No
JAAS module
7
© 2010 IBM Corporation
WebSphere MQ Extended Reach (MQXR) configuration
Configuration files in <MQ_Install_Path>/mqxr/config
– jaas.config
– mqxr_win.properties / mqxr_unix.properties
– trace.config
WebSphere MQ Explorer UI
8
© 2010 IBM Corporation
MQTT Clients
C clients
Java clients
– Java SE client
– OSGi
– Java ME / MIDP 2.0
MQTT Daemon
– MQTT listener and bridge
– Concentrator
– Gateway to WebSphere MQ
Write your own !
9
© 2010 IBM Corporation
MQTT – Real world example #1
WebSphere Business Events
WebSphere
MQ
Collate and Analyze
WebSphere Business Monitor
10
© 2010 IBM Corporation