Your SlideShare is downloading. ×
0
© 2013 Kaazing Corporation. All Rights Reserved.
1
Controlling Physical Devices on
the Real Time Web
David Witherspoon
Pra...
© 2013 Kaazing Corporation. All Rights Reserved.
About Us
§  Prashant Khanal
§  Software Engineer – Kaazing
§  Prashant...
© 2013 Kaazing Corporation. All Rights Reserved.
Demo!
© 2013 Kaazing Corporation. All Rights Reserved.
Agenda
§  Requirements for the IoT
§  Creating a reference architecture...
© 2013 Kaazing Corporation. All Rights Reserved.
Internet of Things
Ubiquitous/Pervasive
Heterogeneous
Highly Interconnect...
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi
Image source: http://www.oracle.com/technetwork/articles/jav...
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Resources
§  RaspberryPi.org
§  Wheezy (OS)
§  Oracle JVM...
© 2013 Kaazing Corporation. All Rights Reserved.
Demo!
© 2013 Kaazing Corporation. All Rights Reserved.
Demo Setup
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Controlling the Light Directly
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Controlling the Light Directly
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Controlling the Light Directly
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Controlling the Light Directly
© 2013 Kaazing Corporation. All Rights Reserved.
Demo Setup
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Reading from a Toggle Switch
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Reading from a Toggle Switch
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Reading from a Toggle Switch
© 2013 Kaazing Corporation. All Rights Reserved.
Demo Setup
© 2013 Kaazing Corporation. All Rights Reserved.
Messaging for the IoT
§  Messaging Style
§  Interconnected / Bidirectio...
© 2013 Kaazing Corporation. All Rights Reserved.
Message Systems/Protocols for the IoT
§  Java Message Service (JMS)
§  ...
© 2013 Kaazing Corporation. All Rights Reserved.
Controlling the Light Remotely Using Pub-Sub
© 2013 Kaazing Corporation. All Rights Reserved.
Demo!
© 2013 Kaazing Corporation. All Rights Reserved.
LightJmsTcpController Using JMS to Control a Light
© 2013 Kaazing Corporation. All Rights Reserved.
LightJmsTcpController Using JMS to Control a Light
© 2013 Kaazing Corporation. All Rights Reserved.
LightJmsTcpController Using JMS to Control a Light
© 2013 Kaazing Corporation. All Rights Reserved.
LightJmsTcpController Using JMS to Control a Light
© 2013 Kaazing Corporation. All Rights Reserved.
ToggleJmsTcpListener Using JMS to Send Events
© 2013 Kaazing Corporation. All Rights Reserved.
ToggleJmsTcpListener Using JMS to Send Events
© 2013 Kaazing Corporation. All Rights Reserved.
Controlling the Light Remotely Using Pub-Sub
© 2013 Kaazing Corporation. All Rights Reserved.
Challenges with TCP
§  Isolated networks
§  Firewalls
§  Ports
§  Web...
© 2013 Kaazing Corporation. All Rights Reserved.
How to Extend This to the Web
© 2013 Kaazing Corporation. All Rights Reserved.
Controlling the Light Remotely Using Pub-Sub Over the Web
© 2013 Kaazing Corporation. All Rights Reserved.
HTML5 WebSocket: TCP for the Web
§  Standard Protocol (IETF): RFC-6455
§...
© 2013 Kaazing Corporation. All Rights Reserved.
Protocol Layering
TCP
JMS XMPP AMQP B2B FTP VNC mktdata etc
Browsers, Nat...
© 2013 Kaazing Corporation. All Rights Reserved.
Controlling the Light Remotely Using Pub-Sub Over the Web
© 2013 Kaazing Corporation. All Rights Reserved.
Demo!
© 2013 Kaazing Corporation. All Rights Reserved.
WebSocket with Brokers
© 2013 Kaazing Corporation. All Rights Reserved.
WebSocket with Brokers
© 2013 Kaazing Corporation. All Rights Reserved.
WebSocket with Brokers
© 2013 Kaazing Corporation. All Rights Reserved.
Internet of Things
© 2013 Kaazing Corporation. All Rights Reserved.
Internet of Things == Web of Things
© 2013 Kaazing Corporation. All Rights Reserved.
The Architecture
© 2013 Kaazing Corporation. All Rights Reserved.
The Web of Things
© 2013 Kaazing Corporation. All Rights Reserved.
WebSocket Powering the Web of Things
WS
WS
WS
WS WS WS
WS
WS
WS
© 2013 Kaazing Corporation. All Rights Reserved.
Extending Protocols to the Web of Things
MQTT/WS
AMQP/WS
JMS/WS
STOMP/WS
...
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Resources
§  RaspberryPi.org
§  http://www.raspberrypi.org...
© 2013 Kaazing Corporation. All Rights Reserved.
Find Out More
§  The Zinger – Blog:
§  http://blog.kaazing.com
§  HTML...
© 2013 Kaazing Corporation. All Rights Reserved.
© 2013 Kaazing Corporation. All Rights Reserved.
The End
Upcoming SlideShare
Loading in...5
×

JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on the Real Time Web

6,738

Published on

