SlideShare a Scribd company logo
1 of 32
Download to read offline
Generative Software GmbH
Java User Group Freiburg
5. März 2018
Internet of Things für Java-Entwickler
1
Agenda
 What is IoT?
 IoT Gateway with Eclipse IoT
 The Story of the Smart Greenhouse
 Live-Demo of the Smart Greenhouse
 The Architecture of an IoT Gateway
2Generative Software GmbH
What is IoT?
3Generative Software GmbH
Goals of IoT Solutions
 Transparency – what is going on?
 Traceability – what was going on?
 Prediction – what will be going on?
 Emergency – what is badly wrong?
 Optimization – what to do to improve processes?
 Agility – what intervention makes sense?
 Automation – what can be done by machines?
4Generative Software GmbH
Sensor Categories
5Generative Software GmbH
Gateway, Server, Cloud
Passive
Active – Always On
Active – Wake Up
Gateway, Server, Cloud
Gateway, Server, Cloud
Microprocessor
Where to use Sensor Data
6Generative Software GmbH
Time Frame On Device (Edge) On Stream (Fog) In Batch (Cloud)
Hours to Weeks In Database
Strategic Insight
Machine Learning
Minutes to Hours In Process
Performance Insights
Summary Statistics
Seconds to Minutes Operational Insight
Rules Engine
Microseconds to Seconds Signal Processing
IoT Gateway
Protocols
7Generative Software GmbH
HTTP CoAP AMQP XMPP MQTT
Architecture Request/Response Request/Response Point-to-Point
Publish/Subscribe
Request/Response
Publish/Subscribe
Publish/Subscribe
Representation Text, Binary Binary Binary Text Binary
Transport TCP UDP TCP TCP TCP
Security (Transp.) TLS DTLS TLS TLS TLS
Discovery No Yes No No No
Scope Device-to-Cloud Device-to-Device Device-to-Cloud
Cloud-to-Device
Device-to-Cloud
Cloud-to-Device
Device-to-Cloud
Cloud-to-Device
Suitable for
Constr. Devices
Possibly Yes Possibly Possibly Yes
Server Updates Pull Pull, Push Push Push Push
Networks
8Generative Software GmbH
Data Unit OSI Layer Examples
Host/Service
Layers
Data Application HTTP, FTP, ‚IoT Protocols‘ Peer-to-Peer
Protocols
Presentation TLS, SSL
Session NetBIOS
Segment/Datagram Transport TCP, UDP
Network
Protocols
Device/Media
Layers
Packet/Datagram Network IP, ARP, ICMP, IPSec
Frame Data Link Ethernet, ATM, PPP
Bit Physical Ethernet, WiFi, USB, Bluetooth, SPI, I2C
Eclipse IoT
9Generative Software GmbH
 Working Group
– Members: 39 (Mar 2018), RedHat, SAP, Intel, Bosch, Canonical,
Cloudera, DB Systel, Huawei, IBM, Siemens, Sierra Wireless, …
– Community: IoT Testbeds, Youtube, Meetups, Whitepapers,
Surveys, Conferences, Open IoT Challenge …
 Technology
– Eclipse Projects: Paho, Kura, Californium, Mosquitto, Vorto, Milo,
Kapua, Hono, HawkBit, …
– Standards: CoAP, MQTT, OPC UA, OMA LWM2M, …
– Programming Languages: Java, C, C++, Python, …
OSGi
10Generative Software GmbH
 Originally: Open Services Gateway initiative
 Today: OSGi Alliance (defines APIs and Test Cases)
 Open, modular and scalable „Service Delivery Platform“
 Java-based
 Well-known Open Source Frameworks:
– Knoplerfish
– Eclipse Equinox
– Apache Felix
– Concierge
 Modularization with so-called „Bundles“
 Visibility of Java Packages
 Semantic Versioning of Java Packages
 (Declarative) Services
Smart, Smarter, …
11Generative Software GmbH
Requirements for the IoT Greenhouse
 Show all Sensor Values on a Display
 Control Plant Lamp depending on Luminocity
 Control Water Pump depending on Soil Humidity
 Control Heating depending on Air Temperature
 Switch on a Buzzer when Gas Sensor detects Gas
 Send Sensor Data to a Server and store it there
