Stay Connected
BLOGS.ORACLE.COM/IMC
TWITTER.COM/ORACLEIMC
YOUTUBE.COM/ORACLEIMCTEAM
FACEBOOK.COM/ORACLEIMC
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Internet of Things Platform Solutions for a Connected World
Łukasz Romaszewski ISV Migration Consultant A&C, ISV Migration Center May 2014
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Webcast Agenda
1
2
3
4
5
Introduction to Oracle’s IoT Platform
On-Device Java platform: Java Embedded Suite (JES)
On-Device event processing: Oracle Event Processing
Demo – how to run OEP on Raspberry Pi
Summary and Q&A
3
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Webcast Agenda
1
2
3
4
5
Introduction to Oracle’s IoT Platform
On-Device Java platform: Java Embedded Suite (JES)
On-Device event processing: Oracle Event Processing
Demo – how to run OEP on Raspberry Pi
Summary and Q&A
4
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 5
Managing Complexity
The Data, Insights, Actions at the Right Time
By 2020 50 Billion Devices will Create an Endless Amount of Data
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Internet of Things/M2M Market Potential
6
M2M Connections driven by developed markets will double in 2 years
Primary drivers in Implementing M2M Projects
Source: Beecham Research Source: IDC’s Worldwide M2M Connection Forecast, 2013
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Internet of Things/M2M Market Potential IoT Business Opportunities
•Manufacturing
•Healthcare
•Insurance
•Finance
•Retail
•Government
•Utilities
•Communications
7
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Internet of Things: Challenges •Complex value chain
•Lack of standardization to build, deploy & manage IoT applications
•Need to analyze Fast data in real time
•No consistency in managing security of data and identity of devices
•No integration platform to convert data into business automation
8
Industrial Automation
Health Care
Home Automation
Smart Grid
Automotive Telematics
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle offers a complete ‘Internet of Things’ platform Standardized Java platform to develop & deploy applications across devices and applications
Scalable analytics with Big Data, event processing and Business Intelligence
Integrate processes between people, applications and devices
Enable security, compliance and data protection across devices and enterprise data center
9
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
EVENT
PROCESSING
JAVA EMBEDDED
SUITE
INDUSTRY APPLICATIONS PARTNER INDUSTRY
APPLICATIONS
BUSINESS APPLICATIONS
Big Data Management System
Business Analytics
Oracle’s Internet of Things Platform
10
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Webcast Agenda
1
2
3
4
5
Introduction to Oracle’s IoT Platform
On-Device Java platform: Java Embedded Suite (JES)
On-Device event processing: Oracle Event Processing
Demo – how to run OEP on Raspberry Pi
Summary and Q&A
11
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Java Embedded Suite On-device Java Platform
12
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Java in the Internet of Things One Language, One Platform, Runs Everywhere
13
Enterprise Data & Applications
Cloud for Embedded
Devices
Meters
Smart Appliances & electronics
Personal Devices
Med-Large Embedded / Multi-function Devices
VoIP Comm
Industrial controls / Network Appliances
Management / Monitoring / Operations
Sensors / Microcontrollers
Connected Vehicles
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
The Spectrum of Java Embedded
14
Small Embedded
Medium Embedded
Large Embedded
Platform Footprint
Device CPU/ GPU/I-O
50KB-1MB
1MB-10MB
10MB-100MB
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Java Embedded in Practice Example Devices
15
• ATMs
• Parking Meters
• POS Systems
• Lottery/Gaming Systems
• Multi Function Printers
• Intelligent Power Module
• Netbooks
• Routers & Switches
• Storage Appliances
• Network Management Systems
• Medical Imaging Systems
• Radar Systems
• Industrial PCs
• Factory Automation Systems
• Geo-Imaging Devices
• Smart Meters
• RFID Readers
• Video Conferencing Systems
• In-Flight Entertainment Systems
• Video Streaming Systems
• Electronic Voting Systems
• Voice Messaging Systems
• Security Systems
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Introducing Oracle Java Embedded Suite
16
Enterprise Data & Applications
Java Embedded Suite
Embedded
DB
• Includes capabilities to support today’s intelligent devices
• Java Embedded runtime plus full SQL DB and Web Server/Services
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Java Embedded Suite (JES) JES consist of three parts:
•Java SE Embedded •Java Standard Edition for embedded devices
•Java DB •Java SQL Database (Derby)
•Glasfish Embedded •Subset of JEE Web Profile
•Servlet container
•RESTful web services
17
OS & Hardware
Java SE Embedded
Java DB (SQL Database)
Glassfish (Web Server)
Your applications
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Java Embedded Suite Competitive Advantages
•Provide an pre-integrated platform that allows flexibility to build and manage a range of devices
•Reduced overall footprint vs the competing platforms
•Configuration options to enable deployment-specific tuning and optimal performance
18
Java Embedded Suite
Embedded
DB
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
JES - Sample Deployment Architecture JES Deployment
•JES acting as a concentrator (hub) of multiple edge devices
•Collects and forwards the data and messages to the backend
•Performs local analytics
•Hosts web services and applications
•Backend system gets aggregated and pre-processed data
19
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Webcast Agenda
1
2
3
4
5
Introduction to Oracle’s IoT Platform
On-Device Java platform: Java Embedded Suite (JES)
On-Device event processing: Oracle Event Processing
Demo – how to run OEP on Raspberry Pi
Summary and Q&A
21
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing for Java Embedded On-device event processing
22
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Enabling New IoT Services
Healthcare Home
Automation Smart
Utilities Industrial
Automation Automotive Telematics
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Device Needs
Always On Performant and Scalable Secure
Remotely Manageable A Platform for New Services
Local Intelligence
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Vendor Ecosystem Needs
26
Manage BOM & Profit
Innovation and Competitive Edge Standards & Regulatory Compliance
Time to Market Readily Available Resources Reuse Across Markets
01010101110101000110101011001000100010101011101010001101010110010001
0011110
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Key Elements of Connected Intelligence
27
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Obstacles to Faster Data Ensuring Real-Time Accuracy, Efficiency, and Scale
28
Business event
Action Time
Bu
sin
ess
Val
ue
Data captured
Analysis completed
Action taken
Source: Richard Hackethorn’s Component’s of Action Time
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Intelligence Is Real-Time, Event-Based Analytics
29
Communication Events Machine Events Security Events Environmental Events Business Logic Events
Oracle Event Processing (OEP) Embedded enables you to harvest real-time business insights from edge devices
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP for Java Embedded Value Propositions • High-speed real-time data capture and analysis enables faster decision
making with helps mitigate the risk of down-time, and helps with continuous process improvement
• Local real-time process monitoring to detect degradation of performance, thus helping with initiation of alerts or requests for operations and maintenance actions
• Significant reduction in noise to signal ratio of data reaching the server, enabling savings in bandwidth and scalability costs
• Faster time to market for devices and easy over-the-air updates post-deployment
30
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Complex Event Processing (CEP) Complex Event Processing
•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.
31
Event Patterns
Event Stream Fine-grained simple events from sensors
and edge devices
Complex Events Machine module non-functional, power outage, device tampering,
etc.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Complex Event Processing (CEP) CEP event patterns
•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
32
Event Patterns
Event Stream Fine-grained simple events from sensors
and edge devices
Complex Events Machine module non-functional, power outage, device tampering,
etc.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
High-Level OEP Architecture
33
CEP Engine
Query
Query
Inp
ut
Ad
apte
rs
Ou
tpu
t A
dap
ters
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP for Java Embedded Components Architecture OEP Architecture
•OEP is a collection of OSGi bundles.
•OEP supports dynamic deployment of OEP applications (also packaged as OSGi bundles).
•Modular architecture simplifies customization of OEP for different environments
•Core OEP programming model is uniform (Java, CQL) across all environments.
34
Modular Architecture based on OSGi
OSGi Module Framework
Module management,
lifecycle & classloading Core service registry
OEP Server Modules (OSGi bundles)
CQL Engine Config &
Admin Logging Adapters . . .
OEP Applications (OSGi bundles)
Application 1 Application 2 . . .
Embedded JRE JavaDB
Java Embedded Suite
OEP Embedded
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
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
35
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP for Java Embedded Features At A Glance
36
Industry leading event processing engine
Continuous Query Language (ANSI standard)
Operates on multiple streams of disparate data
Join incoming streaming data with persisted data
Pluggable framework for I/O adapters
Dynamic remote provisioning of OEP applications
Event processing network simplifies D2D integration
Optimized for ARM and x86 embedded systems
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing –Embedded Cascading architecture: devices -> gateways -> servers
37
• High-speed, real-time data capture
• Supports high throughput event rates
• Event processing query
language based on standard SQL syntax
• Pre-integration with best-in-
class Java Embedded platforms
OEP
(server edition)
Edge devices Gateway devices Data center
OEP Embedded
OEP Embedded
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded - Remote Management and Provisioning
• Devices and gateways are deployed at customer site
• Remote access is needed for
– Monitoring
– Patching
– Provisioning of new functionality
– Configuration and tuning
– Customer self-service
– Turning on and off particular functionality • Separately licensed module
• Maintenance downtime
38
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsdeploy.jar
-url http://raspberrypi.local:9002/wlevsdeployer
-user wlevs
-password wlevs
-install WebcamApp_1.0.0.jar
Install
Installation of a new OEP application on remote device
39
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsdeploy.jar
-url http://raspberrypi.local:9002/wlevsdeployer
-user wlevs
-password wlevs
-update c:\<local_dir>\WebcamApp_1.0.0.jar
Update
Updates the remote OEP server with a new version of an application. Uploads given application bundle from a local file system
40
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsdeploy.jar
-url http://raspberrypi.local:9002/wlevsdeployer
-user wlevs
-password wlevs
-suspend WebcamApp
Suspend
Remotely suspends given OEP application
41
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsdeploy.jar
-url http://raspberrypi.local:9002/wlevsdeployer
-user wlevs
-password wlevs
-resume WebcamApp
Resume
Remotely resumes given OEP application
42
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsdeploy.jar
-url http://raspberrypi.local:9002/wlevsdeployer
-user wlevs
-password wlevs
-uninstall WebcamApp
Uninstall
Removes given OEP application from the remote server
43
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsadmin.jar
-url service:jmx:msarmi://raspberrypi.local:9002/jndi/jmxconnector
-user wlevs
-password wlevs
QUERY
-pretty
-pattern com.bea.wlevs:*,Type=CQLProcessor
List queries
List all CQL queries in a given remote instance of OEP Embedded
44
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsadmin.jar
-url service:jmx:msarmi://raspberrypi.local:9002/jndi/jmxconnector
-user wlevs -password wlevs
REPLACERULE -application HelloWorldApp
-processor HelloWorld –rule MyQuery
„SELECT * FROM Withdrawal [Rows 10]”
Update query
Replaces given CQL query with a new version
45
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
OEP Embedded – Remote Administration
java -jar wlevsadmin.jar
-url service:jmx:msarmi://raspberrypi.local:9002/jndi/jmxconnector
-user wlevs
-password wlevs
SHUTDOWN
Shutdown
Shutdowns the remote OEP server
46
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Webcast Agenda
1
2
3
4
5
Introduction to Oracle’s IoT Platform
On-Device Java platform: Java Embedded Suite (JES)
On-Device event processing: Oracle Event Processing
Demo – how to run OEP on Raspberry Pi
Summary and Q&A
47
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Demonstration
48
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Demo Environment:
•Raspberry Pi Model B •Debian Wheezy (armel version) http://bit.ly/1jpsN7s
•Java Embedded Suite http://bit.ly/Rw0e1d
•Oracle Event Processing Embedded http://bit.ly/1kjMenb
•Free Webcam Capture library from SarXos http://bit.ly/1mjGlEr
•USB web camera •From any store, starting from 5 Euro
•Deliberately low resolution (it works mainly as a motion detector)
49
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Demo Scenario: Event Processing Application
50
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Demo Scenario: Event Processing Application
• Webcam Capture library installed as an OSGI bundle within OEP Embedded
• Motion Detector Adapter class responsible for capturing raw motion events and sending them forward to event processors
• Motion Aggregator captures consecutive motions over 20% of coverage, lasting at least 5 seconds
• Snapshot Generator takes pictures of every motion detected over 20% of coverage and stores them in the snapshot cache
• Incident Handler is triggered by Motion Aggregator and saves all relevant captured images as a zip file.
51
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Motion Detector Adapter
•Intercepts the raw motions from webcam
•Injects motion events into the Event Processing Network (EPN)
52
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Motion Aggregator Query
•Aggregates the motions into incident packages
•Only activates when: •There are at least 3 motions in a row...
•Over 20% image coverage...
•Within 5 seconds...
•All other motions are discarded
•Calculates some additional info:
•First and last event’s timestamp
•Average coverage
•Motion count
•Sum of X and Y deviations from image center
53
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Snapshot Generator Query
•Takes picture for each motion over 20% coverage
•Uses custom function takePicture
•Developed using webcam API
•Registered as custom funtion for given EPN processor
•Draws the current date and area on the top of the picture
•Draws red circle at the point of movement center
•Saves the picture as a byte array output stream into the cache
54
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Snapshot Generator Query
•Takes picture for each motion over 20% coverage
•Uses custom function takePicture
•Developed using webcam API
•Registered as custom funtion for given EPN processor
•Draws the current date and area on the top of the picture
•Draws red circle at the point of movement center
•Saves the picture as a byte array output stream into the cache
55
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Incident Handler Adapter
•Triggered by the aggregation motion events
•Reads all snapshots from the cache which:
•Has timestamp greater or equal to the first stamp of the aggregation event
•Which means they have been captured during aggregated event
•Creates and saves a .zip file containing all captured images
•Potentially could send it to a datacenter
•Or to ADF Mobile application to alarm the house owner!
56
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi Console Output Adapter
•Used to debug and demonstrate the flow of events
•Prints out all three types of events:
•MotionEvent: raw motions captured by webcam library
•AggregatedMotionEvent: incidents calculated by aggregation CQL
•SnapshotEvent: event generated whenever snapshot CQL captures the image
57
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing on Raspberry Pi
58
Let’s see it live!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Webcast Agenda
1
2
3
4
5
Introduction to Oracle’s IoT Platform
On-Device Java platform: Java Embedded Suite (JES)
On-Device event processing: Oracle Event Processing
Demo – how to run OEP on Raspberry Pi
Summary and Q&A
59
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Summary
• OEP for Java Embedded enables high-speed real-time data capture and analysis to enable faster decision making and help mitigate the risk of down-time
• OEP for Java Embedded significantly reduces noise to signal ratio of data reaching the server, enabling savings in bandwidth and scalability costs
• It enables faster time to market for devices and simple over-the-air updates post-deployment
• OEP for Java Embedded can be downloaded for free evaluation on ARMv6/7 development platforms from Oracle Technology Network
60
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Q&A
61
Lukasz Romaszewski Oracle ISV Migration Center FMW Consultant [email protected] ISV Migration Center blog: http://blogs.oracle.com/imc
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 62