SlideShare uma empresa Scribd logo
1 de 21
Lightweight Messaging




                       Andy Piper (@andypiper)




Apache Retreat Hursley 2010
The Internet of Things
 Trillions of smart
 devices instrument
 our world today




                                     Interconnecting these
                                     smart devices creates a
                                     Central Nervous
                                     System
Apache Retreat Hursley 2010
Our World is Filling with Devices

           Pop Quiz


             Grains grown each year        1,000,000,000,000,000 (1 quadrillion)

             Crawling the earth         100,000,000,000,000,000 (100 quadrillion)

             Manufactured each year   10,000,000,000,000,000,000 (10 quintillion)


                                                     1 billion transistors
                                                     for every one of us



Apache Retreat Hursley 2010
Building a Smarter Planet




                        +           +           =
                 An opportunity to think and act in new ways—
                    economically, socially and technically.




Apache Retreat Hursley 2010
4
Blueprint for Edge Connectivity

                                                                 Connectivity for Applications

                                                       Transport         WebSphere MQ
                                                                         REST/HTTP
                                                                         WS*

                    Regional Offices                                                                            Intelligent
                     Stores, Outlets
                     Stores, Outlets
                                                                              Interconnected
                                                                                                               Head Offices,
                                                                                                                Data centres
                                                                                                              Cloud Computing




                                 Instrumented


Connectivity for Smart Devices                              Remote Systems and Devices

Transport   MQ Telemetry
            HTTP
            Multicast

                    Embedded Controllers                           Sensors                            Actuators
                    Filtering of duplicate read events, Store-     Power meters, weather data         Tag printers, status lights, Load
                    based HVAC & lighting controls,                SCADA sensors, pressure, volume,   generation, HVAC and lighting,
                    Industrial Network Gateways (SCADA)            RFID readers, Motion detectors…    Valves, switches and pumps…




Apache Retreat Hursley 2010
Technology




Apache Retreat Hursley 2010
Introducing MQTT
   The challenges of industrial control systems
    (supervisory control and data acquisition, or SCADA)
    well-suited to a messaging solution
                Loose coupling, multi-protocol, separation of
                 concerns...



   IBM developed a protocol for the MQSeries
    Integrator product designed for the constraints of the
    SCADA world.
                MQ Integrator SCADA Device Protocol
                 (Mqisdp)
                Renamed MQ Telemetry Trnsport (MQTT)
                 with broader telemetry role



   Support has been available via SCADA nodes in
    WebSphere Message Broker from version 2.0
    through version 6.1



Apache Retreat Hursley 2010
Design principles of MQTT
■   Publish/subscribe messaging paradigm as
    required by the majority of SCADA and
    sensor applications.
■   Minimise the on-the-wire footprint.
■   Expect and cater for frequent network
    disruption – built for low bandwidth, high
    latency, unreliable, high cost networks
■   Expect that client applications may have
    very limited processing resources
    available.
■   Provide traditional messaging qualities of
    service where the environment allows.
■   Publish the protocol for ease of adoption
    by device vendors and third-party client
    software.
Apache Retreat Hursley 2010
Key facts about MQTT
  ■   Reduced complexity and footprint
  ■   Simple, minimal pub/sub messaging semantics
            
                   Asynchronous (“push”) delivery of messages to applications
            
                   Simple set of verbs: connect, publish, subscribe, disconnect
  
      Minimised on-the-wire format
            
                   Plain byte array message payload
            
                   No application message headers
            
                   Protocol compressed into bit-wise headers and variable
                   length fields
            
                   Smallest possible packet size is 2 bytes
  ■   In-built constructs to support loss of contact between client and
      server
            
                   “Last will and testament” to publish a message if the client
                   goes offline
            
                   Stateful “roll-forward” semantics and “durable” subscriptions

Apache Retreat Hursley 2010
Qualities of Service
                 Three qualities of service for both publishing and subscribing:

    QoS 0: At most once delivery (non-persistent)
    – No retry semantics are defined in the protocol.
    – The message arrives either once or not at all.

    QoS 1: At least once delivery (persistent, dups possible)
    – Client sends message with Message ID in the message header
    – Server acknowledges with a PUBACK control message
    – Message resent with a DUP bit set If the PUBACK message is
    not seen


    QoS 2: Exactly once delivery (persistent)
    – Uses additional flows to ensure that message is not duplicated
    – Server acknowledges with a PUBREC control message
    – Client releases message with a PUBREL control message
    – Server acknowledges completion with a PUBCOMP control
    message

