SlideShare a Scribd company logo
1 of 49
Download to read offline
© 2013 Kaazing Corporation. All Rights Reserved.
1
Controlling Physical Devices on
the Real Time Web
David Witherspoon
Prashant Khanal
Sep 25, 2013
© 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
© 2013 Kaazing Corporation. All Rights Reserved.
Demo!
© 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
© 2013 Kaazing Corporation. All Rights Reserved.
Internet of Things
Ubiquitous/Pervasive
Heterogeneous
Highly Interconnected
Event-Driven/Real Time
Identifiable Components
Always On
Scalable
Manageable
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi
Image source: http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
© 2013 Kaazing Corporation. All Rights Reserved.
Raspberry Pi Resources
§  RaspberryPi.org
§  Wheezy (OS)
§  Oracle JVM
§  Pi4J (Raspberry Pi Java Library)
© 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 / Bidirectional
§  Dynamic States (Could be on or off)
§  Messaging Protocol Requirements
§  Identity
§  Data formats
§  Transactions
§  Acknowledgments
§  And more …
© 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
© 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 browsers
© 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
§  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
© 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
© 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
XMPP/WS
© 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/
© 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
© 2013 Kaazing Corporation. All Rights Reserved.
© 2013 Kaazing Corporation. All Rights Reserved.
The End

More Related Content

What's hot

Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?Andy Davies
 
Apache httpd 2.4 overview
Apache httpd 2.4 overviewApache httpd 2.4 overview
Apache httpd 2.4 overviewJim Jagielski
 
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyJim Jagielski
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersViktor Gamov
 
WebGL and Real-Time Web Communication
WebGL and Real-Time Web CommunicationWebGL and Real-Time Web Communication
WebGL and Real-Time Web CommunicationPeter Moskovits
 
Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016Jim Jagielski
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaultsMatias Korhonen
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matterTomas Doran
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
 
HTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2 - for TCP/IP Geeks StockholmHTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2 - for TCP/IP Geeks StockholmDaniel Stenberg
 
Implementing real time web applications with Django
Implementing real time web applications with DjangoImplementing real time web applications with Django
Implementing real time web applications with DjangoKristian Houlberg Øllegaard
 
Writing Portable WebSockets in Java
Writing Portable WebSockets in JavaWriting Portable WebSockets in Java
Writing Portable WebSockets in Javajfarcand
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onMatt Raible
 
Jetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet ContainerJetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet ContainerCodemotion
 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24Jim Jagielski
 
How to secure your web applications with NGINX
How to secure your web applications with NGINXHow to secure your web applications with NGINX
How to secure your web applications with NGINXWallarm
 
HTML5 Real-Time and Connectivity
HTML5 Real-Time and ConnectivityHTML5 Real-Time and Connectivity
HTML5 Real-Time and ConnectivityPeter Lubbers
 
Word campktm speed-security
Word campktm speed-securityWord campktm speed-security
Word campktm speed-securityDigamber Pradhan
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudArun Gupta
 

What's hot (20)

Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
Apache httpd 2.4 overview
Apache httpd 2.4 overviewApache httpd 2.4 overview
Apache httpd 2.4 overview
 
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
 
WebGL and Real-Time Web Communication
WebGL and Real-Time Web CommunicationWebGL and Real-Time Web Communication
WebGL and Real-Time Web Communication
 
Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPress
 
HTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2 - for TCP/IP Geeks StockholmHTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2 - for TCP/IP Geeks Stockholm
 
Implementing real time web applications with Django
Implementing real time web applications with DjangoImplementing real time web applications with Django
Implementing real time web applications with Django
 
Writing Portable WebSockets in Java
Writing Portable WebSockets in JavaWriting Portable WebSockets in Java
Writing Portable WebSockets in Java
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-on
 
HTTP/2 in Examples
HTTP/2 in ExamplesHTTP/2 in Examples
HTTP/2 in Examples
 
Jetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet ContainerJetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet Container
 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24
 
How to secure your web applications with NGINX
How to secure your web applications with NGINXHow to secure your web applications with NGINX
How to secure your web applications with NGINX
 
HTML5 Real-Time and Connectivity
HTML5 Real-Time and ConnectivityHTML5 Real-Time and Connectivity
HTML5 Real-Time and Connectivity
 
Word campktm speed-security
Word campktm speed-securityWord campktm speed-security
Word campktm speed-security
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
 

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

Building Real-Time Enterprise Applications for the Internet of Things
Building Real-Time Enterprise Applications for the Internet of ThingsBuilding Real-Time Enterprise Applications for the Internet of Things
Building Real-Time Enterprise Applications for the Internet of ThingsPeter Moskovits
 
WebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SF
WebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SFWebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SF
WebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SFFrank Greco
 
Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...
Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...
Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...Peter Moskovits
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureFrank Greco
 
The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014Frank Greco
 
Migration to microsoft_azure_with_zscaler
Migration to microsoft_azure_with_zscalerMigration to microsoft_azure_with_zscaler
Migration to microsoft_azure_with_zscalerZscaler
 
