The Internet of Things (IoT) is defined by embedded computing devices endowed with cross-network connectivity. This era of computing has huge potential for connected enterprises and consumers, and already has many successful use cases. IoT systems encompass many types of connectivity patterns, proprietary systems and network types. Just as the Web plays a significant role in providing an open, interoperable, easily deployable framework for today’s enterprise systems, it is not surprising the Web will provide similar benefits to IoT. New Web standards have allowed enterprises to extend their internal real-time systems over the firewall in a natural, unimpeded fashion to provide real-time, dynamic information to their customers and partners to ensure consistency and efficiency. These same Web standards can and should be applied to IoT systems to obtain advantages such as global reach, ease of deployment, economies of scale, ease of development, etc. We will discuss this evolution and explore the further impact of the Web on IoT.
2. Background
§ Director of Technology @ Kaazing
§ Chairman NYJavaSIG (javasig.com)
§ Largest Java UG in North America
8,000+ members
§ frank.greco@kaazing.com, @frankgreco
§ Principal Evangelist - Kaazing
§ kevin.hoyt@kaazing.com, @krhoyt
§ “IoT and the New Web”
5pm today N-121
5. A Primary Tenet of Computing
History
History
If History Repeats Itself, Is There No Future?
6. Let’s Take 1 Step Back to go 2 Steps Ahead…
u Internet – Global system of interconnected networks
that use IP to communicate
u Internetworking – Connecting one network with
another through a series of Gateways that provide a
common method of communication
7. The Web
u A popular application service on the Internet
u Based on TCP/IP
u Advantages
§ Application deployment simplified – URI
§ Interoperable open standards and specifications
§ Ease of programmability – scripting
§ Global reach and Economy of scale
§ Accessed by ubiquitous Browsers and also non-Browsers
u Two major protocols
HTTP (1988/1999) and WebSocket (2007/2011)
8. Now… IoT, IIoT and M2M
u A riff on “Ubiquitous Computing” (“Pervasive”)
• Mark Weisner PARC 1988
u Its early so there’s different definitions
• Similar to early days of Cloud Computing
u M2M has been around for decades.
• Primarily proprietary embedded systems and typically
point-to-point (RPC)
u IoT/IIoT (Industrial IoT)
• Adds Internet connectivity
• Networks of M2M systems connected via IP
9. IoT/IIoT – Connectivity isn’t Sufficient
u No formal API standards
u Many protocol standards – interoperability low
u No common, wide-reaching frameworks
u No composition possibilities
u Difficult to leverage economies of scale
u Barrier to entry is high for millions of app developers
u M2M/IIoT is foreign to most app developers
u Also… we’re in a connected world now
cloud, mobile, web APIs
10. Here’s Where the Web Comes In
u IoT – Internet of Things
• Embedded computing endowed with Internet connectivity
u WoT – Web of Things
• Application and Services layer over IoT
u Apply the benefits of the Web to IoT
u WoT is a uniform interface to access IoT functionality
u Provides the abstraction for control/monitoring (sensors/
actuators)
u Accelerates innovation
u Deployment, development, interoperability, economy of
scale…
u Why is this important?... Evolution
11. The Hidden Web – Most of the Web is Not Visible
browsers
APIs
http://thumbs.dreamstime.com/x/iceberg-23503494.jpg
Services
$2B API Revenue
12. The Web of Things is all about IoT SERVICES!
Developers!
Services
Analytics / CEP
Persistence Engine
Monitoring / Management
Security
Connectivity
Internet
of
Documents
Internet
of
Services
13. But Is HTTP the Right Choice for Every Service?
u Disadvantages of HTTP Request/Response
u Lack of resiliency and robustness
u Enterprise events retrieved by resource intensive polling
techniques
• Much bandwidth is wasted
• Information can be delayed
u Composite services brittle and lack transactionality
u Enterprises learned advantages of ESB 10+ years ago
u See failures of CORBA, Sun RPC, etc.
u Clumsy AJAX/Comet workarounds to simulate real-time
14. There are TWO Web Protocols
Request-Response, Synchronous
Event-based, Asynchronous
WebSocket
15. Big
Data
Risk
Management
The World is Naturally Event-based (“real-time”)
Logistics
Presentation Music
Communication
Health
Monitoring
Home
Security
Remote
Control
Local
Transportation
Intelligent
Appliances
Monitoring and
Management
16. Legacy Web
u Designed for document transfer – HTTP
ü Short-lived Request / Response interaction
u Bidirectional, but half-duplex
ü Traffic flows in only one direction at a time
u Stateless
ü Large amounts of metadata resent for each
request
The Web was not originally designed for
“real-time”, event-based services…
17. WebSocket – “TCP for the Web”
u IETF Protocol and W3C JavaScript API for real-time,
bi-directional, always-on connections
u RFC 6455 – Dec 2011
u Easily add event-based data to web apps
ü ws://mycompany.com/collaboration_svc
ü wss://anothercompany.com/marketdata
u Avoids polling
u Avoids HTTP meta-data overhead
u Shares port with HTTP (80/443)
u Traverses Firewalls
18. Browser and Native Applications
JMS XMPP AMQP B2B FTP VNC MQTT etc
WebSocket
TCP/IP
WebSocket
Gateway
Internet
WebSocket
Gateway
Protocol Layering is Possible
WebSocket is a
Transport
layer!
svc svc svc svc svc svc
19. Typically an App
Server and DB
App Server is
probably not the
right
architecture
Data Flow – Human Web vs WoT
Human
Web
WoT
Large data to client
Small data to server
Do human-readable protocols make sense for non-humans?
22. The Message is the Medium
“…terse, self-classified
messages, networking overhead
isolated to a specialized tier of
devices, and publish/subscribe
relationships are the only way
to fully distill the power of the
coming Internet of Things” –
Francis daCosta
23. History Repeats Itself…
RPC
Asynchronous
RPC
Messaging
REST
Asynchronous
REST
Messaging
ESB ISB?
Enterprise Web/WoT
• Can wait for response
• Tight coupling
• Centralized business
processes
• Vertical interaction
• Easy to understand (xact)
• Future response
• Loose coupling
• Independent business
processes
• More complexity (xact)
Did I mention History repeats itself?...