12Generative Software GmbH
Buy an IKEA Mini Greenhouse …
13Generative Software GmbH
… assemble it …
14Generative Software GmbH
… fill it with Hardware …
15Generative Software GmbH
… add Software to it …
16Generative Software GmbH
… connect it with a Network …
17Generative Software GmbH
… and ready is the Smart Greenhouse
Software Stack
Eclipse IoT
 Kura (IoT Gateway Software, Java+OSGi)
 Mosquitto (MQTT Broker)
 Paho (MQTT Client)
 Californium (CoAP)
Jakarta EE
 JAX-RS
 JAXB
 JSF
 Servlets
 EJB
 JPA
19Generative Software GmbH
The Smart Greenhouse - Details
20Generative Software GmbH
IoT Gateway (Raspberry Pi 2)
Kura, Paho, Californium
IoT Server
Paho, Californium
Glassfish 4.1
Java EE
Network Connection
Sensors
MQTT Broker
Mosquitto
Actuator „LED Strip“
Hose to Actuator „Pump“
LCD Display
What shall the IoT Solution do?
1. Read Sensors with the Kura IoT Gateway
2. Execute Business Logic with the Kura IoT Gateway
3. Send Sensor Data to Mosquitto with Paho (MQTT)
4. Collect Sensor Data with Paho and Servlets
5. Persist Sensor Data by Means of a REST API (JAX-RS, EJB, JPA)
6. Display Sensor Data by Means of a JSF Web App (uses same REST-API)
7. Control Actuators with a JSF Web App and Californium (CoAP)
8. Execute Business Logic on a Server with Paho and EJBs
21Generative Software GmbH
Live Demo!
22Generative Software GmbH
MQTT
(Message Queue Telemetry Transport)
23Generative Software GmbH
Message
Broker
Publisher Subscriber
publish to …
client-id/app-id/temperature
subscribe to …
client-id/app-id/temperature
1 2
SubscriberPublisher
MQTT
24Generative Software GmbH
 [account-name]/[client-id]/[app-id]/[resource-id]
 Subscription Wildcards
# … e.g. client-id/app-id/#
client-id/app-id/temperature
client-id/app-id/plant/light
client-id/app-id/plant/moisture
+ … e.g. client-id/app-id/+/light
client-id/app-id/plant/light
 Do not subscribe to # (all messages)
CoAP
(Constrained Application Protocol)
25Generative Software GmbH
CoAP
Server
CoAP
Client
GET request: coap://<CoAP-Host>:5683/temperature
response
GET
PUT
POST
DELETE
1
2
3
OSGi Container
Eclipse Kura
Paho
CoAP
OpenJDK I/O
Californium
…
Paho
Publisher
Device Service
Simulation
MQTT
Service Interfaces
Legende
Service-Aufrufe
Data Flow
OSGi Bundle
Simulationsdaten
Sensordaten simulieren
und verschicken
26Generative Software GmbH
OSGi Container
Eclipse Kura
Paho
CoAP
OpenJDK I/O
Californium
…
Paho
Publisher
Business Logic
Device Service
Simulation
MQTT
Service Interfaces
Legende
Service-Aufrufe
Data Flow
OSGi Bundle
Simulationsdaten
Gateway-Logik
simulieren
27Generative Software GmbH
Device Access with Java
 OpenJDK Device I/O: GPIO, I2C, UART, SPI
 TinyB: Bluetooth LE
 Pi4J: Object-Oriented API to access I/O
