SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Brought to you by Henryk
Konsek
IoT gateway Dream Team
Eclipse Kura and Apache Camel
Henryk Konsek
@hekonsek
- engineer at Red Hat
- open source
contributor
- focused on the IoT
- Rhiot project founder
Running Apache Camel in the Eclipse Kura OSGi container.
This talk
● Crash course to the IoT
● Eclipse Kura
● Apache Camel
● Why Camel+Kura?
● How Camel+Kura?
● Demo
This talk
Crash course to the IoT
Hardware. Connected. And sensors.
The Internet Of Things
In drones?
Where is the IoT money?
In hipster startups?
Where is the IoT money?
In the Raspberry Pi?
Where is the IoT money?
Industry.
IoT money
Automotive.
IoT money
Assets management.
IoT money
Smart cities.
IoT money
Military & intelligence.
IoT money
IoT = Data Center + Embedded
IoT consolidates data center and embedded worlds.
The datacenter systems are located in a data center.
Datacenter systems in a nutshell
IoT architecture is a superset of a datacenter architecture.
IoT architecture
Synchronous communication, usually via HTTP.
Communication in the datacenter systems
The “IoT fun” part!
Communication in the IoT systems
Eclipse Kura
OSGi-based IoT gateway for field devices.
What is Eclipse Kura?
OSGi-based IoT gateway for the field devices.
OSGi
● modularity system for Java
● provides modules classpath separation
● promotes hot runtime redeployments
What is Eclipse Kura?
OSGi Application Container (Eclipse Equinox, Concierge)
Java SE 7 / 8 (OpenJDK)
What is Eclipse Kura?
IoT gateway
● collects messages from the edge devices (like sensors)
● performs messages processing/aggregation/forwarding
OSGi-based IoT gateway for the field devices.
OSGi Application Container (Eclipse Equinox, Concierge)
Java SE 7 / 8 (OpenJDK)
Networking Gateway Services Web UI Remote Management
What is Eclipse Kura?
IoT gateway
● collects messages from the edge devices (like sensors)
● performs messages processing/aggregation/forwarding
OSGi-based IoT gateway for the field devices.
OSGi Application Container (Eclipse Equinox, Concierge)
Java SE 7 / 8 (OpenJDK)
Serial GPIO HID BLE I2C Field protocols
Networking Gateway Services Web UI Remote Management
What is Eclipse Kura?
IoT gateway
● collects messages from the edge devices (like sensors)
● performs messages processing/aggregation/forwarding
OSGi-based IoT gateway for the field devices.
OSGi Application Container (Eclipse Equinox, Concierge)
Java SE 7 / 8 (OpenJDK)
Serial GPIO HID BLE I2C Field protocols
Networking Gateway Services Web UI Remote Management
Cloud Services Data Services EP
Connectivity and Delivery
What is Eclipse Kura?
OSGi-based IoT gateway for the field devices.
Gateway TL;DR;
A proxy between field devices and a data center
GATEWAY
Eclipse. Donated by Eurotech (http://eurotech.com).
Who’s behind Kura?
Apache Camel
The message routing framework.
What is Apache Camel?
How to orchestrate messages flow.
What is message routing?
● Apache Camel
● Spring Integration
● Mule
- read message from JMS queue
- transform to JSON
- save to FTP and MongoDB
Crash course to the Apache Camel
from('jms:invoices').
transform { new Invoice(uuid(), it.in.body) }.
marshal().json(Jackson).
multicast().parallelProcessing().
to('ftp:myftp.com/invoices',
'mongodb:myDb?collection=invoices&operation=save')
]
Why Camel and Kura?
Camel provides ~200 OSGi-ready connectors (JMS, REST, CoAP, AMQP,
MQTT…)
How can Kura benefit from Camel?
Enterprise Integration Patterns (EIP)
How can Kura benefit from Camel?
Prevents messages overflow.
EIP - throttler
Provides SLA for the different channels.
EIP - throttler
Dynamically decide where to route the message.
EIP - content based router
Client side load balancing. Useful for field devices connectivity.
EIP - load balancer
How can gateway provide transaction-like behavior
when connecting to a non-transactional service?
EIP - idempotent consumer
How can I control which parts of the field device
should be running at the given moment?
EIP - control bus
How Camel and Kura?
Camel OSGi bundle is started from the Kura.
Kura + Camel: architecture
Invoke REST method every second.
Camel route module for Kura
public class MyKuraRouter extends KuraRouter {
@Override
public void configure() throws Exception {
from("timer:trigger").
to("netty4-http:http://app.mydatacenter.com/api");
}
}
Just deploy the route as the OSGi bundle and enjoy Camel running the Kura.
Concerned about the lifecycle?
Display WiFi networks accessible near the field device using the web
browser.
Fancy example #1
public class MyKuraRouter extends KuraRouter {
@Override
public void configure() throws Exception {
from("netty4-http:http://0.0.0.0:18080").
to("bean:org.eclipse.kura.net.NetworkService?method=getAllWifiAccessPoints");
}
}
Start syncing cached data only when WiFi is accessible.
Fancy example #2
public class MyKuraRouter extends KuraRouter {
@Override
public void configure() throws Exception {
from("kura-wifi:wlan0/mySSID").
to("controlbus:route?routeId=onlineSync&action=start");
from("file:///var/sensor/temperature").
routeId("onlineSync").autoStartup(false).
to("netty4-http://api.mydatacenter.com");
}
}
http://rhiot.io
Rhiot Kura gateway
- Rhiot Kura+Camel router (EuroTech partnership)
- server-side components
- on-going R&D and productization efforts
Rhiot & Red Hat?
Thank you!
Henryk Konsek
@hekonsek
hekonsek@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Catching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) WaveCatching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) WaveChuck Petras
 
