SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
MQTT with Java
- a protocol for IoT and M2M communication
!
Christian Götz, dc-square
IoT?
M2M
IoT
IoE
WoT
Web of Things
Internet of Things
Internet of Everything
Machine to Machine
communication
Ubicomp
Ubiquitous computing
CPS
Cyper Physical Systems Pervasive
Computing
Technology that connects
Devices
over wired or wireless
communication
GPSGPS
GPS
GPS
GPS
GPS
GPS
Detected: Traffic Jam!
Hi, I’m Christian Götz
author & speaker
building solutions
CEO &
co-founder
developer
@goetzchr
IoT is happening now
WHY?
6,5 per person
DEVICES outnumber
people
0,0
15,0
30,0
45,0
60,0
2003 2010 2015 2020
50,0
25,0
12,5
0,5
6,0
19,5
33,0
46,5
60,0
2003 2010 2015 2020
7,67,36,86,3
250 new every sec
http://blogs.cisco.com/news/cisco-connections-counter/
http://www.cisco.com/web/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf
2020
in billions
people
devices
Open Hardware is everywhere
Raspberry Pi is a trademark of the
Raspberry Pi Foundation
Screenshot from JavaOne 2013
Java back to the roots
Screenshot from JavaOne 2013
Java back to the roots
HTTP is not suitable
WHY?
Request/Response Point-2-Point widely known
HTTP is too verbose
Challenges
Constrained devices
Bi-directional
Scalability
Unreliable Networks
Push Messaging
Security
… there are more ;)
IoT
HTTP
IoT challenges
MQTT is a good fit
WHY?
Subscribe
Publish
Temperaturfühler MQTT-Broker
Laptop
Mobiles Endgerät
publish: “21°C“
publish: “21°C“
publish: “21°C“
subscribe
subscribe
munich
schwabing
isarvorstadt
people
temp
people
temp
/ /
MQTT topics 101
munich
schwabing
isarvorstadt
people
temp
people
temp
/ /
munich/schwabing/temp
MQTT topics 101
munich
schwabing
isarvorstadt
people
temp
people
temp
/ /
munich/+/temp
MQTT topics 101
munich
schwabing
isarvorstadt
people
temp
people
temp
/ /
munich/schwabing/#
MQTT topics 101
munich
schwabing
isarvorstadt
people
temp
people
temp
/ /
#
MQTT topics 101
On top of TCP
Simple
Publish/Subscribe
Architecture
BinaryMinimal Overhead
Designed for unreliable
networks
Data agnostic
MQTT facts
- Establishing 1st Connection

