what is iot and how modulus and pacific can help - featuring node.js and rollbase

43
What Is IoT, and How Modulus and Pacific Can Help Eduardo Pelegri-Llopart Vice President, Technology Progress Software

Upload: eduardo-pelegri-llopart

Post on 05-Dec-2014

352 views

Category:

Software


0 download

DESCRIPTION

Presentation at Progress Exchange 2014. The Internet of Things is everywhere, from the connected home to the connected car, from smart watches to smart glasses, from beacons to smart thermostats. In this session we will provide an updated view of the IOT space and we will show you how Pacific technology like Node.js and Rollbase can be used to build IOT applications. The presentation included a demo showing how Node.js and MongoDB can be used to process a GPS feed (from vehicles like snow plows), using MongoDB to store the data. The data is then presented to Rollbase as an external source where it can be combined with other sources in model-driven productivity applications. The content is also exposed via REST through a SPA using AngularJS and through an Apache Cordova (Phonegap)-based mobile app.

TRANSCRIPT

Page 1: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

What Is IoT, and How Modulus

and Pacific Can Help

Eduardo Pelegri-Llopart

Vice President, Technology

Progress Software

Page 2: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 2

Agenda

What Is IoT

What Is Node

Why Node.js and IoT

Two Examples

What Else? Samples, More Samples

Page 3: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 3

What Is IoT

Page 4: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 4

Computing Tomorrow

Page 5: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 5

Computing Today!

Page 6: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 6

Some IoT Applications

Beacons, (indoor) Location Based Services

Payments

Home / Office Automation

Smart Buildings

Industry Automation

Wearables – Secondary Notifications & Health / Fitness

Connected Cars

Smart Cities

….

Very fast moving space Brought to you by the economy

of scale of mobile devices

Page 7: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 7

Protocols

Page 8: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 8

IoT = Connected, Thus, Protocols

Many Protocols, in all layers

Physical: Z-Wave, Zigbee, Bluetooth LE, Wi-Fi, RFID, Thread (new),

Ethernet, Radios

• Radio frequency, range, power consumption

• IP support, Hub/Mesh topology

• Examples: iBeacon (BLE) and Philips Hue (Zigbee)

Session / Communication:

• HTTP, CoAP (doc transfer)

• XMPP, MQTT, AMQP (pub/sub)

What protocol to choose will vary on goals and application

(QoS, Industry/Consumer)

Page 9: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 9

Two Examples: iBeacons and Philips Hue

Apple iBeacon – notification protocol on BLE

• Signal 2/s – 10/s, 3-6months/2years battery

• Power (proximity) and UID (identity)

• Point-to-Point, no pairing, 50 meters

• Indoor microlocation, retail, etc…

Philips Hue

• Ethernet/IP (Bridge) + Zigbee/Mesh (Bulb)

• AC power

• REST interface (to bridge)

• Home automation

Page 10: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 10

Smart Glasses

Page 11: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 11

Display: Glass vs. BT-200

Monocular

Small FOV

Binocular

Large FOV

Google

Glass

Page 12: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 12

Business Use Cases and Key Verticals – Smart Glasses

Business Use Cases

• Rich Communications – phone, messaging, video conferencing, video sharing

• Continuous data streaming – messages, tasks, alerts

• Augmented reality – Training, recording, next-step guideance, compliance

Key Verticals – Enable “Deskless Workers” 10% of workforce

• Military

• Healthcare

• Manufacturing

• Logistics

• Energy/Utilities

Page 13: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 13

Home Automation

Page 14: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 14

Home – Philips Hue,

Nest

Building Energy

Management –

Enlighted Inc

Commercial Appliance

Management

ESEV Charging

Infrastructure

Home & Building Automation / Industrial Management

Page 15: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 15

Business Use Cases

House – Remote control

and monitoring,

Automation, Energy

monitoring and savings…

Smart Buildings – Better

efficiency, Compliance

with new laws

(California Title 24)

Industry 4.0, Smart

Manufacturing

Business Use Cases – House, Office Automation, Smart Buildings

Recall Apple’s track record of moving from “consumer” to “enterprise”

Page 16: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 16

Wearables

Page 17: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 17

Health / Wearables / Secondary Displays

Fast moving field

Fitness bands

Smart watches

Smart clothing

Smart glasses

Page 18: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 18

Wearables – Telematics

Page 19: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 19

Connected Cars

Remote Access to Cars (Tesla, FIAT) and Chargers

OTA (Over-the-Air) Fixes pushed to Tesla Cars

Vehicle tracking, fleets, taxis….

Page 20: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 20

Beacons

Page 21: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 21

Beacons

Page 22: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 22

Business Use Cases – Beacons