Apache Retreat Hursley 2010
Example: connect and send an
                 MQTT message
    public void sendAMessage() throws MqttException {
        MqttProperties mqttProps = new MqttProperties();        Create a connection using the
                                                                connection factory, this time for a
        mqttProps.setCleanStart( true );
                                                                clean starting client
        MqttClient client = MqttClientFactory.INSTANCE.
             createMqttClient("testClient",
             “tcp://localhost:1883”, mqttProps);
        client.registerCallback(this);                         Register the class as a listener and
        client.connect();                                      connect to the broker
        client.publish(“abc/123”,
             new MqttPayload((“Hello World!”).getBytes(),0),
             (byte) 2, false);                                    Publish a message to the
        client.disconnect();                                      given topic and
    }                                                             disconnect

    public void publishArrived(String topicName,
                   MqttPayload payload,
                   byte qos, boolean retained,                   On receipt of a publication, simply
                   int msgId) {                                  print out a message on the console
        System.out.println(“Got it!”);
                                                                 to say we received it
    }




Apache Retreat Hursley 2010
WMQT Implementation
 New MQ service – MQXR ('eXtended Reach')
          –      Separate purchasable extension
          –      Available on Windows and 64-bit Linux
          –      eGA 27 August 2010, GA 3 September 2010
 Fully integrated / interoperable with MQ
          –      Publishers and subscribers can exchange messages
 Telemetry channels enable MQTT connections to Qmgr
 Supports MQTTv3 protocol (most common in use)
 Ships with reference Java (for MIDP upwards) and C clients
          –      other APIs and implementations available via 3rd parties e.g.
                 Python, .NET, Delphi etc.




Apache Retreat Hursley 2010
MQ Explorer integration




Apache Retreat Hursley 2010
Topology example: “simple” clients
 WebSphere MQ Telemetry
                                                                                   Sensors



      WebSphere
       MQ 7.0.1                                                                                 Mobile


                      MQXR
                                                                              Applications


 Scaling to tens of thousands of MQTT connections
 to a single queue manager*




                                                  * performance evaluation covers tests up to 100,000 concurrent
                                              connections on Linux, but message rate/restart considerations apply
Apache Retreat Hursley 2010
Topology example: “advanced” clients
 WebSphere MQ Telemetry
                                                            Sensors



      WebSphere                                                       Mobile, smart
                                                                      meters
       MQ 7.0.1
                      MQXR                                  Applications




  Rich clients                                          MQTT
  requiring buffering,                            WebSphere MQ Telemetry
  remote management                                 Daemon for Devices
  capabilities, or              Microbroker
                              (Lotus Expeditor,
  advanced data handling        WebSphere
                               Sensor Events)




Apache Retreat Hursley 2010
Security options

  Securing mobile / remote clients can be vital!
  WMQ Telemetry supports two key technologies:
     – SSL – encryption and authentication
     – JAAS – authorization




                                 Configurable:
                                 •
                                   clientId
                                 •
                                   userid/pw on API
                                 •
                                   Static username on channel
                                                                Telemetry channel may
                         MQXR                                   also use SSL
        WebSphere
           MQ
                                                 → userid/pw
                                                 ← “OK / no way!”

                                JAAS

Apache Retreat Hursley 2010
Topology example: enterprise gateway

                                        Multiplex devices at edge of enterprise
      Web Services            HTTP      Integrate “any-to-any” via WMB



                    WebSphere                    WebSphere MQ
                   Message Broker                Telemetry



                                         WebSphere
                                          MQ 7.0.1
                                                  MQXR
                                Files
                       DB
    CICS, IMS

Apache Retreat Hursley 2010
Apache Retreat Hursley 2010
Some areas that MQTT has been used…

   HVAC Control   Energy Monitoring
         Stock Checks    Chemical   Trickle
   POS                   Detection   Feed
   Field Force Automation Asset Management
          • Sales Force Automation
                                              And Monitoring
          • Field Service Engineers
          • Service Delivery
                                      RFID
                                               Parking
                              Pipeline Monitoring
  Fire Sensors                                  Tickets
                                  and Control
   Flood Defence                          Kiosks
       Warning   Vehicle Telematics
                   • Cars / Military – Diagnostics and Prognostics
  Home Automation • Pay As You Drive Insurance
Apache Retreat Hursley 2010
Useful links

Announcement Letter
http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSo

MQTT – The Smarter Planet Protocol (blog post)
http://andypiper.co.uk/2010/08/05/mqtt-the-smarter-planet-protocol/

MQTT 3.1 specification – IBM developerWorks
http://www.ibm.com/developerworks/webservices/library/ws-mqtt/index.html

WebSphere MQ Telemetry Performance Evaluation – SupportPac MP0A
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24027711&loc=en_US&cs=u

MQTT Community
http://mqtt.org

Apache Retreat Hursley 2010
Thank you!

                    Contact: Andy Piper andy.piper@uk.ibm.com
                 http://twitter.com/andypiper | http://andypiper.co.uk




Apache Retreat Hursley 2010

Mais conteúdo relacionado

Mais procurados

MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsMQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsAndy Piper
 
Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation Piyush Rathi
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsUniversity of Pretoria
 
MQTT IOT Protocol Introduction
MQTT IOT Protocol IntroductionMQTT IOT Protocol Introduction
MQTT IOT Protocol IntroductionPrem Sanil
 
Real World Applications of MQTT
Real World Applications of MQTTReal World Applications of MQTT
Real World Applications of MQTTManoj Gudi
 
MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
 
Android Implementation using MQTT Protocol
Android Implementation using MQTT ProtocolAndroid Implementation using MQTT Protocol
Android Implementation using MQTT ProtocolFatih Özlü
 
MQTT
MQTTMQTT
MQTTESUG
 
Getting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationGetting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationChristian Götz
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTHenrik Sjöstrand
 
MQTT – protocol for yours IoT
MQTT – protocol for yours IoTMQTT – protocol for yours IoT
MQTT – protocol for yours IoTMiroslav Resetar
 
MQTT in Reactive Blocks
MQTT in Reactive BlocksMQTT in Reactive Blocks
MQTT in Reactive BlocksBitreactive
 
Practical Security with MQTT and Mosquitto
Practical Security with MQTT and MosquittoPractical Security with MQTT and Mosquitto
Practical Security with MQTT and Mosquittonbarendt
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
 
Connecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTTConnecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTTLeon Anavi
 

Mais procurados (20)

Understanding of MQTT for IoT Projects
Understanding of MQTT for IoT ProjectsUnderstanding of MQTT for IoT Projects
Understanding of MQTT for IoT Projects
 
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsMQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
 
MQTT Overview
MQTT OverviewMQTT Overview
MQTT Overview
 
Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of Things
 
MQTT IOT Protocol Introduction
MQTT IOT Protocol IntroductionMQTT IOT Protocol Introduction
MQTT IOT Protocol Introduction
 
Real World Applications of MQTT
Real World Applications of MQTTReal World Applications of MQTT
Real World Applications of MQTT
 
MQTT
MQTTMQTT
MQTT
 
MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of Things
 
Android Implementation using MQTT Protocol
Android Implementation using MQTT ProtocolAndroid Implementation using MQTT Protocol
Android Implementation using MQTT Protocol
 
MQTT
MQTTMQTT
MQTT
 
Getting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationGetting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentation
 
An introduction to MQTT
An introduction to MQTTAn introduction to MQTT
An introduction to MQTT
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
MQTT – protocol for yours IoT
MQTT – protocol for yours IoTMQTT – protocol for yours IoT
MQTT – protocol for yours IoT
 
MQTT
MQTTMQTT
MQTT
 
MQTT in Reactive Blocks
MQTT in Reactive BlocksMQTT in Reactive Blocks
MQTT in Reactive Blocks
 
Practical Security with MQTT and Mosquitto
Practical Security with MQTT and MosquittoPractical Security with MQTT and Mosquitto
Practical Security with MQTT and Mosquitto
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
Connecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTTConnecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTT
 

Destaque

Destaque (7)

The House That Twitters
The House That TwittersThe House That Twitters
The House That Twitters
 
MQTT - Communication in the Internet of Things
MQTT - Communication in the Internet of ThingsMQTT - Communication in the Internet of Things
MQTT - Communication in the Internet of Things
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 
Java script ppt
Java script pptJava script ppt
Java script ppt
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns ppt
 

Semelhante a Lightweight Messaging (Apache Retreat Hursley 2010)

How UK technology is helping to make the planet smarter
How UK technology is helping to make the planet smarterHow UK technology is helping to make the planet smarter
How UK technology is helping to make the planet smarterAndy Piper
 
InduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things ApplicationsInduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things ApplicationsAVEVA
 
Internet of things(iot)
Internet of things(iot)Internet of things(iot)
Internet of things(iot)Rakesh Gupta
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
Smart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systemsSmart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systemsLorenzo Maiorfi
 
Introduction to EMQ X Enterprise
Introduction to EMQ X EnterpriseIntroduction to EMQ X Enterprise
Introduction to EMQ X EnterpriseEMQ
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Benjamin Cabé
 
MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021Julian Douch
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksAmazon Web Services
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka confluent
 
MQTT enabling the smallest things
MQTT enabling the smallest thingsMQTT enabling the smallest things
MQTT enabling the smallest thingsIan Craggs
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summitMike Milinkovich
 
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...Benjamin Cabé
 
CCN AAT 2023 for mqtt protocol ppt presentation
CCN AAT 2023 for mqtt protocol ppt presentationCCN AAT 2023 for mqtt protocol ppt presentation
CCN AAT 2023 for mqtt protocol ppt presentationHidangmayumRahul
 
AndroidThing (Internet of things)
AndroidThing (Internet of things)AndroidThing (Internet of things)
AndroidThing (Internet of things)Mayur Solanki
 
IRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of ThingsIRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of ThingsIRJET Journal
 

Semelhante a Lightweight Messaging (Apache Retreat Hursley 2010) (20)

How UK technology is helping to make the planet smarter
How UK technology is helping to make the planet smarterHow UK technology is helping to make the planet smarter
How UK technology is helping to make the planet smarter
 
InduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things ApplicationsInduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things Applications
 
Internet of things(iot)
Internet of things(iot)Internet of things(iot)
Internet of things(iot)
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
Smart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systemsSmart home and smartfactory intelligent systems
Smart home and smartfactory intelligent systems
 
Introduction to EMQ X Enterprise
Introduction to EMQ X EnterpriseIntroduction to EMQ X Enterprise
Introduction to EMQ X Enterprise
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
 
MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021MuleSoft Meetup Singapore #8 March 2021
MuleSoft Meetup Singapore #8 March 2021
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
IoTMyth Proposal
IoTMyth ProposalIoTMyth Proposal
IoTMyth Proposal
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
 
mqttvsrest_v4.pdf
mqttvsrest_v4.pdfmqttvsrest_v4.pdf
mqttvsrest_v4.pdf
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka
 
MQTT enabling the smallest things
MQTT enabling the smallest thingsMQTT enabling the smallest things
MQTT enabling the smallest things
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
 
CCN AAT 2023 for mqtt protocol ppt presentation
CCN AAT 2023 for mqtt protocol ppt presentationCCN AAT 2023 for mqtt protocol ppt presentation
CCN AAT 2023 for mqtt protocol ppt presentation
 
AndroidThing (Internet of things)
AndroidThing (Internet of things)AndroidThing (Internet of things)
AndroidThing (Internet of things)
 
IRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of ThingsIRJET- MQTT in Internet of Things
IRJET- MQTT in Internet of Things
 
VANMATHY V
VANMATHY  VVANMATHY  V
VANMATHY V
 

Mais de Andy Piper

Adapt & Survive
Adapt & SurviveAdapt & Survive
Adapt & SurviveAndy Piper
 
Rebooting A Community #DevRelCon
Rebooting A Community #DevRelConRebooting A Community #DevRelCon
Rebooting A Community #DevRelConAndy Piper
 
Twitter APIs for #MediaHackday
Twitter APIs for #MediaHackdayTwitter APIs for #MediaHackday
Twitter APIs for #MediaHackdayAndy Piper
 
Imagining the Future, when the Future is already Now
Imagining the Future, when the Future is already NowImagining the Future, when the Future is already Now
Imagining the Future, when the Future is already NowAndy Piper
 
Connecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformConnecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformAndy Piper
 
Building Twitter's SDKs for Android
Building Twitter's SDKs for AndroidBuilding Twitter's SDKs for Android
Building Twitter's SDKs for AndroidAndy Piper
 
Developer Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less OrdinaryDeveloper Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less OrdinaryAndy Piper
 
Twitter in the Internet of Things
Twitter in the Internet of ThingsTwitter in the Internet of Things
Twitter in the Internet of ThingsAndy Piper
 
Twitter APIs - the starter guide
Twitter APIs - the starter guideTwitter APIs - the starter guide
Twitter APIs - the starter guideAndy Piper
 
Connecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIsConnecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIsAndy Piper
 
Internet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTTInternet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTTAndy Piper
 
Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Andy Piper
 
Why the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceWhy the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceAndy Piper
 
Combining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsCombining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsAndy Piper
 
MQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of ThingsMQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of ThingsAndy Piper
 
My Quantified Self and the promise of wearables
My Quantified Self and the promise of wearablesMy Quantified Self and the promise of wearables
My Quantified Self and the promise of wearablesAndy Piper
 
Why Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open CloudWhy Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open CloudAndy Piper
 
From Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireFrom Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireAndy Piper
 
Why Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open CloudWhy Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open CloudAndy Piper
 
The Internet of Things is Made of Signals
The Internet of Things is Made of SignalsThe Internet of Things is Made of Signals
The Internet of Things is Made of SignalsAndy Piper
 

Mais de Andy Piper (20)

Adapt & Survive
Adapt & SurviveAdapt & Survive
Adapt & Survive
 
Rebooting A Community #DevRelCon
Rebooting A Community #DevRelConRebooting A Community #DevRelCon
Rebooting A Community #DevRelCon
 
Twitter APIs for #MediaHackday
Twitter APIs for #MediaHackdayTwitter APIs for #MediaHackday
Twitter APIs for #MediaHackday
 
Imagining the Future, when the Future is already Now
Imagining the Future, when the Future is already NowImagining the Future, when the Future is already Now
Imagining the Future, when the Future is already Now
 
Connecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformConnecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter Platform
 
Building Twitter's SDKs for Android
Building Twitter's SDKs for AndroidBuilding Twitter's SDKs for Android
Building Twitter's SDKs for Android
 
Developer Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less OrdinaryDeveloper Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less Ordinary
 
Twitter in the Internet of Things
Twitter in the Internet of ThingsTwitter in the Internet of Things
Twitter in the Internet of Things
 
Twitter APIs - the starter guide
Twitter APIs - the starter guideTwitter APIs - the starter guide
Twitter APIs - the starter guide
 
Connecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIsConnecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIs
 
Internet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTTInternet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTT
 
Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)
 