(compensated after 5,5 min)
+ Reconnect
+ Maintaining Connection
+ Receiving Messages
+ Sending Messages
less battery better throughput
MQTT (with SSL) vs HTTPS
+ Less Overhead
+ Persistent Sessions
+ Pub/Sub Architecture
Source: http://stephendnicholas.com/archives/1217
1999 2010 2013 2014
Arlen Nipper &
Andy Stanford-Clark
invent MQTT
royalty free OASIS TC
formed
MQTT becomes
Standard
MQTT history
Push instead of Poll
Minimal Bandwidth is important Mobile meets Enterprise
Unreliable networks Constrained devices
Low Latency
MQTT use cases
MQTT real world usage
https://www.facebook.com/notes/facebook-
engineering/building-facebook-messenger/
10150259350998920
Quality of Service
Retained Messages Last Will and Testament
Persistent Sessions Heartbeats
Topic Wildcards
MQTT features
MQTT features Quality of Services
QoS 1
QoS 2
QoS 0
B
B
B
MQTT features Last Will and Testament
B
Connect
LWT
device123/status: „offline“
B
dropped
device123/status: „offline“
MQTT features w/o Retained Messages
B
device1/temp: „23,0“
device1
every 5 min
device2
device1/temp: „23,0“
Delay <= 5min
MQTT features Retained Messages
B
device1/temp: „23,0“ R
device1
every 5 min
device2
device1/temp: „23,0“ R
No Delay!
MQTT features Persistent Sessions
B
Connect
Subscribe
device/+/status
device/12/status: „1“
1st
B
Re-Connect
device/12/status: „1“
2nd
MQTT-SN Overview
Gateway MQTT-Broker
MQTT-SN MQTT / -SN
• UDP instead of TCP
• Topic is just an ID (Preregister/Register)
• Sleeping Clients
• Different types of Gateways
• Discovery Mechanisms
Devices
B
MQTT over Websockets
MQTT Security
Protocol
Username/Password
Transport
TLS, client certificate authentification
Broker
fine-grained authentication, 3rd party
integration
Broker implementations
What ?
MQTT Broker Mosquitto
Open Source
Ideal for constraint devices Supports Bridging
Written in C
MQTT Broker HiveMQ
High performance broker
Open Plugin System for Java Clustering
Bridging Scalable to > 100.000
connections
Native Websocket support
MQTT Broker
+ others
http://mqtt.org/wiki/doku.php/brokers
MQTT Broker Public Broker
www.mqttdashboard.com
Getting Started
How ?
MQTT Implementation
Open Source
“Reference Implementation”
Many languages: Java, Javascript,
Lua, C, C++, Go, Python
Active Community
JS Library uses MQTT over
Websockets
Paho facts
MqttClient client = new MqttClient(
"tcp://localhost:1883", //URI
"publisher", //Client ID
new MemoryPersistence()); //Persistence
Paho Init Connection
MqttClient client = new MqttClient(...);
!
MqttConnectOptions connOptions = new
MqttConnectOptions();
!
connOptions.setKeepAliveInterval(120);
connOptions.setWill("my/status",
"offline".getBytes(), 2, true);
connOptions.setCleanSession(false);
connOptions.setUserName("user");
connOptions.setPassword(„pass".toCharArray(
));
!
client.connect(connOptions);
Paho Init Connection
!
!
client.publish("my/topic/123",//topic
"Hello!".getBytes(), //message
1, //QoS
false); //retained
!
!
client.disconnect();
Paho Synchronous API
final MqttClient client = new MqttClient(...);
client.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {}
!
@Override
public void messageArrived(String topic,
MqttMessage message)throws Exception
{
System.out.println(new String(message.getPayload()));
}
!
@Override
public void deliveryComplete(IMqttDeliveryToken
token) {}
});
!
client.connect();
client.subscribe("#");
Paho Synchronous API
MqttAsyncClient client = new MqttAsyncClient(...);
client.connect(null, new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken)
{
try {
client.publish(...);
} catch (MqttException e) {}
}
@Override
public void onFailure(IMqttToken asyncActionToken,
Throwable exception) {}
});
!
client.disconnect();
Paho Asynchronous API
MQTT Implementation
FuseSource MQTT Client
Open Source
3 API Styles
Automatic Reconnect
Maven Central
Less active Community
FuseSource facts
MQTT mqtt = new MQTT();
mqtt.setHost("localhost", 1883);
mqtt.setClientId("publisher");
mqtt.setCleanSession(true);
mqtt.setWillTopic("publisher/status");
mqtt.setWillMessage("offline");
mqtt.setKeepAlive((short) 60);
mqtt.setUserName("mqtt-client");
mqtt.setPassword("mqtt");
FuseSource Init Connection
BlockingConnection connection =
mqtt.blockingConnection();
!
connection.connect();
!
connection.publish(
"publisher/status", // topic
"online".getBytes(StandardCharsets.UTF_8),
QoS.AT_MOST_ONCE,
false);
FuseSource Blocking API
FutureConnection connection =
mqtt.futureConnection();
!
Future<Void> f1 = connection.connect();
f1.await();
!
Future<Void> f2 = connection.publish(
"publisher/status",
"online".getBytes(),
QoS.AT_LEAST_ONCE,
true);
!
f2.await();
!
Future<Void> f3 = connection.disconnect();
f3.await();
FuseSource Future API
CallbackConnection connection = mqtt.callbackConnection();
connection.connect(new Callback<Void>() {
public void onSuccess(Void v) {
connection.publish(
"publisher/status",
"online".getBytes(),
QoS.AT_LEAST_ONCE,
false,
new Callback<Void>() {
public void onSuccess(Void v) {}
public void onFailure(Throwable value){}
});
}
!
public void onFailure(Throwable value) {}
});
FuseSource Callback API
It’s Showtime
Demo
Demo from device to the web with MQTT
https://github.com/dc-square/mqtt-with-paho-eclipsecon2013
available on
Demo Under the hood
Danke!
Thanks!
@goetzchr

Contenu connexe

Tendances

Performance analysis of AODV And OLSR
Performance analysis of AODV And OLSRPerformance analysis of AODV And OLSR
Performance analysis of AODV And OLSR
Mitesh Thakore
 
Sensor Protocols for Information via Negotiation (SPIN)
Sensor Protocols for Information via Negotiation (SPIN)Sensor Protocols for Information via Negotiation (SPIN)
Sensor Protocols for Information via Negotiation (SPIN)
rajivagarwal23dei
 
AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...
AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...
AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...
Ann Joseph
 
Directed diffusion for wireless sensor networking
Directed diffusion for wireless sensor networkingDirected diffusion for wireless sensor networking
Directed diffusion for wireless sensor networking
Habibur Rahman
 
Spannig tree
Spannig treeSpannig tree
Spannig tree
1 2d
 

Tendances (20)

Performance analysis of AODV And OLSR
Performance analysis of AODV And OLSRPerformance analysis of AODV And OLSR
Performance analysis of AODV And OLSR
 
Sensor Protocols for Information via Negotiation (SPIN)
Sensor Protocols for Information via Negotiation (SPIN)Sensor Protocols for Information via Negotiation (SPIN)
Sensor Protocols for Information via Negotiation (SPIN)
 
