jvm-con 2017 – java and iot, will it blend?

35
Java & IoT: will it blend? Benjamin Cabé, Eclipse Foundation @kartben

Upload: benjamin-cabe

Post on 23-Jan-2018

155 views

Category:

Technology


2 download

TRANSCRIPT

Java & IoT: will it blend?

Benjamin Cabé, Eclipse Foundation@kartben

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Typical IoT Architecture

Devices(sensors & actuators)

Applications

telemetry

commands

telemetry

commands

IoT Cloud Platform

Gateways

In reality…

In reality…

Internet of… Silos!

fragmentation complexity lock-in

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Eclipse IoT

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Eclipse IoT Community

2.4 30* 250+ 110Kmillion

lines of codeprojects developers monthly

visitors

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

The 3 IoT Software StacksTOOLS & SDKsONTOLOGIESSECURITY

CONSTRAINED DEVICES

Hardware Abstraction Layer (HAL)

OS / RTOS

CommunicationR

emot

e M

anag

emen

tField protocols IoT protocols

IOT CLOUD PLATFORM

Con

nec

tivi

ty

Mes

sag

e R

outi

ng

OS / PaaS

Device Management

Data Management

Event Management, Analytics & UI

Device Registry

Application Enablement

GATEWAYS AND SMART DEVICES

Rem

ote

Man

agem

ent

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

Hardware Abstraction Layer (HAL)

OS / RTOS

CommunicationR

emot

e M

anag

emen

tField protocols IoT protocols

CONSTRAINED DEVICES

OS Stack for IoT DevicesOS Stack for IoT Devices

JAVA API for MCUs

“Android for IoT”

High performance JVM

Fast, small, … open source!

GPU acceleration

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

Daytrader 3 Benchmark

● 60% less footprint after startup

● 40% less footprint during ramp up

● 2× faster startup time

● Comparable throughput

See https://www.eclipse.org/openj9/oj9_performance.html

vs.

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

OS Stack for IoT Gateways

OSGi implementation

Native support for MQTT

Serial, RS-485, BLE, MODBUS, OPC-UA, CAN Bus, …

NAT, firewall, modem configuration, …

Remote Management over MQTT

Milo

GATEWAYS AND SMART DEVICES

R

emot

e M

anag

emen

t

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

Java VM

OSGi Application Container

Device Abstraction

Gateway Basic Services

Network ConfigurationNetwork Management Field Protocols

Connectivity and Delivery

Ad

min

istr

atio

n G

UI

Op

era

tio

n &

M

anag

em

en

t

Linux

Hardware

App 1 App 2 App n. . . . Applications

Eclipse Kura

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

GATEWAYS AND SMART DEVICES

R

emot

e M

anag

emen

t

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

OS Stack for Home Automation

OSGi implementation

Rule engine to orchestrate “things”

Home automation protocols such asBelkin WeMo, LIFX, Philips Hue, …

Remote firmware update through the GW

Web UI and API for remote control

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

OS Stack for IoT Cloud

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

Device Management

Device Registry

OS Stack for IoT Cloud

OMA LWM2M implementation in Javabuilt on top of Eclipse Californium (CoAP)

Manage software upgrade campaignsindependently of the actual DM protocol

IOT CLOUD PLATFORM

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Eclipse hawkBit

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

IOT CLOUD PLATFORM

Con

nec

tivi

ty

Mes

sag

e R

outi

ng

OS / PaaS

Device Management

Data Management

Event Management, Analytics & UI

Device Registry

Application Enablement

OS Stack for IoT Cloud Platform

Abstract the actual communication protocols via “protocol adapters”

Deploy on:

An Integration Platform for IoT Services

NoSQL data store

REST API

Copyright © 2017 The Eclipse Foundation. All Rights ReservedBenjamin Cabé, Eclipse Foundation - @kartben

Eclipse hono

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

The 3 IoT Software StacksTOOLS & SDKsONTOLOGIESSECURITY

CONSTRAINED DEVICES

Hardware Abstraction Layer (HAL)

OS / RTOS

CommunicationR

emot

e M

anag

emen

tField protocols IoT protocols

IOT CLOUD PLATFORM

Con

nec

tivi

ty

Mes

sag

e R

outi

ng

OS / PaaS

Device Management

Data Management

Event Management, Analytics & UI

Device Registry

Application Enablement

GATEWAYS AND SMART DEVICES

Rem

ote

Man

agem

ent

Application Runtime

Data Management & Messaging

OS / RTOS

Connectivity

Field protocols IoT protocols

Network Management

VortoKeti

tinyDTLS

Milo

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Eclipse IoT Adoption

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Eclipse IoT Programs

Virtual IoTOpen

IoT ChallengeIoT

MarketplaceTestbeds

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

One more thing…

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Eclipse Enterprise for Java (EE4J)Moving Java EE to Eclipse Foundation

Technology

✓✓✓✓

Sponsorship

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

•••

–––

••

Eclipse Enterprise for Java (EE4J)Project Overview

✓✓✓✓

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

● Java-based Machine Learning Framework○ Toolkit for building, training and deploying Neural Networks

● Distributed training○ GPU or Hadoop/Spark

● Use cases:○ network intrusion detection, predictive maintenance,

recommender systems in e-commerce, image recognition, …

Eclipse Deeplearning4j

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

Join us!

2.4 30* 250+ 110Kmillion

lines of codeprojects developers monthly

visitors

* and counting!

https://iot.eclipse.org

Copyright © 2017 The Eclipse Foundation. All Rights Reserved

● Check out the projects○ Contribute ideas, bug fixes, use cases…

● Participate on the mailing lists

● Virtual IoT Meetup○ https://www.meetup.com/virtual-iot

● Propose your project!

Join us!

Thank you!

@[email protected]

https://blog.benjamin-cabe.com