JMS is widely used behind enterprise firewalls to build loosely coupled distributed systems. This session discusses how JMS can be extended and applied to an always connected Web and mobile environment to provide interactivity and collaboration by controlling physical objects, such as model cars, remotely. You’ll learn how you can connect an HTML5 client running on the Web browser of a smartphone and Java running on a Raspberry Pi, a credit-card-size computer, in real time, using open industry-standard Web technologies. The presentation features several live demonstrations of the concepts discussed throughout the session.
Presentation given by David Witherspoon and Prashant Khanal on Sep 25, 2013 at JavaOne in San Francisco.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,738
On Slideshare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
50
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on the Real Time Web"

  1. 1. © 2013 Kaazing Corporation. All Rights Reserved. 1 Controlling Physical Devices on the Real Time Web David Witherspoon Prashant Khanal Sep 25, 2013
  2. 2. © 2013 Kaazing Corporation. All Rights Reserved. About Us §  Prashant Khanal §  Software Engineer – Kaazing §  Prashant.Khanal@kaazing.com §  Twitter: @ipras §  David Witherspoon §  Software Engineer – Kaazing §  David.Witherspoon@kaazing.com §  Twitter: @dpwspoon
  3. 3. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  4. 4. © 2013 Kaazing Corporation. All Rights Reserved. Agenda §  Requirements for the IoT §  Creating a reference architecture for IoT §  Live Demos, Live Demos, Live Demos §  Source Code, Source Code, Source Code §  WoT and IoT
  5. 5. © 2013 Kaazing Corporation. All Rights Reserved. Internet of Things Ubiquitous/Pervasive Heterogeneous Highly Interconnected Event-Driven/Real Time Identifiable Components Always On Scalable Manageable
  6. 6. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Image source: http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
  7. 7. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Resources §  RaspberryPi.org §  Wheezy (OS) §  Oracle JVM §  Pi4J (Raspberry Pi Java Library)
  8. 8. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  9. 9. © 2013 Kaazing Corporation. All Rights Reserved. Demo Setup
  10. 10. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  11. 11. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  12. 12. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  13. 13. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  14. 14. © 2013 Kaazing Corporation. All Rights Reserved. Demo Setup
  15. 15. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Reading from a Toggle Switch
  16. 16. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Reading from a Toggle Switch
  17. 17. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Reading from a Toggle Switch
  18. 18. © 2013 Kaazing Corporation. All Rights Reserved. Demo Setup
  19. 19. © 2013 Kaazing Corporation. All Rights Reserved. Messaging for the IoT §  Messaging Style §  Interconnected / Bidirectional §  Dynamic States (Could be on or off) §  Messaging Protocol Requirements §  Identity §  Data formats §  Transactions §  Acknowledgments §  And more …
  20. 20. © 2013 Kaazing Corporation. All Rights Reserved. Message Systems/Protocols for the IoT §  Java Message Service (JMS) §  Standard messaging API §  Vendor independent §  Pub / Sub §  Loosely Coupled
  21. 21. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub
  22. 22. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  23. 23. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  24. 24. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  25. 25. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  26. 26. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  27. 27. © 2013 Kaazing Corporation. All Rights Reserved. ToggleJmsTcpListener Using JMS to Send Events
  28. 28. © 2013 Kaazing Corporation. All Rights Reserved. ToggleJmsTcpListener Using JMS to Send Events
  29. 29. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub
  30. 30. © 2013 Kaazing Corporation. All Rights Reserved. Challenges with TCP §  Isolated networks §  Firewalls §  Ports §  Web browsers
  31. 31. © 2013 Kaazing Corporation. All Rights Reserved. How to Extend This to the Web
  32. 32. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub Over the Web
  33. 33. © 2013 Kaazing Corporation. All Rights Reserved. HTML5 WebSocket: TCP for the Web §  Standard Protocol (IETF): RFC-6455 §  Standard API: §  W3C: JavaScript §  JSR 356: Java EE §  Single socket, full-duplex §  Low overhead: <1% of HTTP §  Low latency: low milliseconds §  SSL support Full duplex
  34. 34. © 2013 Kaazing Corporation. All Rights Reserved. Protocol Layering TCP JMS XMPP AMQP B2B FTP VNC mktdata etc Browsers, Native Applications and IoT Devices WebSocket Gateway Internet WebSocket Gateway
  35. 35. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub Over the Web
  36. 36. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  37. 37. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket with Brokers
  38. 38. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket with Brokers
  39. 39. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket with Brokers
  40. 40. © 2013 Kaazing Corporation. All Rights Reserved. Internet of Things
  41. 41. © 2013 Kaazing Corporation. All Rights Reserved. Internet of Things == Web of Things
  42. 42. © 2013 Kaazing Corporation. All Rights Reserved. The Architecture
  43. 43. © 2013 Kaazing Corporation. All Rights Reserved. The Web of Things
  44. 44. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket Powering the Web of Things WS WS WS WS WS WS WS WS WS
  45. 45. © 2013 Kaazing Corporation. All Rights Reserved. Extending Protocols to the Web of Things MQTT/WS AMQP/WS JMS/WS STOMP/WS XMPP/WS
  46. 46. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Resources §  RaspberryPi.org §  http://www.raspberrypi.org/ §  Wheezy (OS) §  http://www.raspberrypi.org/downloads §  Oracle JVM on the Pi §  http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html §  Pi4J (Raspberry Pi Java Library) §  http://pi4j.com/
  47. 47. © 2013 Kaazing Corporation. All Rights Reserved. Find Out More §  The Zinger – Blog: §  http://blog.kaazing.com §  HTML5 Developer Conference §  October 22-23, 2013, San Francisco, Moscone North §  JMS WebSocket Tutorial §  http://tutorial.kaazing.com §  More developer content §  http://developer.kaazing.com §  RC Car / Light and Switch Code §  https://github.com/dpwspoon/kaazingPi §  The Definitive Guide to HTML5 WebSocket, (Apress, 2013) §  First comprehensive guide on WebSocket §  Use WSK214 for 40% of the e-book 47
  48. 48. © 2013 Kaazing Corporation. All Rights Reserved.
  49. 49. © 2013 Kaazing Corporation. All Rights Reserved. The End
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×