building real-time enterprise applications for the internet of things

40
© 2013 Kaazing Corporation. All Rights Reserved. 1 David Witherspoon Prashant Khanal Oct 30, 2013

Upload: pmoskovi

Post on 20-Aug-2015

619 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved. 1

David Witherspoon Prashant Khanal Oct 30, 2013

Page 2: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

About Us

§  Prashant Khanal §  Software Engineer – Kaazing §  [email protected] §  Twitter: @ipras

§  David Witherspoon §  Software Engineer – Kaazing §  [email protected] §  Twitter: @dpwspoon

Page 3: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo!

Page 4: Building Real-Time Enterprise Applications for the Internet of Things

© 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

Page 5: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Internet of Things

Ubiquitous/Pervasive

Heterogeneous

Highly Interconnected

Event-Driven/Real Time

Identifiable Components

Always On

Scalable

Manageable

Page 6: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Raspberry Pi

Image source: http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html

Page 7: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo!

Page 8: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo Setup

Page 9: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Raspberry Pi Controlling the Light Directly

Page 10: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Raspberry Pi Controlling the Light Directly

Page 11: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Raspberry Pi Controlling the Light Directly

Page 12: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Raspberry Pi Controlling the Light Directly

Page 13: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo Setup

Page 14: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo Setup

Page 15: Building Real-Time Enterprise Applications for the Internet of Things

© 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

Page 16: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Controlling the Light Remotely Using Pub-Sub

Page 17: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo!

Page 18: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

LightJmsTcpController Using JMS to Control a Light

Page 19: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

LightJmsTcpController Using JMS to Control a Light

Page 20: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

LightJmsTcpController Using JMS to Control a Light

Page 21: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

LightJmsTcpController Using JMS to Control a Light

Page 22: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

ToggleJmsTcpListener Using JMS to Send Events

Page 23: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

ToggleJmsTcpListener Using JMS to Send Events

Page 24: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Controlling the Light Remotely Using Pub-Sub

Page 25: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Challenges with TCP

§  Isolated networks

§  Firewalls

§  Ports

§  Web browsers

Page 26: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

How to Extend This to the Web

Page 27: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Controlling the Light Remotely Using Pub-Sub Over the Web

Page 28: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

HTML5 WebSocket: TCP for the Web

§  Standard Protocol (IETF): RFC-6455

§  Standard API:

§  W3C: JavaScript

§  Java, iOS, Android, Flash, .NET/Silverlight

§  Single socket, full-duplex

§  Low overhead: <1% of HTTP

§  Low latency: low milliseconds

§  SSL support Full duplex

Page 29: Building Real-Time Enterprise Applications for the Internet of Things

© 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

Page 30: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Controlling the Light Remotely Using Pub-Sub Over the Web

Page 31: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Demo!

Page 32: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

WebSocket with Brokers

Page 33: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

WebSocket with Brokers

Page 34: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

WebSocket with Brokers

Page 35: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

The Architecture

Page 36: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

WebSocket Powering the Web of Things

WS

WS

WS WS WS WS

WS

WS

WS

Page 37: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Extending Protocols to the Web of Things

MQTT/WS

AMQP/WS

JMS/WS STOMP/WS

XMPP/WS

Page 38: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Find Out More

§  The Zinger – Blog: §  http://blog.kaazing.com

§  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

38

Page 39: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

Page 40: Building Real-Time Enterprise Applications for the Internet of Things

© 2013 Kaazing Corporation. All Rights Reserved.

The End