Business Use Cases

• Retail – Targeted Advertising, Special Offers,

Loyalty Apps, Indoor Micro-location and Navigation

• Warehousing – Location, Inventory

• Electronic Payments

Some Ongoing Trials:

Page 23: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 23

Smart Cities

Page 24: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 24

Smart Cities

Garbage Trucks Lights Utilities Traffic Lights Government 2.0

Page 25: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

So… How Can I Build These Apps?

Page 26: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 26

Enter Modulus

Page 27: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 27

What Is Node.js

Page 28: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 28

Node.js = V8 + libuv (+ xtras) + Community (NPM)

A JavaScript Runtime to run outside of the browser

Builds on the Javascript V8 engine and libuv library for async IO

Highly Efficient

Highly Portable

Event-Driven

Built-in package manager (NPM)

Page 29: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 29

Why Are JavaScript & Node Growing So Fast?

Why JavaScript?

Virtually all developers know it

Widest developer footprint of any language

Easy to learn, productive

Even business users learn it fast

Used for everything

Browser, Server-side, Mobile, Wearables, IoT

Used at all levels of the stack

Frontend, middleware and backend DB

Maximizes developer collaboration

All developers can contribute everywhere

Why Node?

Event-based model, highly scalable

Great for data-intensive, real-time apps

Web API Focused

Very good fit for API-first architectures

Extremely efficient

Requires few computational resources

Incredible Community and Ecosystem

Over 97,000 packages

Fast and easy setup

Passes the 5 minute test

Page 30: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 30

Why Is Node a Great Match for IoT

Why JavaScript?

Virtually all developers know it

Widest developer footprint of any language

Easy to learn, productive

Even business users learn it fast

Used for everything

Browser, Server-side, Mobile, Wearables, IoT

Used at all levels of the stack

Frontend, middleware and backend DB

Maximizes developer collaboration

All developers can contribute everywhere

Why Node?

Event-based model, highly scalable

Great for data-intensive, real-time apps

Web API Focused

Very good fit for API-first architectures

Extremely efficient

Requires few computational resources

Incredible Community and Ecosystem

Over 97,000 packages

Fast and easy setup

Passes the 5 minute test

Page 31: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 31

Roll Call Sample

Page 32: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 32

Roll Call Sample

Use iBeacons to detect presence in some space

Record this in our servers

Act on this by manipulating some smart lights

For extra credit smart lights are behind firewall

Page 33: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 33

Mongoose

BLE/iBeacon

iOS

Web

Node MongoDB

POST

request

Express

Roll Call and Node.js

Hue

Bridge

Local

Node

Server

Modulus

Node

Server

iOS

App

Bulb

Bulb

Bulb

Firew

all

Page 34: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 34

Snow Plow Sample

Page 35: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 35

Tracking and Managing Snow Plows … With Rollbase

Snow Plows (et al) have GPS unit

Based on Jungle Lasers’ App

Goal

s

Efficiently Managing GPS Stream Data

Exposing data to Rollbase

Page 36: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 36

End-to-End: Snow Plow / Geo Data Example Location-viewer

Rollbase App

Dashboards

Modulus

JSDO

Remote Objects

AngularJS SPA

App

Municipality Data

Rollbase Mobile

GPS

Data

Node and

MongoDB

OEM Data

(emergencies)

Current Data

Historical Data

Hospital Patients

(e.g. dialysis)

Page 37: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 37

jsdo-node – JDSO Remoting into Node.js Layer

Rollbase App

Node.js Layer

Node JSDO

server objects

Any

JSDO Client

Page 38: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 38

Snow Plow DEMO

Page 39: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 39

What Else?

Page 40: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 40

What Else Can We Do with Node?

Corticon 5.4

REST Interface

Node.js Layer

POST / JSON AngularJS

SPA

Rollbase

Node.js Layer

Invoke REST

AngularJS

SPA

Socket.io

or REST

Rollbase

Mobile

Angular Node OpenEdge REST JSDO

Page 41: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

© 2014 Progress Software Corporation. All rights reserved. 41

Open Source Samples on Node.js and IoT at Github.com/Progress

ios-beacon-scanner

roll-call (4 apps)

angular-demo

corticon-angular-app

corticon-angular-insurance

angular-express-rollbase-seed

angular-rollbase-blog

jsdo-node

locations-viewer

Thanks to David Inglis, Keegan Mendonca and Reeti Banthia, and Jungle Lasers

http://dcinglis.wordpress.com & http://mendoncakeegan.wordpress.com

Page 42: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase

Get session details & presentation downloads

Complete a survey

Access the latest Progress product literature

www.progress.com/exchange2014

Visit the Resource Portal

Page 43: What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Rollbase