58
WSO2 IoT Server Director - API Architecture Sumedha Rubasinghe

WSO2Con ASIA 2016: WSO2 IoT Server: Your Foundation for the Internet of Things

Embed Size (px)

Citation preview

WSO2 IoT Server

Director - API Architecture

Sumedha Rubasinghe

IoT is not new !!

**

M2M, IoT

Source: http://community.arm.com/groups/internet-of-things/blog/2014/06

source : http://na1.www.gartner.com/imagesrv/newsroom/images/HC_ET_2014.jpg;wadf79d1c8397a49a2

IoT Ecosystem

WSO2 IoT Server

nogini.com is a manufacterer of fire safety devices.

Sumedha has purchases a fire alarm from nogini.com.

On top of the fire alarm, it says...

Register @ http://nogini.com to activate.SN# - DFHC39308

New Device Owner? Register for an account.

Owner Account gets created using WSO2 Identity Mgt capabilities

Login

My Devices View

Full list of device types available for enrollment

Firealarm

Device detail page with instructions

Register your firealarm

Device Registration powered by backend APIs

Register

My Devices View updated with registered device

Live temperature feed from device

Control operation (from device API)

Sending control signals to devices

Temperature over time

Operational policies per device type/instance

Device Grouping

Device Manufacturer’s Perspective

IoT Ecosystem

**

IoT Platform ChallengesDevice Registration & Management

Integration

Security - Data

ScalabilityEvent Management

App/Firmware Management

Security – Device Access

WSO2 IoT Server “For Server side IoT Architecture”

WSO2 Reference Architecture for IoT

WSO2 IoT Platform

WSO2 IoT Platform - Target Market● Device Manufacturers

○ Looking for software processing platform for new devices

○ Registering new device types

○ Device enrolment for device owners

○ Personalized dashboard for devices (device owners)

○ App building for device control

● Architects

○ Device Integration to existing solution architectures

● Part of WSO2 Cloud (App, API, Integration, Device - cloud)

○ http://cloud.wso2.com

WSO2 IoT Server

● Implementation of WSO2 Reference Architecture for IoT

● Offering WSO2 IoT Platform as a single distribution pack

● 1.0.0 GA - 2016 Q2

Middleware -> IoT Platform

Device Management Challenges

● Manufacturing Phase

● Deployment Phase

● Management / Usage Phase

● Troubleshooting Phase

Connected Device Management Framework

WSO2 IoT Server

Core Concepts

It’s a framework !!

**

Structure of Device Plugin● Plugin to CDMF

■ Currently an OSGI bundle● Controller API

■ API to send/receive control signals to device● Analytics Scripts

● UI component

**

IoT Device

● Piece of hardware● Built for a purpose● Capable of a limited functionality● Control interface● Input/output● Consumes power● Constrained Environment

Characteristics

Summary● Functional Capabilities (Actuators)● Administration Capabilities (Management)● Monitoring Capabilities (Sensor Data)

**

Modeling Device as an API

● eg : HTTP API (not limited to)○ Lock

■ GET http://{ip}/{locationid}/sensors/door1lock/staus■ POST http://{ip}/{locationid}/sensors/door1lock/lock

○ Temperature Sensor■ GET http://{ip}/{locationid}/sensors/temperature1

○ Motor■ POST http://{ip}/{locationid}/actuators/motor1/rotate/{turns}/{direction}

■ GET http://{ip}/{locationid}/actuators/motor1/status

**

Advantages - Devices as APIs● APIs - Standard Integration Pattern

○ Heterogenous devices■ protocols, access control mechanisms, data formats

● App Developers - Already familiar programming paradigm

● Seamless Integration with existing systems● Ability to re-user known patterns for securing, hardening

APIs● API Economy

Different modes of enrolment/registration

● COPE, BYOD

● Multifactor enrolment

● Dumb vs intelligent devices

● Self enrolment vs user enrolment vs bulk enrolment

Enrollment / enrolment ?

App / Firmware Managementpowered by

WSO2 App Manager

**

Supported Protocols

● MQTT

○ Topic per device instance

○ Single topic for IoT Server

● XMPP

○ Jabber account per device instance

● Web sockets

○ Device -> Event Listener -> CEP Output Adaptor (Web

Sockets)

● HTTP

○ HTTP server @ device gateway end

○ CoAP like

Security

● Token based authorization (OAuth2)

● Sharing (UMA)

■ Device owner sharing his device with someone

else

● Sharing device data

● Multi tenancy

Security Challenges

IoT Analytics

IoT Analytics

● How fast do you results?

● How much data to keep?

● Hindsight, insight, foresight

● Acting on data/events

Powered byWSO2 Data Analytics Server

Complex Event ProcessorMachine Learner

“A Framework for processing data to create hindsight, insight and foresight”

Dealing with real time data

Dealing with real time data

Event Receivers

How enterprises can use IoT Platform?

● Device Management

● On boarding new device types with custom

transport/protocol needs

● Performing Analytics on existing device data streams

● Device to middleware integration

● Device to Application lifecycle management via APIs

Device Management in practice @ conference

● Digital Notice Boards

● Word Picker Mobiles