Java in the Air: A Case Study for Java-Based Environment Monitoring Stations 
Marco Carrer, Eurotech 
Andrew Gilbert, Oracle 
JavaONE 2014, San Francisco
Agenda 
•IoT Present and Challenges 
•Java, OSGi and Eclipse Kura: IoT Gateway Services 
•Embedded Data Streams: Edge Analytics 
•Use Case: Environment Monitoring Stations 
•Q&A
Gartner’s Hype Cycle
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
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
IoT Architecture 
Business Applications 
Sensors, Actuators, Displays, … 
@ 
Application Framework + Multi-Service Gateway 
M2M/IoT Integration Platform on Cloud 
M2M Integration Platform
IoT Gateway Stack 
Increase productivity and lower time to market 
OSGi 
on 
Linux 
Hardware 
Java SE Embedded 
Code 
Code 
Code
Java Today 
The most popular programming language for Enterprise Applications 
9+ Million Java Developers 
Stewardship & Innovation
Java Tomorrow 
The most popular programming language 
for Enterprise & Embedded & IoT Applications 
JAVA DEVICES
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
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)
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
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
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
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.
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
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
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
Efficient Handling of Streaming Data Flow Event Processing Network (EPN) Example
Use Case: Environmental Monitoring 
From this… 
… to this.
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
Eurotech ReliaSENS 18-12 
•One data point every minute 
•Aggregated averages every hour, 8 hours, and daily 
•Configurable thresholds and remote re-calibration
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
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
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
Java in the Air: CQL Examples 
Stats CQL Query 
Alerts CQL Query
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
Demo
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
You are important! 
•Learn More - come visit us on the Exhibition Floor: 
–Eurotech Booth 
–Oracle Booth 
–Eclipse Booth 
•Contribute! www.eclipse.org/kura
www.eurotech.com 
Thank You! 
www.oracle.com

People Counting: Internet of Things in Motion at JavaOne 2013

  • 1.
    Java in theAir: A Case Study for Java-Based Environment Monitoring Stations Marco Carrer, Eurotech Andrew Gilbert, Oracle JavaONE 2014, San Francisco
  • 2.
    Agenda •IoT Presentand Challenges •Java, OSGi and Eclipse Kura: IoT Gateway Services •Embedded Data Streams: Edge Analytics •Use Case: Environment Monitoring Stations •Q&A
  • 3.
  • 4.
    IoT Challenges WhereIoT 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 EnablingNew 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
  • 6.
    IoT Architecture BusinessApplications Sensors, Actuators, Displays, … @ Application Framework + Multi-Service Gateway M2M/IoT Integration Platform on Cloud M2M Integration Platform
  • 7.
    IoT Gateway Stack Increase productivity and lower time to market OSGi on Linux Hardware Java SE Embedded Code Code Code
  • 8.
    Java Today Themost popular programming language for Enterprise Applications 9+ Million Java Developers Stewardship & Innovation
  • 9.
    Java Tomorrow Themost popular programming language for Enterprise & Embedded & IoT Applications JAVA DEVICES
  • 10.
    Linux OS EmbeddedApp •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 JavaSE 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 ofConnected 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 ofdata 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
  • 19.
    Efficient Handling ofStreaming Data Flow Event Processing Network (EPN) Example
  • 20.
    Use Case: EnvironmentalMonitoring From this… … to this.
  • 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 theAir: 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 JavaSE 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 theAir: 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
  • 28.
  • 29.
    Summary •EPN formodelling 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
  • 31.