Flash card architect network infra in azure
Flash card architect network infra in azureFlash card architect network infra in azure
Flash card architect network infra in azureYoong Seng Lai
 
Demystifying the Mobile Container - PART I
Demystifying the Mobile Container - PART IDemystifying the Mobile Container - PART I
Demystifying the Mobile Container - PART IRelayware
 
De-Witt Tromp- Introduction to Zero Trust & SASE.
De-Witt Tromp- Introduction to Zero Trust & SASE.De-Witt Tromp- Introduction to Zero Trust & SASE.
De-Witt Tromp- Introduction to Zero Trust & SASE.itnewsafrica
 
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...SOASTA
 
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...SOASTA
 
Network Visibility For Openstack Operations
Network Visibility For Openstack OperationsNetwork Visibility For Openstack Operations
Network Visibility For Openstack OperationsDebojyoti Dutta
 
8 software defined networking and traffic engineering partha narasimhan_ash c...
8 software defined networking and traffic engineering partha narasimhan_ash c...8 software defined networking and traffic engineering partha narasimhan_ash c...
8 software defined networking and traffic engineering partha narasimhan_ash c...Aruba, a Hewlett Packard Enterprise company
 
Oracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service OverviewOracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service OverviewJinyu Wang
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshopShubhra Kar
 
Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019
Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019 Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019
Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019 Amazon Web Services
 
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &MLAWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &MLAmazon Web Services
 
Schneider electric powers security transformation with one simple app copy
Schneider electric powers security transformation with one simple app   copySchneider electric powers security transformation with one simple app   copy
Schneider electric powers security transformation with one simple app copyZscaler
 
Optimize Data Connectivity in .NET Applications
Optimize Data Connectivity in .NET ApplicationsOptimize Data Connectivity in .NET Applications
Optimize Data Connectivity in .NET ApplicationsAbhishek Kant
 
Rethinking Cybersecurity for the Digital Transformation Era
Rethinking Cybersecurity for the Digital Transformation EraRethinking Cybersecurity for the Digital Transformation Era
Rethinking Cybersecurity for the Digital Transformation EraZscaler
 

Similar to JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on the Real Time Web (20)

Building Real-Time Enterprise Applications for the Internet of Things
Building Real-Time Enterprise Applications for the Internet of ThingsBuilding Real-Time Enterprise Applications for the Internet of Things
Building Real-Time Enterprise Applications for the Internet of Things
 
WebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SF
WebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SFWebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SF
WebSocket Perspectives and Vision for the Future - HTML5DevConf Oct 2013 SF
 
Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...
Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...
Controlling Physical Devices on the Real-Time Web: Enterprise-Grade WebSocket...
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the Future
 
The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014
 
Migration to microsoft_azure_with_zscaler
Migration to microsoft_azure_with_zscalerMigration to microsoft_azure_with_zscaler
Migration to microsoft_azure_with_zscaler
 
Flash card architect network infra in azure
Flash card architect network infra in azureFlash card architect network infra in azure
Flash card architect network infra in azure
 
Demystifying the Mobile Container - PART I
Demystifying the Mobile Container - PART IDemystifying the Mobile Container - PART I
Demystifying the Mobile Container - PART I
 
De-Witt Tromp- Introduction to Zero Trust & SASE.
De-Witt Tromp- Introduction to Zero Trust & SASE.De-Witt Tromp- Introduction to Zero Trust & SASE.
De-Witt Tromp- Introduction to Zero Trust & SASE.
 
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
 
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
20,000 Hours in the Cloud - Top 5 Cloud Lessons Learned By Tom Lounibos, CEO ...
 
Network Visibility For Openstack Operations
Network Visibility For Openstack OperationsNetwork Visibility For Openstack Operations
Network Visibility For Openstack Operations
 
8 software defined networking and traffic engineering partha narasimhan_ash c...
8 software defined networking and traffic engineering partha narasimhan_ash c...8 software defined networking and traffic engineering partha narasimhan_ash c...
8 software defined networking and traffic engineering partha narasimhan_ash c...
 
Oracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service OverviewOracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service Overview
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshop
 
Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019
Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019 Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019
Securing the edge with AWS IoT services - FND330 - AWS re:Inforce 2019
 
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &MLAWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
 
Schneider electric powers security transformation with one simple app copy
Schneider electric powers security transformation with one simple app   copySchneider electric powers security transformation with one simple app   copy
Schneider electric powers security transformation with one simple app copy
 
Optimize Data Connectivity in .NET Applications
Optimize Data Connectivity in .NET ApplicationsOptimize Data Connectivity in .NET Applications
Optimize Data Connectivity in .NET Applications
 
Rethinking Cybersecurity for the Digital Transformation Era
Rethinking Cybersecurity for the Digital Transformation EraRethinking Cybersecurity for the Digital Transformation Era
Rethinking Cybersecurity for the Digital Transformation Era
 