Real World IoT Architectures and Projects with Eclipse IoT
Real World IoT Architectures and Projects with Eclipse IoTReal World IoT Architectures and Projects with Eclipse IoT
Real World IoT Architectures and Projects with Eclipse IoTEurotech
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoTIan Skerrett
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyOpen Mobile Alliance
 
IoTlondon - mbed based IoT Gateway talk
IoTlondon - mbed based IoT Gateway talkIoTlondon - mbed based IoT Gateway talk
IoTlondon - mbed based IoT Gateway talkSomeRandomBloke
 
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch SingaporeIoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch SingaporeOpen Mobile Alliance
 
IoT Microservices at the Edge with Eclipse ioFog
IoT Microservices at the Edge with Eclipse ioFogIoT Microservices at the Edge with Eclipse ioFog
IoT Microservices at the Edge with Eclipse ioFogKilton Hopkins
 
Creating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayCreating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayEurotech
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Open Mobile Alliance
 
Advanced MQTT and Kura - EclipseCON 2014
Advanced MQTT and Kura - EclipseCON 2014Advanced MQTT and Kura - EclipseCON 2014
Advanced MQTT and Kura - EclipseCON 2014Eurotech
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platformLudovic Bouvier
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT GatewayLF Events
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
 
3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions3 Software Stacks for IoT Solutions
3 Software Stacks for IoT SolutionsIan Skerrett
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Ian Skerrett
 
A Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of ThingsA Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of ThingsRick G. Garibay
 
Asset Monitoring with Beacons, Lora, NodeJS and IoT Cloud
Asset Monitoring with Beacons, Lora,  NodeJS and IoT CloudAsset Monitoring with Beacons, Lora,  NodeJS and IoT Cloud
Asset Monitoring with Beacons, Lora, NodeJS and IoT CloudRobert van Mölken
 
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)Open Mobile Alliance
 
Open Source M2M IoT Gateways
Open Source M2M IoT GatewaysOpen Source M2M IoT Gateways
Open Source M2M IoT GatewaysEurotech
 

Was ist angesagt? (20)

Internet of Things - Advantech IoT Gateway Starter Kit
Internet of Things - Advantech IoT Gateway Starter KitInternet of Things - Advantech IoT Gateway Starter Kit
Internet of Things - Advantech IoT Gateway Starter Kit
 
Catching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) WaveCatching the Internet of Things (IoT) Wave
Catching the Internet of Things (IoT) Wave
 
Real World IoT Architectures and Projects with Eclipse IoT
Real World IoT Architectures and Projects with Eclipse IoTReal World IoT Architectures and Projects with Eclipse IoT
Real World IoT Architectures and Projects with Eclipse IoT
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoT
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
 
IoTlondon - mbed based IoT Gateway talk
IoTlondon - mbed based IoT Gateway talkIoTlondon - mbed based IoT Gateway talk
IoTlondon - mbed based IoT Gateway talk
 
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch SingaporeIoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
 
IoT Microservices at the Edge with Eclipse ioFog
IoT Microservices at the Edge with Eclipse ioFogIoT Microservices at the Edge with Eclipse ioFog
IoT Microservices at the Edge with Eclipse ioFog
 
