The Internet is no longer a global
network just for computers but is becoming an environment for diverse
devices to join. Preluded by mobile, billions of smart devices are
instrumenting our world today. They are controllers, sensors, meters,
gauges, switches, scanners, radio frequency identification (RFID) and
supervisory control and data acquisition (SCADA) systems and so on,
which are addressable with network-connected embedded
microprocessors. By 2020, the number of devices connected to the
global network is expected to be 30 billion, according to ABI
Research. Those devices are going to publish data, consume data
or both, and they will need to responsively interact with each other
and with applications through an appropriate protocol to perform
tasks without human involvement.
Aside from the other two well-known
messaging protocols—Advanced Message Queuing Protocol (AMQP) and
Simple (or Streaming) Text Oriented Messaging Protocol (STOMP)—the
Message Queue Telemetry Transport (MQTT) protocol seems to be
a very good fit for this need because it's designed to be lightweight
and less resource-consuming (network bandwidth, power) while also
attempting to ensure reliability with some assurance of delivery.
Preparing for the emerging Internet of
Things, in April 2013 IBM announced IBM
MessageSight, which is a 2U appliance-based messaging server
built on MQTT technology. MessageSight is optimized to address the
massive scale requirements of the machine-to-machine (M2M) and mobile
use cases and designed to handle and route a tremendous volume of
messages among diverse types of devices reliably and securely.
Below are five key aspects of
MessageSight and details on how the appliance could perform on
each.
1.
Scalability and performance
Built
upon the MQTT messaging protocol, which is faster and requires less
bandwidth and power than traditional HTTP(s), IBM MessageSight is
well-suited with tags and sensors for mobile devices and other
“things” that typically have low power and low communication
bandwidth capabilities. Also, the high-scale, asynchronous
publish/subscribe with event-oriented paradigm could provide
responsive interaction, which turns into better user experience and
better scalability.
One
MessageSight appliance can serve up to a million devices connected
concurrently and handle the throughput of up to 13 million
nonpersistent messages per second with predictable latency in
microseconds under load. That is an impressive number.
2.
Reliability
If
high availability (HA) and disaster recovery ability are required,
two MessageSight appliances could be easily configured to an
HA-enabled mode to act as an HA pair of nodes, one to be the primary
node (the appliance that is processing messages) and the other to be
the standby node (the appliance to which the primary node is
replicated). With HA enabled, the messaging services can withstand an
outage of an appliance and continue to provide messaging services.
At
the message delivery level, since MessageSight fully supports MQTT
protocol, it consequently supports three qualities of service options
for delivering messages between clients and servers. This allows the
delivery assurance of a particular message to be flexibly achieved as
needed.
3.
Security
There
are three main aspects to security in MessageSight: transport level
security, authentication and authorization.
MessageSight
controls transport level security and authentication
settings using a security profile associated with an endpoint to
define the security operations applied to a message flow. Besides
protecting the message content being transferred, configuring the
appropriate transport level also helps to avoid sending
authentication credentials that are not encrypted.
The
authentication
supports both local user stores and external Lightweight Directory
Access Protocol (LDAP) servers, which gives users more flexibility in
building up a security plan.
IBM
MessageSight implements a policy-based authorization mechanism
to allow clients to connect and use messaging actions (connection and
messaging policies). A modern policy-based security approach is
comprised of a cohesive set of different policies, which helps
MessageSight to efficiently achieve security compliance.
Supporting
Secure Sockets Layer (SSL) and Transport Layer Security (TLS)
protocols that only run signed, encrypted firmware images provided by
IBM, encrypted flash storage media make MessageSight secure enough to
be used for demilitarized zone (DMZ) environments and placed at the
edge of an enterprise to interface with the external world.
4.
Integration ability
As
a full-featured messaging appliance, the ability to integrate with
other systems is a key feature of IBM MessageSight.
By supporting the well-known messaging
protocols MQTT (MQTT over Transmission Control Protocol/Internet
Protocol [TCP/IP], MQTT over WebSockets) and Java Message Service
(JMS), the appliance is well-suited with both publish/subscribe
(topic-based) and point-to-point (queue-based) messaging models and
can be widely integrated with other systems like Java-based systems,
rich HTML5-based applications and so on.
MessageSight
can extend and connect to WebSphere MQ infrastructures and supports
connectivity to IBM
Integration Bus by using MQ connectivity. Options appropriate for
this are to use multiple queue managers to handle the messages or
preserve the message order by using a single queue manager.
5.
Developer-friendly
Built
on the open MQTT, MessageSight supports MQTT client applications and
libraries for a variety of platforms such as:
PhoneGap
MQTT plug-ins with JavaScript application programming interface
(API) for use with IBM
Worklight,
Apache Cordova and Adobe PhoneGap
If
you want to play around with it to see how it works from a
developer's perspective, you can quickly get a version of
MessageSight developer here.
It usually takes less than one hour to have everything set up and
running and to start experiencing the virtual appliance.
As
part of the IBM
MobileFirst
portfolio, IBM MessageSight could play a very important
role in helping organizations to transform, adapt and catch up to new
businesses.
Detailed information here