Eurotech and Oracle Joint presentation at JavaOne 2014 that introduces:
IoT Present and Challenges
Java, OSGi and Eclipse Kura: IoT Gateway Services
Embedded Data Stream: Edge Analytics
Use Case: Environment Monitoring Stations
4. IoT Challenges
Where IoT projects most often fail…
M2M
Communication
Infrastructure
Device Firmware /
Application
Business
Application
Sensors & Device Hardware
Business Application Integration
1
2
3
4
6
•Selecting and integrating sensors, devices, sensors, human machine interfaces (HMI), Meters, legacy field busses & actuators
•Ensuring long life support
•Meeting certification requirements
•Selecting and integrating operating system, device support / drivers
•Implementing the business logic
•Optimum M2M protocols
•WAN cost reduction
•Security
•Device data management
•Device life cycle management
•Security
5
•Decoupling of producers and consumers of data
•Write speeds
•Real-time data streams
•Data storage
•Standard APIs
•Ready to use adapters for standard applications
•CEP / Complex Event Processing capabilities
1
2
3
4
6
5
7
•Application development & life cycle management
•Dashboards, user interaction & interfacing
•Integration (Big Data, social networks, enterprise IT)
7
5. IoT Era
Enabling New Services and faster time to market
Real-time Data Data Analysis & Management
Minimize Downtime – High Availability
Cloud based Services key to reduce cost & complexity
Common Development Environment across M2M solutions
Faster local decision making
Devices in-market
for longer
duration
Risk of opportunity lost or non compliance
Improving operational efficiency
Integration and Automation with existing systems
Portability, security with scalability
Extracting value from large amounts of data
Support for a wide variety of devices
Intermittent connectivity
Security
of Devices and
Data Protection
7. IoT Gateway Stack
Increase productivity and lower time to market
OSGi
on
Linux
Hardware
Java SE Embedded
Code
Code
Code
8. Java Today
The most popular programming language for Enterprise Applications
9+ Million Java Developers
Stewardship & Innovation
9. Java Tomorrow
The most popular programming language
for Enterprise & Embedded & IoT Applications
JAVA DEVICES
10. Linux OS
Embedded App
•Modular software for IoT Gateway Service
•Manage cloud connectivity
•Network configuration and administration (cellular, Wi-Fi, …)
•Support for different field protocols
•(Serial, USB, Modbus, CANbus, …)
•Remote application management, configuration and access
•Integrated development environment
•Application portability
•Open sourced in Eclipse IoT ESF, with Kura at its foundation, is commercially supported, remotely managed, and optimized for industrial gateways and applications.
Java / OSGi
Open HW
Industrial
HW
Eclipse Kura
11. Kura Services
Java SE 7 (Oracle Java SE Embedded, OpenJDK)
OSGi Application Container (Eclipse Equinox, Concierge)
Device Abstraction
javax.comm
Basic Gateway Services
DB Service
Clock Service
Device Profile
Watchdog
Network Configuration
Network Configuration
Field Protocols
Connectivity and Delivery
Data Services
MQTT Paho
Administration GUI
Applications
Your Application
Remote Management
Configuration Management
javax.usb / udev
Cloud Services
Your Application
Firewall, Port Forwarding
Link Monitors
Cellular, Wi-Fi, Ethernet
GPS Position
GPIO / SPI / PWM / I2C
Modbus
CANBus
Custom Protocols
Updates Management
Remote Access (VPN)
12. Kura Developers’ Experience
Designed from ground-up for developers
Emulate on PC
Deploy on Target
Cloud Managed
Start developing your M2M application in the comfort of your PC.
•Full Eclipse Integration
•Target Platform Definition
•Emulated Services
•Run/Debug from Eclipse
•Support Mac/Linux Hosts
When you are ready, deploy your application on the gateway.
•One-click Deployment
•Eclipse Plugin
•Remote Debugging
Provision your application to field devices from the Cloud. Manage your application configuration and lifecycle from a Cloud infrastructure. No more field visits!
•Web-based Console
•REST API Integration
•Smart Alerts
13. Key Elements of Connected Intelligence
Always-on devices connected to variety of sensors and running multiple software applications
1
High-frequency data analysis for instant decision making and automation of information flows
2
Maximizing value from hi-velocity data in real time
3
Fast Data
Real-Time Analytics
Intelligent Devices
14. The value of data decreases over time
Ensuring Real-Time Accuracy, Efficiency, and Scale
Business event
Action Time
Business Value
Data captured
Analysis completed
Action taken
Source: Richard Hackethorn’s Component’s of Action Time
15. Complex Event Processing - CEP
Method of tracking and analyzing data combined from multiple streams to infer events or patterns that suggest more complicated circumstances.
Goal is to identify business meaning of events (such as opportunities or threats) and respond to them as quickly as possible.
Source: http://en.wikipedia.org/wiki/Complex_event_processing
Event Patterns
Event Stream
Fine-grained simple events from sensors and edge devices
Complex Events Machine module non- functional, power outage, device tampering, etc.
16. Complex Event Processing
•Filtering
–New stream filtered for specific criteria, e.g. temperature > 200 F
•Correlation & Aggregation
–Scrolling, time-based window metrics, e.g. average heart pulse rate in the last 3 days
•Pattern Matching
–Notification of detected event patterns, e.g. machine events A, B and C occurred within 15 minute window
•Geospatial, Predictive Modeling and beyond
–Immediate recognition of geographical movement patterns, apply historical business intelligence models using data mining algorithms
Event Patterns
Event Patterns
Complex Events
Machine module non- functional, power outage, device tampering, etc.
Event Stream Fine-grained simple events from sensors and edge devices
17. CEP Engine
Query
Query
Oracle Event Processing Embedded
OEP-E: High-Level Architecture
Input Adapters
Output Adapters
event
event
event
Real-time event data
Context-aware filtering, correlation, aggregation and processing of data
Processed business events for downstream applications
event
event
event
Sensors
Backend Applications
18. Continuous Query Language - CQL
•CQL is based on standard SQL with extensions for streaming data
–CQL queries support filtering, partitioning, aggregation, correlation (joins across streams), and pattern matching on streaming and relational data
–Extends standard SQL by adding notion of Stream, operators for mapping between relations and streams, and extensions for pattern matching
–Window operator (e.g. RANGE 1 MINUTE) transforms stream into a relation
•Example:
–SELECT AVG(temperature) AS avgTemp, tempSensorId FROM temperatureInputStream [RANGE 1 MINUTE] GROUP BY tempSensorId
21. Eurotech ReliaSENS 18-12
Air Out
Air In
Connectivity
•Cellular (3g, GRPS), WiFi
•Ethernet, GPS Positioning
Environment Analysis
•Electromagnetic radiation
•Radioactivity
•Temperature, Humidity, Pressure
Air Quality Measurements
•CO, CO2, NO, NO2, O3
•SO2, H2S, VOC
•PM10
22. Eurotech ReliaSENS 18-12
•One data point every minute
•Aggregated averages every hour, 8 hours, and daily
•Configurable thresholds and remote re-calibration
23. Java in the Air: Architecture
CLOUD (device management and cloud analytics)
Everyware Cloud
MQTT
DEVICE/GATEWAY (data collection and edge analytics)
Linux
Hardware
Java SE Embedded
OSGi
ESF Bundles
OEP-E Bundles
Device Connectivity
EUROTECH DEVICE CLOUD
Device Management
Data
Cache
Oracle Cloud
ORACLE CLOUD
Oracle 12c DB
Oracle 12c OEP
Oracle BI
24. Linux
Hardware
Java SE Embedded
OSGi
ESF
Bundles
OEP-E Bundles
Java in the Air: Gateway
3. MQTT Output Adapter
1. Sensor Input Adapters
2. Event Processing Network
4. Configuration Updates
25. Input Adapters PM10, ELF, TPU, CO2, GEIGER, HF, NO2, CO, O3, VOC
Sensor Malfunctioning Detection
Raw Data Filtering
Stats
Alerts
Raw Data Publisher
Java in the Air: EPN
26. Java in the Air: CQL Examples
Stats CQL Query
Alerts CQL Query
27. MQTT Topic Namespace
Java1
CO2
RAW
FILTERED
DROPPED
STATS
30sec
60sec
ALERTS
CHANGE
MISSING
HF
RAW
FILTERED
DROPPED
STATS
30sec
60sec
ALERTS
CHANGE
MISSING
VOC
RAW
FILTERED
DROPPED
STATS
30sec
60sec
ALERTS
CHANGE
MISSING
29. Summary
•EPN for modelling Embedded Business Logic
•Great Synergies with Remote Configuration and Management
•More things to be explored:
–Out-of-the-box ESF/Kura OEP-E Components
30. You are important!
•Learn More - come visit us on the Exhibition Floor:
–Eurotech Booth
–Oracle Booth
–Eclipse Booth
•Contribute! www.eclipse.org/kura