Capabilities of Raspberry Pi
28Generative Software GmbH
Kura
Eclipse Kura
Paho
CoAP
OpenJDK I/O
Californium
…
Kura
Data Service
Device Service
MQTT
Service Interfaces
Legende
Service-Aufrufe
Data Flow
OSGi Bundle
Echte Sensordaten
verschicken
29Generative Software GmbH
Kura
Eclipse Kura
Paho
CoAP
OpenJDK I/O
Californium
…
Kura
Data Service
Business Logic
Device Service
MQTT
Service Interfaces
Legende
Service-Aufrufe
Data Flow
OSGi Bundle
Gateway-Logik
implementieren
30Generative Software GmbH
Tutorials on Github and Bitbucket
31Generative Software GmbH
Eclipse Tutorial: github.com/kartben/kura-greenhouse-demo
Greenhouse Tutorial: bitbucket.org/jenerateit/tutorial-smart-greenhouse
Tutorial IOTDEV-Kurs: bitbucket.org/jenerateit/tutorial-smart-production-monitoring
Thank you!
 Summary
 Questions
 Outlook
32Generative Software GmbH
Marcus Munzert
CEO and President
munzert@generative-software.com
Generative Software GmbH
Cornelia-Schlosser-Allee 15
79111 Freiburg
Germany
www.generative-software.de
www.virtual-developer.com

More Related Content

What's hot

Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Ian Skerrett
 
Introducing the Vitis Unified Software Platform for Programming FPGAs
Introducing the Vitis Unified Software Platform for Programming FPGAsIntroducing the Vitis Unified Software Platform for Programming FPGAs
Introducing the Vitis Unified Software Platform for Programming FPGAs
inside-BigData.com
 
Oliot Open Source Project
Oliot Open Source ProjectOliot Open Source Project
Oliot Open Source Project
Daeyoung Kim
 
ABC of IoT Consortiums
ABC of IoT ConsortiumsABC of IoT Consortiums
ABC of IoT Consortiums
Ian Skerrett
 
GS1/Oliot ONS/DS and Next
GS1/Oliot ONS/DS and NextGS1/Oliot ONS/DS and Next
GS1/Oliot ONS/DS and Next
Daeyoung Kim
 
Oliot daeyoungkim-kaist-2015 - final - short
Oliot daeyoungkim-kaist-2015 - final - shortOliot daeyoungkim-kaist-2015 - final - short
Oliot daeyoungkim-kaist-2015 - final - short
Daeyoung Kim
 

What's hot (20)

Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
Leveraging the Open IoT Ecosystem to Accelerate Innovation [BizofIoT]
 
3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
 
IoT Platforms and Architecture
IoT Platforms and ArchitectureIoT Platforms and Architecture
IoT Platforms and Architecture
 
Using Eclipse MQTT & Sparkplug as your IIoT Digital Transformation Toolkit | ...
Using Eclipse MQTT & Sparkplug as your IIoT Digital Transformation Toolkit | ...Using Eclipse MQTT & Sparkplug as your IIoT Digital Transformation Toolkit | ...
Using Eclipse MQTT & Sparkplug as your IIoT Digital Transformation Toolkit | ...
 
Introducing the Vitis Unified Software Platform for Programming FPGAs
Introducing the Vitis Unified Software Platform for Programming FPGAsIntroducing the Vitis Unified Software Platform for Programming FPGAs
Introducing the Vitis Unified Software Platform for Programming FPGAs
 
Oliot Open Source Project
Oliot Open Source ProjectOliot Open Source Project
Oliot Open Source Project
 
IoT Broker
IoT BrokerIoT Broker
IoT Broker
 
ABC of IoT Consortiums
ABC of IoT ConsortiumsABC of IoT Consortiums
ABC of IoT Consortiums
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
 
OpenStack-Based NFV Cloud at Swisscom: challenges and best practices
OpenStack-Based NFV Cloud at Swisscom: challenges and best practicesOpenStack-Based NFV Cloud at Swisscom: challenges and best practices
OpenStack-Based NFV Cloud at Swisscom: challenges and best practices
 
Pro syst about us
Pro syst   about usPro syst   about us
Pro syst about us
 
Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
 
GS1/Oliot ONS/DS and Next
GS1/Oliot ONS/DS and NextGS1/Oliot ONS/DS and Next
GS1/Oliot ONS/DS and Next
 
Azure IoT End-to-End
Azure IoT End-to-EndAzure IoT End-to-End
Azure IoT End-to-End
 