Sensor Network
Sensor NetworkSensor Network
Sensor Network
 
How BGP Works
How BGP WorksHow BGP Works
How BGP Works
 
How to use STL creator
How to use STL creatorHow to use STL creator
How to use STL creator
 
AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...
AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...
AODV (Ad hoc On-demand Distance Vector) VS AOMDV (Ad hoc On-demand Multipath ...
 
6LoWPAN: An open IoT Networking Protocol
6LoWPAN: An open IoT Networking Protocol6LoWPAN: An open IoT Networking Protocol
6LoWPAN: An open IoT Networking Protocol
 
5G physical layer
5G physical layer 5G physical layer
5G physical layer
 
Wireless lan
Wireless lanWireless lan
Wireless lan
 
wireless sensor network
wireless sensor networkwireless sensor network
wireless sensor network
 
Directed diffusion for wireless sensor networking
Directed diffusion for wireless sensor networkingDirected diffusion for wireless sensor networking
Directed diffusion for wireless sensor networking
 
5G Fundamentals
5G Fundamentals5G Fundamentals
5G Fundamentals
 
Data aggregation in wireless sensor networks
Data aggregation in wireless sensor networksData aggregation in wireless sensor networks
Data aggregation in wireless sensor networks
 
Introduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksIntroduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc Networks
 
Data Augmentation
Data AugmentationData Augmentation
Data Augmentation
 
NFV evolution towards 5G
NFV evolution towards 5GNFV evolution towards 5G
NFV evolution towards 5G
 
Design Issues and Challenges in Wireless Sensor Networks
Design Issues and Challenges in Wireless Sensor NetworksDesign Issues and Challenges in Wireless Sensor Networks
Design Issues and Challenges in Wireless Sensor Networks
 
Spannig tree
Spannig treeSpannig tree
Spannig tree
 
WSN presentation
WSN presentationWSN presentation
WSN presentation
 
BGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and DiscussionBGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and Discussion
 

Similaire à MQTT with Java - a protocol for IoT and M2M communication

MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudMQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
HiveMQ
 

Similaire à MQTT with Java - a protocol for IoT and M2M communication (20)

MQTT - Communication in the Internet of Things
MQTT - Communication in the Internet of ThingsMQTT - Communication in the Internet of Things
MQTT - Communication in the Internet of Things
 
MQTT with Eclipse Paho: A protocol for IoT and M2M communication
MQTT with Eclipse Paho: A protocol for IoT and M2M communicationMQTT with Eclipse Paho: A protocol for IoT and M2M communication
MQTT with Eclipse Paho: A protocol for IoT and M2M communication
 
Connecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTTConnecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTT
 
MQTT 101 - Getting started with the lightweight IoT Protocol
MQTT 101  - Getting started with the lightweight IoT ProtocolMQTT 101  - Getting started with the lightweight IoT Protocol
MQTT 101 - Getting started with the lightweight IoT Protocol
 
InduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things ApplicationsInduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things Applications
 
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
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTT
 
End to end IoT Solution using Mongoose OS.
End to end IoT Solution using Mongoose OS.End to end IoT Solution using Mongoose OS.
End to end IoT Solution using Mongoose OS.
 
BKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End Story
 
Connecting NEST via MQTT to Internet of Things
Connecting NEST via MQTT to Internet of ThingsConnecting NEST via MQTT to Internet of Things
Connecting NEST via MQTT to Internet of Things
 
EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company Deck
 
20151207 - iot strategy
20151207 - iot strategy20151207 - iot strategy
20151207 - iot strategy
 
Workshop AWS IoT @ SIDO
Workshop AWS IoT @ SIDOWorkshop AWS IoT @ SIDO
Workshop AWS IoT @ SIDO
 
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
 
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudMQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
 
Mesh IoT Networks Explained
Mesh IoT Networks ExplainedMesh IoT Networks Explained
Mesh IoT Networks Explained
 
Why transync mqtt gps tracker
Why transync mqtt gps trackerWhy transync mqtt gps tracker
Why transync mqtt gps tracker
 
Why TranSync MQTT GPS Tracker
Why TranSync MQTT GPS TrackerWhy TranSync MQTT GPS Tracker
Why TranSync MQTT GPS Tracker
 

Plus de Christian Götz

Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Christian Götz
 

Plus de Christian Götz (6)

Best Practices Using MQTT to Connect Millions of IoT Devices
Best Practices Using MQTT  to Connect Millions of IoT DevicesBest Practices Using MQTT  to Connect Millions of IoT Devices
Best Practices Using MQTT to Connect Millions of IoT Devices
 
Getting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationGetting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentation
 
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
 
Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]
 
How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT ...
How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT ...How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT ...
How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT ...
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

MQTT with Java - a protocol for IoT and M2M communication