Creating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayCreating a Java Internet of Things Gateway
Creating a Java Internet of Things Gateway
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
 
Advanced MQTT and Kura - EclipseCON 2014
Advanced MQTT and Kura - EclipseCON 2014Advanced MQTT and Kura - EclipseCON 2014
Advanced MQTT and Kura - EclipseCON 2014
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platform
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
 
A Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of ThingsA Pragmatic Reference Architecture for The Internet of Things
A Pragmatic Reference Architecture for The Internet of Things
 
Asset Monitoring with Beacons, Lora, NodeJS and IoT Cloud
Asset Monitoring with Beacons, Lora,  NodeJS and IoT CloudAsset Monitoring with Beacons, Lora,  NodeJS and IoT Cloud
Asset Monitoring with Beacons, Lora, NodeJS and IoT Cloud
 
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
 
Open Source M2M IoT Gateways
Open Source M2M IoT GatewaysOpen Source M2M IoT Gateways
Open Source M2M IoT Gateways
 

Ähnlich wie Iot gateway dream team - Eclipse Kura and Apache Camel

(Ultra quick) Rhiot overview
(Ultra quick) Rhiot overview(Ultra quick) Rhiot overview
(Ultra quick) Rhiot overviewHenryk Konsek
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015SenZations Summer School
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summitMike Milinkovich
 
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...Andri Yadi
 
Eclipse IOT [IoT World Santa Clara]
Eclipse IOT  [IoT World Santa Clara]Eclipse IOT  [IoT World Santa Clara]
Eclipse IOT [IoT World Santa Clara]Ian Skerrett
 
Eclipse IoT Overview
Eclipse IoT OverviewEclipse IoT Overview
Eclipse IoT OverviewIan Skerrett
 
A Reference Architecture for IoT
A Reference Architecture for IoT A Reference Architecture for IoT
A Reference Architecture for IoT WSO2
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Julien Vermillard
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioGünter Obiltschnig
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & ProtocolsAmazon Web Services
 
