WSO2 IoT:
Manage, integrate, secure, and analyze IoT and mobile devices and applications
WSO2 Device Cloud:
Hosted and managed by WSO2, Currently supports Android, iOS device management capabilities. Full set of WSO2 IoT Server functionalities will be supported by 2017 Q3
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
WSO2 IoT Server and Device Cloud
1. WSO2 IoT Server and Device Cloud
Bringing the flexibility of open source to your IoT and
mobile projects
June, 2017
2. ▪ Brief Introduction to WSO2 IoT Server
▪ Demo - Using IoT Platform APIs
▪ Android, XBee Integration
▪ Demo Stations
○ XBee - Android Integration
○ Android, iOS, Windows Device Management
○ WSO2 Building Monitor
○ BLE Beacon Management
○ Remote Display Management
○ Desktop/Laptop Management
AGENDA
2
3. WSO2: OPEN TECHNOLOGY FOR AGILE DIGITAL BUSINESS
3
Platform enable your
digital business with
microservices and micro
integrations
Manage identity,
security, and privacy
across your digital
business
Make mobile and IoT
devices integral to your
digital business
Create real-time,
intelligent, actionable
business insights and data
products
Build internal and external
developer ecosystems
with an API marketplace
5. ▪ Manage devices, sensors & capture data from them
▪ Connect devices and their data to larger enterprise ecosystem
▪ Transform information into actionable insights in real time
▪ Support for multi-tenancy
▪ Full product capabilities are available as consumable APIs
▪ Web-based management console and user portal (with easily
customizable theme)
▪ Extensible product architecture to address complex IoT architectures
▪ Container friendly deployment
▪ Upcoming release (July 2017) - WSO2 IoT Server 3.1.0
WSO2 IOT SERVER
Overview
5
6. WSO2 IoT PLATFORM
6
Typical Use Cases
▪ A system of systems: connect
multiple systems together
▪ Better consumer experience with
connected data and business
processes
▪ Digitize legacy systems: Mediate
legacy with modern architecture
paradigms.
▪ Hybrid integration by taking on-
premise data and processes into
the cloud and back
7. TRANSFORMATION: FROM AN EMM PRODUCT TO IOT PLATFORM
● Started with an enterprise mobility management (EMM) product
○ EMM 1.0.0 (2013) -> 1.1.0 -> 2.0.0 -> 2.0.1 -> 2.1.0 -> 2.2.0 (November 2016)
● Generalized to a broader device management platform
○ IoT Server 3.0.0 (February 2017) -> IoT Server 3.1.0 (July 2017)
○ Generalized device management platform
○ Extensible plugin architecture
○ EMM capabilities re-implemented as plugins on top of a platform that can do much more
○ Scenario specific analytics
7
History
13. WSO2 IOT SERVER
Device Integration
● Built-in protocol support for MQTT, XMPP, HTTP and extensible
transport support
● Devices are exposed as subscribable managed APIs on top of WSO2
API management capabilities
● Support for CoAP and OMA-DM via third-party (Eclipse Leshan)
integrations
● Real-time message capability based on values from device
13
14. WSO2 IOT SERVER
Smart Analytics
14
● Supports Time series data processing
● Anomaly/failure detection
● Stationary dots
○ View of the current status, alerts on
problems, drill down, and root cause
analysis
○ Optimization of current operations
○ Preventive maintenance
○ Surveillance
● Moving Dots
○ Geo Fencing/Tagging/Alerting
17. WSO2 IOT SERVER
Android-Based Device Management
● Firebase Cloud Messaging (FCM) or local push notifications
● Auto enroll device with mutual SSL
● Integrate with Android system service apps (sign with vendor firmware
signing key)
○ Reboot, firmware upgrade, silent app install/update/remove, etc.
● Data containerization
● Android for work support
● Device ownership application via device owner APIs (for COPE)
● Support for corporate-owned, single use (COSU) devices
17
19. WSO2 IOT SERVER
Android-Based Device Management - Private App Store
● Custom apps + public apps through Playstore/AppStore
● Enterprise subscriptions - Provision apps to devices/users with a
certain role (e.g. auto provision an inventory app to all inventory
officers)
● Rating, Liking and Sorting apps in private app store
19
20. ● Enterprise subscriptions - install an app to all devices/users/user roles
● Role-based restrictions for apps
● App lifecycle management
● Mobile app versioning
● Instant or scheduled app updates
● App lifecycle management
WSO2 IOT SERVER
Android-Based Device Management - App Lifecycle
20
INITIAL CREATED IN-REVIEW
REJECTED
APPROVED PUBLISHED
DEPRECATED
UNPUBLISHED
RETIRED
21. WSO2 IOT SERVER
Edge Computing
● A platform specific packaged offering of WSO2 Siddhi
○ E.g.
• Edge Computing Engine for Android
• Edge Computing Engine for Yocto Linux
● WSO2 Siddhi
○ Lightweight, easy-to-use open source complex event processing (CEP) engine
○ https://github.com/wso2/siddhi
● Centralized distribution of rules and offline execution mode
21
22. WSO2 IOT SERVER
100% API Driven Device Management Platform
● Complete IoT platform is available an API
● Facilitates easier integration to existing applications
● Management Console is just an optional administrative web app
● REST, OAuth2 protected
22
23. WSO2 IOT SERVER
100% API Driven Device Management Platform
23
// Adding a Device Type
curl -X POST http://localhost:8280/api/device-mgt/v1.0/admin/device-types
-H ‘authorization: Bearer 77d11b5e-2363–3c99-afb3-c0381600b977’
-H ‘content-type: application/json’
-d
‘{“name”: “firealarm”,”deviceTypeMetaDefinition”: {“properties”: [“buildingId”, “floorId”],”features”:
[{“code”: “bulb”,”name”: “control bulb”,”description”: “on the bulb”},{“code”: “ring”,”name”:
“ring”,”description”: “this can be used test”}],”pushNotificationConfig”: {“type”: “MQTT”,”scheduled”:
false},”description”: “this is a new remote control firealarm”, “initialOperationConfig”: {“operations”:
[“bulb”]}}}
// Sending operation to a device
curl -X POST http://localhost:8280/api/device-mgt/v1.0/devices/firealarm/operations
-H ‘accept: application/json’
-H ‘authorization: Bearer 7e5cad0f-cf78–3981-b50e-db9d674fb741’
-H ‘content-type: application/json’
-d ‘{“deviceIdentifiers”:[123422],”operation”:{“code”:”ring”,”type”:”CONFIG”,
“payLoad”:”volume:30%”}}’
24. WSO2 IOT SERVER
Policy Management
● Policy Management API - exposes all actions that can be done
with policies
● Policy Administration Point (PAP)
● Policy Decision Point (PDP) - evaluates the policy by comparing
the rules of the policy and device details
● Policy Information Point (PIP) - responsible for retrieving policies and
device details for PDP to evaluate
● Policy Enforcement Point (PEP) - responsible for enforcing policy on
device
24
25. WSO2 IOT SERVER
Extensible Security Framework
● OOB capabilities
○ OAuth2
• OAuth2 token is issued per every device instance connected
• Per device instance tokens using Dynamic Client Registration (DCR)
• Token Verification support available for HTTP & MQTT protocols
○ SCEP (Simple Certificate Enrollment Protocol)
• Each device is identified to IoT Server (and vice versa) using a SSL certificate
• Device sending a certificate sign request (CSR) with unique identifier (challenge password)
generated by IoT Server
● Extensible to support multi factor verifications or custom token types
25
27. DEVICE CLOUD
● Hosted and managed by WSO2
● Currently supports Android, iOS device management capabilities
● Full set of WSO2 IoT Server functionalities will be supported by 2017
Q3
27
30. WSO2 IOT SERVER
Why choose us?
● Built on WSO2’s mature technology platform which handles billions of a transactions a day by Global 2000
companies (through APIM, Integration, IDAM, Analytics)
● Most adaptable IoT Platform
○ Apache licensed open source
○ Mature extensibility platform for different device types
○ Fully API enabled
○ Supports popular mobile phones and tablets as IoT sensor and interaction devices
○ Add smarts and auto-responsiveness with powerful real-time event analysis at server and on the edge
○ Identity pluggability and integration
● Complete reference architectures for connected product solutions (consumer, wearable, appliance, health,
smart displays, industrial equipment)
● WSO2 Device Cloud is enterprise-grade platform that provides instant access to the system for evaluation,
demonstrations, proofs of concept, and initial deployment, leading to on-prem migration if/when needed
30
33. Create Device Type
Register Device Type
33
curl -X POST http://localhost:8280/api/device-mgt/v1.0/admin/device-types
-H 'authorization: Bearer 6363523e-d861-37eb-9d39-13d86e5703eb'
-H 'content-type: application/json'
-d
'{"name": "senseme","deviceTypeMetaDefinition": {"features": [{"code":
"bulb","name": "control bulb","description": "toggle the
bulb"}],"pushNotificationConfig": {"type": "MQTT","scheduled": false},"description":
"this is a new remote control bulb"}}
39. Retrieve data from device
39
History
curl -k -X GET 'https://localhost:8243/api/device-
mgt/v1.0/events/senseme/123422?offset=0&limit=100&from=1496534699000&to=1496577899000'
-H 'authorization: Bearer 6363523e-d861-37eb-9d39-13d86e5703eb'
-H 'content-type: application/json'
Last Known
curl -k -X GET 'https://localhost:8243/api/device-mgt/v1.0/events/last-known/senseme/123422' -H
'authorization: Bearer 6363523e-d861-37eb-9d39-13d86e5703eb'
-H 'content-type: application/json'