Oliot daeyoungkim-kaist-2015 - final - short
Oliot daeyoungkim-kaist-2015 - final - shortOliot daeyoungkim-kaist-2015 - final - short
Oliot daeyoungkim-kaist-2015 - final - short
 
NVIDIA Developer Program Overview
NVIDIA Developer Program OverviewNVIDIA Developer Program Overview
NVIDIA Developer Program Overview
 
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
Developing IoT Applications Using Intel® System Studio | Eclipse IoT Day Sant...
 
GS1 Digital
GS1 DigitalGS1 Digital
GS1 Digital
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoT
 

Similar to Java User Group Freiburg - Internet of Things für Java-Entwickler

N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
Sun-Jin Jang
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
Yoni Davidson
 

Similar to Java User Group Freiburg - Internet of Things für Java-Entwickler (20)

Alleantia LeWeb Paris 2012 Startup Comp preliminary
Alleantia LeWeb Paris 2012 Startup Comp preliminaryAlleantia LeWeb Paris 2012 Startup Comp preliminary
Alleantia LeWeb Paris 2012 Startup Comp preliminary
 
Eclipse IoT Overview
Eclipse IoT OverviewEclipse IoT Overview
Eclipse IoT Overview
 
IoT Week 2021_Jens Hagemeyer presentation
IoT Week 2021_Jens Hagemeyer presentationIoT Week 2021_Jens Hagemeyer presentation
IoT Week 2021_Jens Hagemeyer presentation
 
node.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehne
node.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehnenode.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehne
node.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehne
 
Programming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.ioProgramming IoT Gateways with macchina.io
Programming IoT Gateways with macchina.io
 
Role of cloud and analytics in IoT
Role of cloud and analytics in IoTRole of cloud and analytics in IoT
Role of cloud and analytics in IoT
 
Node-RED Interoperability Test
Node-RED Interoperability TestNode-RED Interoperability Test
Node-RED Interoperability Test
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
 
React Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complessoReact Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complesso
 
OGCE MSI Presentation
OGCE MSI PresentationOGCE MSI Presentation
OGCE MSI Presentation
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
Everything about Internet of Things
Everything about Internet of ThingsEverything about Internet of Things
Everything about Internet of Things
 
IIoT / Industry 4.0 with Apache Kafka, Connect, KSQL, Apache PLC4X
IIoT / Industry 4.0 with Apache Kafka, Connect, KSQL, Apache PLC4X IIoT / Industry 4.0 with Apache Kafka, Connect, KSQL, Apache PLC4X
IIoT / Industry 4.0 with Apache Kafka, Connect, KSQL, Apache PLC4X
 
Flexible and Scalable Integration in the Automation Industry/Industrial IoT
Flexible and Scalable Integration in the Automation Industry/Industrial IoTFlexible and Scalable Integration in the Automation Industry/Industrial IoT
Flexible and Scalable Integration in the Automation Industry/Industrial IoT
 
IoT Sensor Analytics with Python, Jupyter, TensorFlow, Keras, Apache Kafka, K...
IoT Sensor Analytics with Python, Jupyter, TensorFlow, Keras, Apache Kafka, K...IoT Sensor Analytics with Python, Jupyter, TensorFlow, Keras, Apache Kafka, K...
IoT Sensor Analytics with Python, Jupyter, TensorFlow, Keras, Apache Kafka, K...
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
 
Open Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - OverviewOpen Source Edge Computing Platforms - Overview
Open Source Edge Computing Platforms - Overview
 
Reply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case Studies
Reply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case StudiesReply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case Studies
Reply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case Studies
 
The future of AI is hybrid
The future of AI is hybridThe future of AI is hybrid
The future of AI is hybrid
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 