(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC
(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC
(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPCAmazon Web Services
 
Internet of Things – Contiki.pdf
Internet of Things – Contiki.pdfInternet of Things – Contiki.pdf
Internet of Things – Contiki.pdfSudhanshiBakre1
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTBenjamin Cabé
 
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTMphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTAniruddha Chakrabarti
 
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisOW2
 
The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)Samsung Open Source Group
 

Ähnlich wie Iot gateway dream team - Eclipse Kura and Apache Camel (20)

(Ultra quick) Rhiot overview
(Ultra quick) Rhiot overview(Ultra quick) Rhiot overview
(Ultra quick) Rhiot overview
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
 
IoTMyth Proposal
IoTMyth ProposalIoTMyth Proposal
IoTMyth Proposal
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
 
Eclipse IOT [IoT World Santa Clara]
Eclipse IOT  [IoT World Santa Clara]Eclipse IOT  [IoT World Santa Clara]
Eclipse IOT [IoT World Santa Clara]
 
Eclipse IoT Overview
Eclipse IoT OverviewEclipse IoT Overview
Eclipse IoT Overview
 
A Reference Architecture for IoT
A Reference Architecture for IoT A Reference Architecture for IoT
A Reference Architecture for IoT
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.io
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
 
Connected TIZEN
Connected TIZENConnected TIZEN
Connected TIZEN
 
Tizen Connected with IoTivity
Tizen Connected with IoTivityTizen Connected with IoTivity
Tizen Connected with IoTivity
 
(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC
(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC
(NET409) How Twilio Migrated Its Services from EC2-Classic to EC2-VPC
 
Internet of Things – Contiki.pdf
Internet of Things – Contiki.pdfInternet of Things – Contiki.pdf
Internet of Things – Contiki.pdf
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTMphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
 
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisThe complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, Paris
 
webthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzrwebthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzr
 
The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 

Mehr von Henryk Konsek

How to cloud #1: Create Kafka cluster with Confluent Cloud
How to cloud #1:  Create Kafka cluster with Confluent CloudHow to cloud #1:  Create Kafka cluster with Confluent Cloud
How to cloud #1: Create Kafka cluster with Confluent CloudHenryk Konsek
 
Eclipse Kapua messaging refactoring proposal
Eclipse Kapua messaging refactoring proposalEclipse Kapua messaging refactoring proposal
Eclipse Kapua messaging refactoring proposalHenryk Konsek
 
Internet Of Things for mere mortals
Internet Of Things for mere mortalsInternet Of Things for mere mortals
Internet Of Things for mere mortalsHenryk Konsek
 
Internet Of Things for mere mortals
Internet Of Things for mere mortalsInternet Of Things for mere mortals
Internet Of Things for mere mortalsHenryk Konsek
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortalsHenryk Konsek
 
Iot and the back-end developers
Iot and the back-end developersIot and the back-end developers
Iot and the back-end developersHenryk Konsek
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Henryk Konsek
 
IoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache CamelIoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache CamelHenryk Konsek
 
Apache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleApache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleHenryk Konsek
 
Fabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymoreFabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymoreHenryk Konsek
 
Messaging with the Docker
Messaging with the DockerMessaging with the Docker
Messaging with the DockerHenryk Konsek
 
Crash course to the Apache Camel
Crash course to the Apache CamelCrash course to the Apache Camel
Crash course to the Apache CamelHenryk Konsek
 
Spring scala - Sneaking Scala into your corporation
Spring scala  - Sneaking Scala into your corporationSpring scala  - Sneaking Scala into your corporation
Spring scala - Sneaking Scala into your corporationHenryk Konsek
 
Testing Fuse Fabric with Pax Exam
Testing Fuse Fabric with Pax ExamTesting Fuse Fabric with Pax Exam
Testing Fuse Fabric with Pax ExamHenryk Konsek
 

Mehr von Henryk Konsek (15)

How to cloud #1: Create Kafka cluster with Confluent Cloud
How to cloud #1:  Create Kafka cluster with Confluent CloudHow to cloud #1:  Create Kafka cluster with Confluent Cloud
How to cloud #1: Create Kafka cluster with Confluent Cloud
 
Eclipse Kapua messaging refactoring proposal
Eclipse Kapua messaging refactoring proposalEclipse Kapua messaging refactoring proposal
Eclipse Kapua messaging refactoring proposal
 
Containerize!
Containerize!Containerize!
Containerize!
 
Internet Of Things for mere mortals
Internet Of Things for mere mortalsInternet Of Things for mere mortals
Internet Of Things for mere mortals
 
Internet Of Things for mere mortals
Internet Of Things for mere mortalsInternet Of Things for mere mortals
Internet Of Things for mere mortals
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 
Iot and the back-end developers
Iot and the back-end developersIot and the back-end developers
Iot and the back-end developers
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
IoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache CamelIoT gateway dream team - Eclipse Kura and Apache Camel
IoT gateway dream team - Eclipse Kura and Apache Camel
 
Apache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleApache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whale
 
Fabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymoreFabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymore
 
Messaging with the Docker
Messaging with the DockerMessaging with the Docker
Messaging with the Docker
 
Crash course to the Apache Camel
Crash course to the Apache CamelCrash course to the Apache Camel
Crash course to the Apache Camel
 
Spring scala - Sneaking Scala into your corporation
Spring scala  - Sneaking Scala into your corporationSpring scala  - Sneaking Scala into your corporation
Spring scala - Sneaking Scala into your corporation
 
Testing Fuse Fabric with Pax Exam
Testing Fuse Fabric with Pax ExamTesting Fuse Fabric with Pax Exam
Testing Fuse Fabric with Pax Exam
 

Kürzlich hochgeladen

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Kürzlich hochgeladen (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

Iot gateway dream team - Eclipse Kura and Apache Camel

  • 1. Brought to you by Henryk Konsek IoT gateway Dream Team Eclipse Kura and Apache Camel
  • 2. Henryk Konsek @hekonsek - engineer at Red Hat - open source contributor - focused on the IoT - Rhiot project founder
  • 3. Running Apache Camel in the Eclipse Kura OSGi container. This talk
  • 4. ● Crash course to the IoT ● Eclipse Kura ● Apache Camel ● Why Camel+Kura? ● How Camel+Kura? ● Demo This talk
  • 5. Crash course to the IoT
  • 6. Hardware. Connected. And sensors. The Internet Of Things
  • 7. In drones? Where is the IoT money?
  • 8. In hipster startups? Where is the IoT money?
  • 9. In the Raspberry Pi? Where is the IoT money?
  • 15. IoT = Data Center + Embedded IoT consolidates data center and embedded worlds.
  • 16. The datacenter systems are located in a data center. Datacenter systems in a nutshell
  • 17. IoT architecture is a superset of a datacenter architecture. IoT architecture
  • 18. Synchronous communication, usually via HTTP. Communication in the datacenter systems
  • 19. The “IoT fun” part! Communication in the IoT systems
  • 21. OSGi-based IoT gateway for field devices. What is Eclipse Kura?
  • 22. OSGi-based IoT gateway for the field devices. OSGi ● modularity system for Java ● provides modules classpath separation ● promotes hot runtime redeployments What is Eclipse Kura? OSGi Application Container (Eclipse Equinox, Concierge) Java SE 7 / 8 (OpenJDK)
  • 23. What is Eclipse Kura? IoT gateway ● collects messages from the edge devices (like sensors) ● performs messages processing/aggregation/forwarding OSGi-based IoT gateway for the field devices. OSGi Application Container (Eclipse Equinox, Concierge) Java SE 7 / 8 (OpenJDK) Networking Gateway Services Web UI Remote Management
  • 24. What is Eclipse Kura? IoT gateway ● collects messages from the edge devices (like sensors) ● performs messages processing/aggregation/forwarding OSGi-based IoT gateway for the field devices. OSGi Application Container (Eclipse Equinox, Concierge) Java SE 7 / 8 (OpenJDK) Serial GPIO HID BLE I2C Field protocols Networking Gateway Services Web UI Remote Management
  • 25. What is Eclipse Kura? IoT gateway ● collects messages from the edge devices (like sensors) ● performs messages processing/aggregation/forwarding OSGi-based IoT gateway for the field devices. OSGi Application Container (Eclipse Equinox, Concierge) Java SE 7 / 8 (OpenJDK) Serial GPIO HID BLE I2C Field protocols Networking Gateway Services Web UI Remote Management Cloud Services Data Services EP Connectivity and Delivery
  • 26. What is Eclipse Kura? OSGi-based IoT gateway for the field devices.
  • 27. Gateway TL;DR; A proxy between field devices and a data center GATEWAY
  • 28. Eclipse. Donated by Eurotech (http://eurotech.com). Who’s behind Kura?
  • 30. The message routing framework. What is Apache Camel?
  • 31. How to orchestrate messages flow. What is message routing? ● Apache Camel ● Spring Integration ● Mule
  • 32. - read message from JMS queue - transform to JSON - save to FTP and MongoDB Crash course to the Apache Camel from('jms:invoices'). transform { new Invoice(uuid(), it.in.body) }. marshal().json(Jackson). multicast().parallelProcessing(). to('ftp:myftp.com/invoices', 'mongodb:myDb?collection=invoices&operation=save') ]
  • 33. Why Camel and Kura?
  • 34. Camel provides ~200 OSGi-ready connectors (JMS, REST, CoAP, AMQP, MQTT…) How can Kura benefit from Camel?
  • 35. Enterprise Integration Patterns (EIP) How can Kura benefit from Camel?
  • 37. Provides SLA for the different channels. EIP - throttler
  • 38. Dynamically decide where to route the message. EIP - content based router
  • 39. Client side load balancing. Useful for field devices connectivity. EIP - load balancer
  • 40. How can gateway provide transaction-like behavior when connecting to a non-transactional service? EIP - idempotent consumer
  • 41. How can I control which parts of the field device should be running at the given moment? EIP - control bus
  • 42. How Camel and Kura?
  • 43. Camel OSGi bundle is started from the Kura. Kura + Camel: architecture
  • 44. Invoke REST method every second. Camel route module for Kura public class MyKuraRouter extends KuraRouter { @Override public void configure() throws Exception { from("timer:trigger"). to("netty4-http:http://app.mydatacenter.com/api"); } }
  • 45. Just deploy the route as the OSGi bundle and enjoy Camel running the Kura. Concerned about the lifecycle?
  • 46. Display WiFi networks accessible near the field device using the web browser. Fancy example #1 public class MyKuraRouter extends KuraRouter { @Override public void configure() throws Exception { from("netty4-http:http://0.0.0.0:18080"). to("bean:org.eclipse.kura.net.NetworkService?method=getAllWifiAccessPoints"); } }
  • 47. Start syncing cached data only when WiFi is accessible. Fancy example #2 public class MyKuraRouter extends KuraRouter { @Override public void configure() throws Exception { from("kura-wifi:wlan0/mySSID"). to("controlbus:route?routeId=onlineSync&action=start"); from("file:///var/sensor/temperature"). routeId("onlineSync").autoStartup(false). to("netty4-http://api.mydatacenter.com"); } }
  • 49. - Rhiot Kura+Camel router (EuroTech partnership) - server-side components - on-going R&D and productization efforts Rhiot & Red Hat?