node.js as an iot bridge

23
Node.js as an IOT Bridge Eduardo Pelegri-Llopart Vice President, Technology Progress Software [email protected] / @pelegri

Upload: eduardo-pelegri-llopart

Post on 05-Dec-2014

773 views

Category:

Engineering


4 download

DESCRIPTION

Why Progress cares about IOT, how our customers are using it, and how Node.js is a great bridge between IOT and Progress's products

TRANSCRIPT

Page 1: Node.js as an IOT Bridge

Node.js as an IOT Bridge

Eduardo Pelegri-Llopart

Vice President, Technology

Progress Software

[email protected] / @pelegri

Page 2: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 2

Agenda

Progress

Why Progress cares about IOT

Why Node.js

iBeacons and Philips Hues

Snow Plows

Page 3: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 3

Progress

Page 4: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 4

Progress Products

Progress OpenEdge

• RDBM, Multi-Tenant DB with 4GL Language (ABL)

• First commercial release in 1984; latest release 11.3

• ERP, CRM, back-end systems.

• Many Faithful ISV and end users

Rollbase – Object-based Productivity Platform (akin to Force.com)

Rollbase Mobile – Apache Cordova-based Mobile Platform

Corticon – Decision Service / Business Rules

Modulus – Node.js and MongoDB Platform

All w/ Flexible Deployment: Public Cloud, Private Cloud, On-Premises

Page 5: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 5

Computing Tomorrow Today!

Page 6: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 6

Many 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: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 7

Some Progress Partners

DMSi

GMT

Macintosh

Jungle Lasers

Page 8: Node.js as an IOT Bridge

So… How Can I Build These Apps?

Page 9: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 9

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 10: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 10

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 11: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 11

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 12: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 12

Roll Call

Page 13: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 13

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 14: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 14

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 15: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 15

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 16: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 16

Snow Plow

Page 17: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 17

Tracking and Managing Snow Plows … With Rollbase

Snow Plows (et al) have GPS unit

Based on Jungle Lasers’ App Goals

Efficiently Managing GPS Stream Data

Exposing data to Rollbase

Page 18: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 18

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 19: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 19

jsdo-node – JDSO Remoting into Node.js Layer

Rollbase App

Node.js Layer

Node JSDO

server objects

Any

JSDO Client

Page 20: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 20

Snow Plow DEMO

Page 21: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 21

What Else?

Page 22: Node.js as an IOT Bridge

© 2014 Progress Software Corporation. All rights reserved. 22

What Else Can We Do with Node? Samples at http://github.com/progress

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

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

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

Page 23: Node.js as an IOT Bridge