Java User Group Freiburg - Internet of Things für Java-Entwickler

  • 1. Generative Software GmbH Java User Group Freiburg 5. März 2018 Internet of Things für Java-Entwickler 1
  • 2. Agenda  What is IoT?  IoT Gateway with Eclipse IoT  The Story of the Smart Greenhouse  Live-Demo of the Smart Greenhouse  The Architecture of an IoT Gateway 2Generative Software GmbH
  • 3. What is IoT? 3Generative Software GmbH
  • 4. Goals of IoT Solutions  Transparency – what is going on?  Traceability – what was going on?  Prediction – what will be going on?  Emergency – what is badly wrong?  Optimization – what to do to improve processes?  Agility – what intervention makes sense?  Automation – what can be done by machines? 4Generative Software GmbH
  • 5. Sensor Categories 5Generative Software GmbH Gateway, Server, Cloud Passive Active – Always On Active – Wake Up Gateway, Server, Cloud Gateway, Server, Cloud Microprocessor
  • 6. Where to use Sensor Data 6Generative Software GmbH Time Frame On Device (Edge) On Stream (Fog) In Batch (Cloud) Hours to Weeks In Database Strategic Insight Machine Learning Minutes to Hours In Process Performance Insights Summary Statistics Seconds to Minutes Operational Insight Rules Engine Microseconds to Seconds Signal Processing IoT Gateway
  • 7. Protocols 7Generative Software GmbH HTTP CoAP AMQP XMPP MQTT Architecture Request/Response Request/Response Point-to-Point Publish/Subscribe Request/Response Publish/Subscribe Publish/Subscribe Representation Text, Binary Binary Binary Text Binary Transport TCP UDP TCP TCP TCP Security (Transp.) TLS DTLS TLS TLS TLS Discovery No Yes No No No Scope Device-to-Cloud Device-to-Device Device-to-Cloud Cloud-to-Device Device-to-Cloud Cloud-to-Device Device-to-Cloud Cloud-to-Device Suitable for Constr. Devices Possibly Yes Possibly Possibly Yes Server Updates Pull Pull, Push Push Push Push
  • 8. Networks 8Generative Software GmbH Data Unit OSI Layer Examples Host/Service Layers Data Application HTTP, FTP, ‚IoT Protocols‘ Peer-to-Peer Protocols Presentation TLS, SSL Session NetBIOS Segment/Datagram Transport TCP, UDP Network Protocols Device/Media Layers Packet/Datagram Network IP, ARP, ICMP, IPSec Frame Data Link Ethernet, ATM, PPP Bit Physical Ethernet, WiFi, USB, Bluetooth, SPI, I2C
  • 9. Eclipse IoT 9Generative Software GmbH  Working Group – Members: 39 (Mar 2018), RedHat, SAP, Intel, Bosch, Canonical, Cloudera, DB Systel, Huawei, IBM, Siemens, Sierra Wireless, … – Community: IoT Testbeds, Youtube, Meetups, Whitepapers, Surveys, Conferences, Open IoT Challenge …  Technology – Eclipse Projects: Paho, Kura, Californium, Mosquitto, Vorto, Milo, Kapua, Hono, HawkBit, … – Standards: CoAP, MQTT, OPC UA, OMA LWM2M, … – Programming Languages: Java, C, C++, Python, …
  • 10. OSGi 10Generative Software GmbH  Originally: Open Services Gateway initiative  Today: OSGi Alliance (defines APIs and Test Cases)  Open, modular and scalable „Service Delivery Platform“  Java-based  Well-known Open Source Frameworks: – Knoplerfish – Eclipse Equinox – Apache Felix – Concierge  Modularization with so-called „Bundles“  Visibility of Java Packages  Semantic Versioning of Java Packages  (Declarative) Services
  • 12. Requirements for the IoT Greenhouse  Show all Sensor Values on a Display  Control Plant Lamp depending on Luminocity  Control Water Pump depending on Soil Humidity  Control Heating depending on Air Temperature  Switch on a Buzzer when Gas Sensor detects Gas  Send Sensor Data to a Server and store it there 12Generative Software GmbH
  • 13. Buy an IKEA Mini Greenhouse … 13Generative Software GmbH
  • 14. … assemble it … 14Generative Software GmbH
  • 15. … fill it with Hardware … 15Generative Software GmbH
  • 16. … add Software to it … 16Generative Software GmbH
  • 17. … connect it with a Network … 17Generative Software GmbH
  • 18. … and ready is the Smart Greenhouse
  • 19. Software Stack Eclipse IoT  Kura (IoT Gateway Software, Java+OSGi)  Mosquitto (MQTT Broker)  Paho (MQTT Client)  Californium (CoAP) Jakarta EE  JAX-RS  JAXB  JSF  Servlets  EJB  JPA 19Generative Software GmbH
  • 20. The Smart Greenhouse - Details 20Generative Software GmbH IoT Gateway (Raspberry Pi 2) Kura, Paho, Californium IoT Server Paho, Californium Glassfish 4.1 Java EE Network Connection Sensors MQTT Broker Mosquitto Actuator „LED Strip“ Hose to Actuator „Pump“ LCD Display
  • 21. What shall the IoT Solution do? 1. Read Sensors with the Kura IoT Gateway 2. Execute Business Logic with the Kura IoT Gateway 3. Send Sensor Data to Mosquitto with Paho (MQTT) 4. Collect Sensor Data with Paho and Servlets 5. Persist Sensor Data by Means of a REST API (JAX-RS, EJB, JPA) 6. Display Sensor Data by Means of a JSF Web App (uses same REST-API) 7. Control Actuators with a JSF Web App and Californium (CoAP) 8. Execute Business Logic on a Server with Paho and EJBs 21Generative Software GmbH
  • 23. MQTT (Message Queue Telemetry Transport) 23Generative Software GmbH Message Broker Publisher Subscriber publish to … client-id/app-id/temperature subscribe to … client-id/app-id/temperature 1 2 SubscriberPublisher
  • 24. MQTT 24Generative Software GmbH  [account-name]/[client-id]/[app-id]/[resource-id]  Subscription Wildcards # … e.g. client-id/app-id/# client-id/app-id/temperature client-id/app-id/plant/light client-id/app-id/plant/moisture + … e.g. client-id/app-id/+/light client-id/app-id/plant/light  Do not subscribe to # (all messages)
  • 25. CoAP (Constrained Application Protocol) 25Generative Software GmbH CoAP Server CoAP Client GET request: coap://<CoAP-Host>:5683/temperature response GET PUT POST DELETE 1 2 3
  • 26. OSGi Container Eclipse Kura Paho CoAP OpenJDK I/O Californium … Paho Publisher Device Service Simulation MQTT Service Interfaces Legende Service-Aufrufe Data Flow OSGi Bundle Simulationsdaten Sensordaten simulieren und verschicken 26Generative Software GmbH
  • 27. OSGi Container Eclipse Kura Paho CoAP OpenJDK I/O Californium … Paho Publisher Business Logic Device Service Simulation MQTT Service Interfaces Legende Service-Aufrufe Data Flow OSGi Bundle Simulationsdaten Gateway-Logik simulieren 27Generative Software GmbH
  • 28. Device Access with Java  OpenJDK Device I/O: GPIO, I2C, UART, SPI  TinyB: Bluetooth LE  Pi4J: Object-Oriented API to access I/O Capabilities of Raspberry Pi 28Generative Software GmbH
  • 29. Kura Eclipse Kura Paho CoAP OpenJDK I/O Californium … Kura Data Service Device Service MQTT Service Interfaces Legende Service-Aufrufe Data Flow OSGi Bundle Echte Sensordaten verschicken 29Generative Software GmbH
  • 30. Kura Eclipse Kura Paho CoAP OpenJDK I/O Californium … Kura Data Service Business Logic Device Service MQTT Service Interfaces Legende Service-Aufrufe Data Flow OSGi Bundle Gateway-Logik implementieren 30Generative Software GmbH
  • 31. Tutorials on Github and Bitbucket 31Generative Software GmbH Eclipse Tutorial: github.com/kartben/kura-greenhouse-demo Greenhouse Tutorial: bitbucket.org/jenerateit/tutorial-smart-greenhouse Tutorial IOTDEV-Kurs: bitbucket.org/jenerateit/tutorial-smart-production-monitoring
  • 32. Thank you!  Summary  Questions  Outlook 32Generative Software GmbH Marcus Munzert CEO and President munzert@generative-software.com Generative Software GmbH Cornelia-Schlosser-Allee 15 79111 Freiburg Germany www.generative-software.de www.virtual-developer.com