Why the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceWhy the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open Source
 
Combining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsCombining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of Things
 
MQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of ThingsMQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of Things
 
My Quantified Self and the promise of wearables
My Quantified Self and the promise of wearablesMy Quantified Self and the promise of wearables
My Quantified Self and the promise of wearables
 
Why Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open CloudWhy Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open Cloud
 
From Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireFrom Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS Oxfordshire
 
Why Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open CloudWhy Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open Cloud
 
The Internet of Things is Made of Signals
The Internet of Things is Made of SignalsThe Internet of Things is Made of Signals
The Internet of Things is Made of Signals
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Lightweight Messaging (Apache Retreat Hursley 2010)

  • 1. Lightweight Messaging Andy Piper (@andypiper) Apache Retreat Hursley 2010
  • 2. The Internet of Things Trillions of smart devices instrument our world today Interconnecting these smart devices creates a Central Nervous System Apache Retreat Hursley 2010
  • 3. Our World is Filling with Devices Pop Quiz Grains grown each year 1,000,000,000,000,000 (1 quadrillion) Crawling the earth 100,000,000,000,000,000 (100 quadrillion) Manufactured each year 10,000,000,000,000,000,000 (10 quintillion) 1 billion transistors for every one of us Apache Retreat Hursley 2010
  • 4. Building a Smarter Planet + + = An opportunity to think and act in new ways— economically, socially and technically. Apache Retreat Hursley 2010 4
  • 5. Blueprint for Edge Connectivity Connectivity for Applications Transport WebSphere MQ REST/HTTP WS* Regional Offices Intelligent Stores, Outlets Stores, Outlets Interconnected Head Offices, Data centres Cloud Computing Instrumented Connectivity for Smart Devices Remote Systems and Devices Transport MQ Telemetry HTTP Multicast Embedded Controllers Sensors Actuators Filtering of duplicate read events, Store- Power meters, weather data Tag printers, status lights, Load based HVAC & lighting controls, SCADA sensors, pressure, volume, generation, HVAC and lighting, Industrial Network Gateways (SCADA) RFID readers, Motion detectors… Valves, switches and pumps… Apache Retreat Hursley 2010
  • 7. Introducing MQTT  The challenges of industrial control systems (supervisory control and data acquisition, or SCADA) well-suited to a messaging solution  Loose coupling, multi-protocol, separation of concerns...  IBM developed a protocol for the MQSeries Integrator product designed for the constraints of the SCADA world.  MQ Integrator SCADA Device Protocol (Mqisdp)  Renamed MQ Telemetry Trnsport (MQTT) with broader telemetry role  Support has been available via SCADA nodes in WebSphere Message Broker from version 2.0 through version 6.1 Apache Retreat Hursley 2010
  • 8. Design principles of MQTT ■ Publish/subscribe messaging paradigm as required by the majority of SCADA and sensor applications. ■ Minimise the on-the-wire footprint. ■ Expect and cater for frequent network disruption – built for low bandwidth, high latency, unreliable, high cost networks ■ Expect that client applications may have very limited processing resources available. ■ Provide traditional messaging qualities of service where the environment allows. ■ Publish the protocol for ease of adoption by device vendors and third-party client software. Apache Retreat Hursley 2010
  • 9. Key facts about MQTT ■ Reduced complexity and footprint ■ Simple, minimal pub/sub messaging semantics  Asynchronous (“push”) delivery of messages to applications  Simple set of verbs: connect, publish, subscribe, disconnect  Minimised on-the-wire format  Plain byte array message payload  No application message headers  Protocol compressed into bit-wise headers and variable length fields  Smallest possible packet size is 2 bytes ■ In-built constructs to support loss of contact between client and server  “Last will and testament” to publish a message if the client goes offline  Stateful “roll-forward” semantics and “durable” subscriptions Apache Retreat Hursley 2010
  • 10. Qualities of Service Three qualities of service for both publishing and subscribing: QoS 0: At most once delivery (non-persistent) – No retry semantics are defined in the protocol. – The message arrives either once or not at all. QoS 1: At least once delivery (persistent, dups possible) – Client sends message with Message ID in the message header – Server acknowledges with a PUBACK control message – Message resent with a DUP bit set If the PUBACK message is not seen QoS 2: Exactly once delivery (persistent) – Uses additional flows to ensure that message is not duplicated – Server acknowledges with a PUBREC control message – Client releases message with a PUBREL control message – Server acknowledges completion with a PUBCOMP control message Apache Retreat Hursley 2010
  • 11. Example: connect and send an MQTT message public void sendAMessage() throws MqttException { MqttProperties mqttProps = new MqttProperties(); Create a connection using the connection factory, this time for a mqttProps.setCleanStart( true ); clean starting client MqttClient client = MqttClientFactory.INSTANCE. createMqttClient("testClient", “tcp://localhost:1883”, mqttProps); client.registerCallback(this); Register the class as a listener and client.connect(); connect to the broker client.publish(“abc/123”, new MqttPayload((“Hello World!”).getBytes(),0), (byte) 2, false); Publish a message to the client.disconnect(); given topic and } disconnect public void publishArrived(String topicName, MqttPayload payload, byte qos, boolean retained, On receipt of a publication, simply int msgId) { print out a message on the console System.out.println(“Got it!”); to say we received it } Apache Retreat Hursley 2010
  • 12. WMQT Implementation  New MQ service – MQXR ('eXtended Reach') – Separate purchasable extension – Available on Windows and 64-bit Linux – eGA 27 August 2010, GA 3 September 2010  Fully integrated / interoperable with MQ – Publishers and subscribers can exchange messages  Telemetry channels enable MQTT connections to Qmgr  Supports MQTTv3 protocol (most common in use)  Ships with reference Java (for MIDP upwards) and C clients – other APIs and implementations available via 3rd parties e.g. Python, .NET, Delphi etc. Apache Retreat Hursley 2010
  • 13. MQ Explorer integration Apache Retreat Hursley 2010
  • 14. Topology example: “simple” clients WebSphere MQ Telemetry Sensors WebSphere MQ 7.0.1 Mobile MQXR Applications Scaling to tens of thousands of MQTT connections to a single queue manager* * performance evaluation covers tests up to 100,000 concurrent connections on Linux, but message rate/restart considerations apply Apache Retreat Hursley 2010
  • 15. Topology example: “advanced” clients WebSphere MQ Telemetry Sensors WebSphere Mobile, smart meters MQ 7.0.1 MQXR Applications Rich clients MQTT requiring buffering, WebSphere MQ Telemetry remote management Daemon for Devices capabilities, or Microbroker (Lotus Expeditor, advanced data handling WebSphere Sensor Events) Apache Retreat Hursley 2010
  • 16. Security options Securing mobile / remote clients can be vital! WMQ Telemetry supports two key technologies: – SSL – encryption and authentication – JAAS – authorization Configurable: • clientId • userid/pw on API • Static username on channel Telemetry channel may MQXR also use SSL WebSphere MQ → userid/pw ← “OK / no way!” JAAS Apache Retreat Hursley 2010
  • 17. Topology example: enterprise gateway Multiplex devices at edge of enterprise Web Services HTTP Integrate “any-to-any” via WMB WebSphere WebSphere MQ Message Broker Telemetry WebSphere MQ 7.0.1 MQXR Files DB CICS, IMS Apache Retreat Hursley 2010
  • 19. Some areas that MQTT has been used… HVAC Control Energy Monitoring Stock Checks Chemical Trickle POS Detection Feed Field Force Automation Asset Management • Sales Force Automation And Monitoring • Field Service Engineers • Service Delivery RFID Parking Pipeline Monitoring Fire Sensors Tickets and Control Flood Defence Kiosks Warning Vehicle Telematics • Cars / Military – Diagnostics and Prognostics Home Automation • Pay As You Drive Insurance Apache Retreat Hursley 2010
  • 20. Useful links Announcement Letter http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSo MQTT – The Smarter Planet Protocol (blog post) http://andypiper.co.uk/2010/08/05/mqtt-the-smarter-planet-protocol/ MQTT 3.1 specification – IBM developerWorks http://www.ibm.com/developerworks/webservices/library/ws-mqtt/index.html WebSphere MQ Telemetry Performance Evaluation – SupportPac MP0A http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24027711&loc=en_US&cs=u MQTT Community http://mqtt.org Apache Retreat Hursley 2010
  • 21. Thank you! Contact: Andy Piper andy.piper@uk.ibm.com http://twitter.com/andypiper | http://andypiper.co.uk Apache Retreat Hursley 2010

Notas do Editor

  1. Who am I I want to talk about a very exciting new area and way in which IBM is extending its messaging middleware technology
  2. http://mccabism.blogspot.com/2008/08/transistors-and-grains-of-rice.html 10^11 stars in the Milky Way galaxy, 10^14 cells in the human body, 10^15 grains of rice produced annually worldwide, and 10^17 ants on planet Earth, it seems that the annual world production of transistors exceeds all these figures, at 10 quintillion, 10^19. Not only that, but the cost of producing each transistor is about one-hundreth of the cost of producing each grain of rice!
  3. As the world becomes instrumented, interconnected and intelligent, we have the opportunity to think and act in new ways—economically, socially and technically. INSTRUMENTED Support for event capture and filtering Sensor solutions Instrumentation for regulatory compliance (auditing and governance) INTERCONNECTED Flexible any-any connectivity with a range of “qualities of service” Extended reach ( Sensors, Remote locations; Business to Business) Unified operational Model for a globally connected infrastructure Dynamic Provisioning and Management Security and Governance Scale, performance Programming Model for a globally connected infrastructure Open Standards, Ease of solution construction INTELLIGENT Event Processing capabilities Business rules Integration with data and stream analytics Systems that automatically adjust to your business
  4. MQTT has actually been around for a while already, but often I find that customers have not heard of it! It has had a few different names and has hidden away in different corners of the product family - known as SCADA (node in Message Broker), Mqisdp, pervasive Stable and widely used, 10 years old NOT MQLLM!
  5. MQTT is really simple, lightweight, and easy to learn It has gained a lot of popularity in development communities
  6. Separate purchase on top of QM as not all users need Telemetry Initial availability Windows and UNIX but should run on any platform supporting JVM – service may require recreation of issues on a formally supported platform No MQSC / PCF support initially Let's see how this looks in MQ Explorer
  7. The MQ Telemetry support is fully integrated into MQ Explorer Connections to a queue manager are set up via a simple wizard and new Telemetry channels (default port 1883) MQ and MQTT publish and subscribe is interoperable – so MQ applications can publish to MQTT subscribers, and vice versa The test client is built-in. Similar to the GUI Utility shipped previously in the IA92 SupportPac (which will still work as the protocol is the same, but this is integrated into the Eclipse environment)
  8. * performance report to be issued
  9. For clients requiring better remote operations, buffering, concentrators then there are more topology options. The WMQT Daemon for Devices was formerly Really Small Message Broker available on alphaWorks MQTT is already available in Microbroker (a component of Lotus Expeditor)
  10. Why do you think it might be important to secure TT clients? the devices are likely to be portable, and used in places that cannot be carefully controlled. WebSphere MQ security (OAM) also applies
  11. For clients requiring better remote operations, buffering, concentrators then there are more topology options. The WMQT Daemon for Devices was formerly Really Small Message Broker available on alphaWorks MQTT is already available in Microbroker (a component of Lotus Expeditor)
  12. VIEW/NOTES PAGE Mode – PRESS F5 or DOUBLE CLICK ON SLIDE TO VIEW SLIDE IN FULL SCREEN A national railway infrastructure company Synopsis: A country’s railway infrastructure utility improves information flow, reduces costs and increases flexibility with a sophisticated middleware solution designed and implemented by IBM Global Business Services Customer Background : The company has responsibility for the the country’s railways infrastructure , which involves running, maintaining and developing the country's railway tracks, signaling system, rail bridges, tunnels, level crossings, viaducts and key stations. Business Need: The company had difficulty integrating and sharing information throughout its organization. Key data was often needed in near real-time by the business but could not be provided quickly enough. Systems were joined on a point-to-point basis and this resulted in a plethora of nonstandard solutions that were expensive to implement and maintain. The company is implementing a new Information Management strategy, to improve information sharing throughout the organization. Both new and legacy systems need to communicate effectively with each other and the company wanted to achieve this by connecting systems in a consistent way, promoting corporate standards for integration and messaging as well as removing costly "point-to-point" integration. By implementing the correct middleware infrastructure, the company knew it would have the opportunity to introduce a service oriented architecture (SOA) that will provide an integrated information services environment and offer users the tools they need to improve their efficiency and effectiveness. The company needed a skilled and experienced partner to help it to achieve this goal. Solution Implementation: IBM Global Business Services was engaged to create generic enterprise middleware for the company that is capable of providing a core messaging backbone throughout the organization. Based on a "hub and spoke" model, it allows data to be sent from a single system to wherever it is needed within the enterprise. A set of core services have been built within WebSphere Business Integration Message Broker (WBIMB) enabling the middleware to be used in any client environment. The main messaging hub is in place and IBM is continuing to add legacy and new systems to it, enabling an increasing number of systems to exchange information. One of the first integration projects involves taking information from trackside assets - such as power supplies or devices that measure technical information like the state of the wheels on a train as it passes a certain point - and driving it through the enterprise infrastructure so that the company's operational centers can see what is happening on the track more easily and quickly. Any problems, alerts or warning messages can be picked up and responded to appropriately, enabling resources to be allocated more efficiently and increasing train reliability by improving management of the network. The messaging hub also handles the thousands of train information messages that the company receives from all over the UK every day. These messages relate to train times and delays from all the train operating companies that run services on the railway infrastructure and are used by the company to report on how each of the train operating companies is performing on a daily basis. IBM is currently working with the company on an external gateway that will enable appropriate information to be fed to external stakeholders such as the train operating companies and freight companies. This will help all stakeholders to work in a more integrated and efficient way, improving the performance of the rail system even further. Benefits: - Timely flow of information throughout the organization, providing governance and control. - IT environment has become far more flexible, allowing applications to be plugged into the messaging hub quickly and easily, reducing the cost involved in creating individual "point-to-point" data interfaces and facilitating reuse - Maintenance and operating costs reduced with the use of standardized code - Improved reliability of rail services and ultimately increased satisfaction for passengers and freight customers. Usage level : Win/Ongoing project/Completed project: Industry : External Complete Travel & Transportation The UK's railway infrastructure utility improves information flow, reduces costs and increases flexibility with a sophisticated middleware solution designed and implemented by IBM Global Business Services Back to top Client information Client name:Location: Network RailUnited Kingdom Industry: Travel & Transportation Focus area: Openness, Service Oriented Architecture Integrated/Aligned AccountGeography/IOT/GMU: Northeast Europe IOT Region/IMT/GMT: United Kingdom and Ireland IMT Client background: In October 2002, Network Rail took responsibility for the infrastructure on which the UK's railways depend. Its mandate involves running, maintaining and developing the country's railway tracks, signalling system, rail bridges, tunnels, level crossings, viaducts and 17 key stations. Britain's railway network carries 2.75 million passengers every day along with 79 percent of the UK's coal and coal products and 34 percent of the UK's metals. URL: http://www.networkrail.co.uk Project start: 04/2004 Project end: 03/2006 Back to top Special handling instructions The client has agreed to be a reference for sales situations. The status of any installation or implementation can change, so you should always contact the Primary Contact or Additional Contact named in the reference prior to discussing it with your client. Any public use, such as in marketing materials, on WWW sites, in press articles, etc., requires specific approval from the client. It is the responsibility of the person or any organization planning to use this reference to make sure that this is done. The IBM representative will, as appropriate, contact the client for review. You should not contact the client directly. Business need Network Rail had difficulty integrating and sharing information throughout its organization. Key data was often needed in near real-time by the business but could not be provided quickly enough. Systems were joined on a point-to-point basis and this resulted in a plethora of nonstandard solutions that were expensive to implement and maintain. Network Rail is implementing organizational changes that include the introduction of a new Information Management strategy. The overall aim of this strategy is to improve information sharing throughout the organization in order to enhance the way that Britain’s railways are run. To achieve this aim, both new and legacy systems need to communicate effectively with each other and Network Rail wanted to achieve this by connecting systems in a consistent way, promoting corporate standards for integration and messaging as well as removing costly "point-to-point" integration. By implementing the correct middleware infrastructure, Network Rail knew it would have the opportunity to introduce a service oriented architecture (SOA) that will provide an integrated information services environment and offer users the tools they need to improve their efficiency and effectiveness. Network Rail needed a skilled and experienced partner to help it to achieve this goal. Back to top Solution implementation IBM Global Business Services was engaged to create generic enterprise middleware for Network Rail that is capable of providing a core messaging backbone throughout the organization. Based on a "hub and spoke" model, it allows data to be sent from a single system to wherever it is needed within the enterprise. A set of core services have been built within WebSphere Business Integration Message Broker (WBIMB) enabling the middleware to be used in any client environment. IBM is involved from end to end on the project, helping Network Rail to develop its integration strategy, providing project management, designing and developing the middleware, and implementing a thorough architectural control and testing regime that has resulted in an almost fault free solution. The IBM team meets weekly with Network Rail to make sure the work stays on track and, due to the close working relationship that has developed, IBM is now seen as a trusted advisor. The main messaging hub is in place and IBM is continuing to add legacy and new systems to it, enabling an increasing number of systems to exchange information. One of the first integration projects involves taking information from trackside assets - such as power supplies or devices that measure technical information like the state of the wheels on a train as it passes a certain point - and driving it through the enterprise infrastructure so that Network Rail's operational centers can see what is happening on the track more easily and quickly. Any problems, alerts or warning messages can be picked up and responded to appropriately, enabling resources to be allocated more efficiently and increasing train reliability by improving management of the network. Two ruggedized hardware devices from IBM business partners Husky and Symbol were trialled as a central point for collecting status messages from multiple trackside devices and then routing them through to the messaging hub using WebSphere MQ Telemetry Transport (MQTT). The messaging hub is also used to handle the thousands of train information messages that Network Rail receives from all over the UK every day. These messages relate to train times and delays from all the train operating companies that run services on the railway infrastructure and are used by Network Rail to report on how each of the train operating companies is performing on a daily basis. Handling information consistently within Network Rail and basing it on open standards offers a wide variety of possibilities for improvement both now and into the future. For example, IBM is currently working with Network Rail on an external gateway that will enable appropriate information to be fed to external stakeholders such as the train operating companies and freight companies. This will help all stakeholders to work in a more integrated and efficient way, improving the performance of the rail system even further. Business Partner information: Husky United States The Second Business Partner information: Symbol United States Back to top Benefit of the solution The enterprise middleware system implemented by IBM supports Network Rail's Information Management strategy by improving the timely flow of information throughout the organization. Information can be transferred into common views for use in portal or other systems and there is now a standard way for integration to occur within the organization, providing governance and control. Any type of information can be processed whether asset information, passenger information or train information, supporting and providing value for the entire Network Rail organization. Network Rail's overall IT environment has become far more flexible since the introduction of enterprise middleware. Applications can be plugged into the messaging hub quickly and easily, reducing the cost involved in creating individual "point-to-point" data interfaces and facilitating reuse in multiple business processes across the enterprise. Maintenance and operating costs are also reduced with the use of standardized code. Applications are less dependent upon each other as they can use their own data formats and let the messaging hub deal with any integration issues. Once an application is ready to be retired it is simply unplugged and removed without affecting remaining systems. The enterprise middleware will continue to provide benefits for Network Rail into the future. It has the potential to provide exactly the right information, in the correct format, wherever it is needed, whether for Network Rail's use or its key stakeholders. Timely provision of the correct information will enable Network Rail to allocate resources more effectively in order to better manage the railway network. This improves the reliability of rail services and ultimately leads to increased satisfaction for train passengers and freight customers. Solutions/Offerings Services: IBM Global Services - Application Services (GBS-AIS and/or AMS): GBS Application Innovation Services: Enterprise Architecture and Technology Back to top Contact information Primary contact information: W (James) Chaloner Associate Partner (Travel & Transport) Global Business Services IBM Div 70 United Kingdom Telephone: 44-1252-558563 Fax: 44-1252-558001 James Chaloner/UK/IBM@IBMGB [email_address] Additional contact information: Mark Tikerpae Managing Consultant IBM Div 70 United Kingdom Telephone: 44-207-021-9015 Mark Tikerpae/UK/IBM@IBMGB mark.tikerpae@uk.ibm.com
  13. Phone by bed monitors pacemaker Dial-up -> MQTT to WMB -> analytics engine Avoid regular clinic visits
  14. Energy co can send small changes and commands to homes over mobile network, minor temp adjustments -> significant savings
  15. HVAC stands for heating, ventilation, and air conditioning. MQTT very popular with home hackers – home automation, weather stations, power monitoring at home