More from Peter Moskovits

Liberating the Black Box - Real-Time Communications for the Internet of Things
Liberating the Black Box - Real-Time Communications for the Internet of ThingsLiberating the Black Box - Real-Time Communications for the Internet of Things
Liberating the Black Box - Real-Time Communications for the Internet of ThingsPeter Moskovits
 
Goo technologies pres sfhtml5_v1_130529
Goo technologies pres sfhtml5_v1_130529Goo technologies pres sfhtml5_v1_130529
Goo technologies pres sfhtml5_v1_130529Peter Moskovits
 
Building Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSocketsBuilding Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSocketsPeter Moskovits
 
Real Life WebSocket Case Studies and Demos
Real Life WebSocket Case Studies and DemosReal Life WebSocket Case Studies and Demos
Real Life WebSocket Case Studies and DemosPeter Moskovits
 
Ore dev2011 kaazing_websockets
Ore dev2011 kaazing_websocketsOre dev2011 kaazing_websockets
Ore dev2011 kaazing_websocketsPeter Moskovits
 
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Peter Moskovits
 

More from Peter Moskovits (6)

Liberating the Black Box - Real-Time Communications for the Internet of Things
Liberating the Black Box - Real-Time Communications for the Internet of ThingsLiberating the Black Box - Real-Time Communications for the Internet of Things
Liberating the Black Box - Real-Time Communications for the Internet of Things
 
Goo technologies pres sfhtml5_v1_130529
Goo technologies pres sfhtml5_v1_130529Goo technologies pres sfhtml5_v1_130529
Goo technologies pres sfhtml5_v1_130529
 
Building Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSocketsBuilding Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSockets
 
Real Life WebSocket Case Studies and Demos
Real Life WebSocket Case Studies and DemosReal Life WebSocket Case Studies and Demos
Real Life WebSocket Case Studies and Demos
 
Ore dev2011 kaazing_websockets
Ore dev2011 kaazing_websocketsOre dev2011 kaazing_websockets
Ore dev2011 kaazing_websockets
 
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
 

Recently uploaded

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 

Recently uploaded (20)

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 

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

  • 1. © 2013 Kaazing Corporation. All Rights Reserved. 1 Controlling Physical Devices on the Real Time Web David Witherspoon Prashant Khanal Sep 25, 2013
  • 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. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  • 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. © 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. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Image source: http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
  • 7. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Resources §  RaspberryPi.org §  Wheezy (OS) §  Oracle JVM §  Pi4J (Raspberry Pi Java Library)
  • 8. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  • 9. © 2013 Kaazing Corporation. All Rights Reserved. Demo Setup
  • 10. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  • 11. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  • 12. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  • 13. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Controlling the Light Directly
  • 14. © 2013 Kaazing Corporation. All Rights Reserved. Demo Setup
  • 15. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Reading from a Toggle Switch
  • 16. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Reading from a Toggle Switch
  • 17. © 2013 Kaazing Corporation. All Rights Reserved. Raspberry Pi Reading from a Toggle Switch
  • 18. © 2013 Kaazing Corporation. All Rights Reserved. Demo Setup
  • 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. © 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. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub
  • 22. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  • 23. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  • 24. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  • 25. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  • 26. © 2013 Kaazing Corporation. All Rights Reserved. LightJmsTcpController Using JMS to Control a Light
  • 27. © 2013 Kaazing Corporation. All Rights Reserved. ToggleJmsTcpListener Using JMS to Send Events
  • 28. © 2013 Kaazing Corporation. All Rights Reserved. ToggleJmsTcpListener Using JMS to Send Events
  • 29. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub
  • 30. © 2013 Kaazing Corporation. All Rights Reserved. Challenges with TCP §  Isolated networks §  Firewalls §  Ports §  Web browsers
  • 31. © 2013 Kaazing Corporation. All Rights Reserved. How to Extend This to the Web
  • 32. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub Over the Web
  • 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. © 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. © 2013 Kaazing Corporation. All Rights Reserved. Controlling the Light Remotely Using Pub-Sub Over the Web
  • 36. © 2013 Kaazing Corporation. All Rights Reserved. Demo!
  • 37. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket with Brokers
  • 38. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket with Brokers
  • 39. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket with Brokers
  • 40. © 2013 Kaazing Corporation. All Rights Reserved. Internet of Things
  • 41. © 2013 Kaazing Corporation. All Rights Reserved. Internet of Things == Web of Things
  • 42. © 2013 Kaazing Corporation. All Rights Reserved. The Architecture
  • 43. © 2013 Kaazing Corporation. All Rights Reserved. The Web of Things
  • 44. © 2013 Kaazing Corporation. All Rights Reserved. WebSocket Powering the Web of Things WS WS WS WS WS WS WS WS WS
  • 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. © 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. © 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. © 2013 Kaazing Corporation. All Rights Reserved.
  • 49. © 2013 Kaazing Corporation. All Rights Reserved. The End