SlideShare a Scribd company logo
1 of 68
USING ACTORS FOR THE INTERNET
OF (LEGO) TRAINS [CON1709]
Johan Janssen, Info Support @johanjanssen42
Disclaimer:
No Lego was harmed beyond
repair during the project.
CONTENT
 Why?
 Getting started
 Architecture
 Actors
 Remote actors
 Shared protocol
 HTTP vs Actors
 Conclusion
 Challenges
 Questions
WHY?
Why?
GETTING STARTED
MINIMAL INGREDIENTS FOR 1TRAIN
ABOUT € 50
Raspberry Pi A+ / Raspberry Pi Zero
Wifi dongle
EDUP Ultra-Mini Nano USB 2.0 802.11n
USB battery pack
Anker® 2. Gen Astro Mini 3200mAh
Infrared transmitter
Keyes 38KHz IR InfraredTransmitter Module for
Arduino
COMPARISON
Idle (mA) Memory (MB) CPU (Mhz) Size (mm)
RPi A+ 100 256 700 65 *56
RPi Zero 100 512 1000 65 * 30
RPi B+ 200 512 700 85 *56
RPi 2 B 230 1024 4*900 85 *56
Odroid C1 325 1024 4*1500 85 *56
Particle
Photon
80-100 128KB 120 38 * 21
ARCHITECTURE
Architecture
LTCC
(Angular)
LTCC
(Java)
DeviceControl
(Java)
Infrared
(C and LIRC)
RFID
(C)
SwitchControl
(Java)
Servo
(Python)
RPi-Cam-Web-
Interface
(C)
LTCC
(Angular)
LTCC
(Scala/Akka)
DeviceControl
(Scala/Akka)
Infrared
(C and LIRC)
RFID
(C)
SwitchControl
(Scala/Akka)
Servo
(Python)
Leds with Photon
(C)
RPi-Cam-Web-
Interface
(C)
LTCC (Laptop / Pi)
LegoTrain
SwitchControl (Pi) Camera (Pi)
Device
Control
(Pi)
Original
controls
Infrared
Sound
Camera
Switches
LTCC APPLICATION
ACTORS
AKKA ACTORS
class Worker extends Actor {
def receive = {
case x =>
println(x)
}
}
val system = ActorSystem("ExampleActorSystem")
val workerActorRef = system.actorOf(Props[Worker])
workerActorRef ! "Hello conference"
REMOTE ACTORS
AKKA REMOTE ACTOR CALL
val workerActorRef =
system.actorOf(Props[Worker])
val workerActorRef =
system.actorSelection("akka.tcp://
ExampleActorSystem@127.0.0.1:9005
/user/workerActor")
AKKA REMOTE ACTOR CONFIGURATION
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = "127.0.0.1"
port = 9002
}
}
}
SHARED PROTOCOL
Actor on
JVM 1
Actor on
JVM 2
Messages
Actor on
laptop
Musicservice
Actor on
Raspberry PiPlay
message
CONCRETE EXAMPLE
Server
application
MessageProtocol
Raspberry Pi
application
EXAMPLE MESSAGE
object MusicServiceMessage {
case class Play(filename: String)
case class MusicList(filenames: List[Song])
}
MESSAGE USED BY APPLICATION
val actorRef = context.actorSelection(
"akka.tcp://[Actorsystem]@
[IP]:[port]/user/musicservice")
actorRef !
[packagename].MusicServiceMessage.Play(filename)
HTTP VS REMOTE ACTOR
ADVANTAGES REMOTE ACTORS
 No converting to JSON/SOAP
 More natural programming
 Concurrent on default
 Built-in load balancer
 Built-in circuit breaker
ADVANTAGES HTTP
 Indepedent of technology
 Loosely coupled
FAT JAR (SBT ASSEMBLY) IN MB
0
5
10
15
20
25
Local actor Remote actor Akka HTTP Spring boot
GATLING
class ExampleSimulation extends Simulation {
val scn = scenario("My scenario").repeat(100) {
exec(
http("Ping")
.get("http://localhost:8080/ping")
.check(status.is(200))
).pause(100 millisecond) // Optional
}
setUp(scn.inject(
rampUsers(1000) over (10 seconds) // Changing
))
}
PERFORMANCETEST SETUP
JVM 1
Akka HTTP
HTTP: /ping
pong JVM 2
Akka HTTP
HTTP: /pong
pong
JVM 1
Akka HTTP
HTTP: /ping
pong JVM 2
Akka remote actor
Akka over TCP: pong
pong
0
20
40
60
80
100
120
50 50 no pause 500 500 no pause 1000 1000 no pause
Mean response time (ms)
Akka HTTP Remote actor
0
100
200
300
400
500
600
700
800
900
50 50 no pause 500 500 no pause 1000 1000 no pause
Max response time (ms)
Akka HTTP Remote actor
0
50
100
150
200
250
300
350
50 50 no pause 500 500 no pause 1000 1000 no pause
99 percentile (ms)
Akka HTTP Remote actor
GRADUATION STUDENT
REST could handle around 600 users
Remote actors probably around 3300 users
REST is dead,
long live remote actors!
- Johan Janssen
0
5
10
15
20
25
30
50 50 no pause 500 500 no pause 1000 1000 no pause
Mean response time (ms)
Remote actor Spring boot
0
100
200
300
400
500
600
700
800
900
50 50 no pause 500 500 no pause 1000 1000 no pause
Max response time (ms)
Remote actor Spring boot
0
20
40
60
80
100
120
140
160
50 50 no pause 500 500 no pause 1000 1000 no pause
99 percentile (ms)
Remote actor Spring boot
Challenges
CONCLUSION
The best part!!
QUESTIONS?
Johan Janssen, Info Support
@johanjanssen42

More Related Content

What's hot

TechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building SwitchesTechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building SwitchesRobb Boyd
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Codemotion
 
Tools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionTools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionAlexander Bolshev
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Brendan Gregg
 
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLABElectric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLABTsuyoshi Horigome
 
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits SystemQuantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits Systeminside-BigData.com
 
Itc Wireshark
Itc WiresharkItc Wireshark
Itc WiresharkJayMNEA
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)Simen Li
 
Track Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 TriggerTrack Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 TriggerTimothy Head
 

What's hot (14)

Milan Futurology V1.1
Milan Futurology V1.1Milan Futurology V1.1
Milan Futurology V1.1
 
TechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building SwitchesTechWiseTV Workshop: Digital Building Switches
TechWiseTV Workshop: Digital Building Switches
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
 
Tools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionTools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital Conversion
 
Cisco 2921 specs
Cisco 2921 specsCisco 2921 specs
Cisco 2921 specs
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
4 Sessions
4 Sessions4 Sessions
4 Sessions
 
Showcase
ShowcaseShowcase
Showcase
 
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLABElectric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
Electric Double-Layer Capacitor(EDLC) Simulink Model using MATLAB
 
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits SystemQuantum Computing in China: Progress on Superconducting Multi-Qubits System
Quantum Computing in China: Progress on Superconducting Multi-Qubits System
 
Cisco 2901 specs
Cisco 2901 specsCisco 2901 specs
Cisco 2901 specs
 
Itc Wireshark
Itc WiresharkItc Wireshark
Itc Wireshark
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
 
Track Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 TriggerTrack Finding in LHCb's 2020 Trigger
Track Finding in LHCb's 2020 Trigger
 

Viewers also liked

Witold kula teoria eocnomica del sistema feudal
Witold kula   teoria eocnomica del sistema feudalWitold kula   teoria eocnomica del sistema feudal
Witold kula teoria eocnomica del sistema feudalCiocio Sam
 
Periodismo digital en mexico
Periodismo digital en mexicoPeriodismo digital en mexico
Periodismo digital en mexicojulissachavira
 
How to write quality content that's shared like crazy
How to write quality content that's shared like crazyHow to write quality content that's shared like crazy
How to write quality content that's shared like crazyPerfect Blender
 
Закон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализацииЗакон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализацииMoySklad
 
Chaovn hello vietnam
Chaovn  hello vietnamChaovn  hello vietnam
Chaovn hello vietnambonjouratous
 
Estuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician CompetenceEstuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician CompetenceEstuardo Santos
 
2016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 20162016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 2016Uli Kaiser
 
Chapter 1 Terms Review
Chapter 1 Terms ReviewChapter 1 Terms Review
Chapter 1 Terms Reviewmassameg
 

Viewers also liked (9)

Witold kula teoria eocnomica del sistema feudal
Witold kula   teoria eocnomica del sistema feudalWitold kula   teoria eocnomica del sistema feudal
Witold kula teoria eocnomica del sistema feudal
 
Periodismo digital en mexico
Periodismo digital en mexicoPeriodismo digital en mexico
Periodismo digital en mexico
 
How to write quality content that's shared like crazy
How to write quality content that's shared like crazyHow to write quality content that's shared like crazy
How to write quality content that's shared like crazy
 
Закон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализацииЗакон об онлайн-кассах и сроки его реализации
Закон об онлайн-кассах и сроки его реализации
 
Bellezas escondidas de méxico
Bellezas escondidas de méxicoBellezas escondidas de méxico
Bellezas escondidas de méxico
 
Chaovn hello vietnam
Chaovn  hello vietnamChaovn  hello vietnam
Chaovn hello vietnam
 
Estuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician CompetenceEstuardo Santos Porras - Senior Pilot Technician Competence
Estuardo Santos Porras - Senior Pilot Technician Competence
 
2016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 20162016-06 Turkey Car Sales Mercedes June 2016
2016-06 Turkey Car Sales Mercedes June 2016
 
Chapter 1 Terms Review
Chapter 1 Terms ReviewChapter 1 Terms Review
Chapter 1 Terms Review
 

Similar to JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]

JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]Johan Janssen
 
The internet of (lego) trains
The internet of (lego) trainsThe internet of (lego) trains
The internet of (lego) trainsGrzegorz Duda
 
Server-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaServer-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaNaoto MATSUMOTO
 
VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法Naoto MATSUMOTO
 
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17ROMSAT
 
huawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdfhuawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdfHi-Network.com
 
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdfhuawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdfHi-Network.com
 
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdfhuawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdfHi-Network.com
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspeChris Westin
 
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdfhuawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdfHi-Network.com
 
FPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow SwitchFPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow SwitchYutaka Yasuda
 
Server-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows AzureServer-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows AzureNaoto MATSUMOTO
 
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PROIDEA
 
SAS (Secure Active Switch)
SAS (Secure Active Switch)SAS (Secure Active Switch)
SAS (Secure Active Switch)Security Date
 
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdfhuawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdfHi-Network.com
 
Nvidia in bioinformatics
Nvidia in bioinformaticsNvidia in bioinformatics
Nvidia in bioinformaticsShanker Trivedi
 
cisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdfcisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdfHi-Network.com
 

Similar to JavaOne: Using actors for the iInternet of (Lego) Trains [con1709] (20)

JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]JavaOne: Using NetBeans RCP to control your Lego [con1702]
JavaOne: Using NetBeans RCP to control your Lego [con1702]
 
The internet of (lego) trains
The internet of (lego) trainsThe internet of (lego) trains
The internet of (lego) trains
 
Server-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaServer-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyatta
 
VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法VYATTAによるマルチパスVPN接続手法
VYATTAによるマルチパスVPN接続手法
 
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
Edge-Core - экономия без потери качества | Семинар для интеграторов 15.06.17
 
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
Javantura v3 - The Internet of (Lego) Trains – Johan Janssen, Ingmar van der ...
 
huawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdfhuawei-ce6850-ei-b00-brochure-datasheet.pdf
huawei-ce6850-ei-b00-brochure-datasheet.pdf
 
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdfhuawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
huawei-ce6851-48s6q-hi-b-brochure-datasheet.pdf
 
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdfhuawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
huawei-ce6850-ei-b-b0a-brochure-datasheet.pdf
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdfhuawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
huawei-ce6851-hi-f-b0a-brochure-datasheet.pdf
 
FPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow SwitchFPGA based 10G Performance Tester for HW OpenFlow Switch
FPGA based 10G Performance Tester for HW OpenFlow Switch
 
Server-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows AzureServer-side Intelligent Switching using Windows Azure
Server-side Intelligent Switching using Windows Azure
 
Stress your DUT
Stress your DUTStress your DUT
Stress your DUT
 
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
 
SAS (Secure Active Switch)
SAS (Secure Active Switch)SAS (Secure Active Switch)
SAS (Secure Active Switch)
 
VyattaCore TIPS2013
VyattaCore TIPS2013VyattaCore TIPS2013
VyattaCore TIPS2013
 
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdfhuawei-ce6850-48s4q-ei-brochure-datasheet.pdf
huawei-ce6850-48s4q-ei-brochure-datasheet.pdf
 
Nvidia in bioinformatics
Nvidia in bioinformaticsNvidia in bioinformatics
Nvidia in bioinformatics
 
cisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdfcisco-ie-2000-16tc-b-datasheet.pdf
cisco-ie-2000-16tc-b-datasheet.pdf
 

More from Johan Janssen

How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17Johan Janssen
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17Johan Janssen
 
Continuous delivery in 50 minutes
Continuous delivery in 50 minutesContinuous delivery in 50 minutes
Continuous delivery in 50 minutesJohan Janssen
 
Create a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesCreate a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesJohan Janssen
 
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesDevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesJohan Janssen
 
How we started our first java conference JVMCON
How we started our first java conference JVMCONHow we started our first java conference JVMCON
How we started our first java conference JVMCONJohan Janssen
 
Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Johan Janssen
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLandJohan Janssen
 
Welcome alexa, your personal assistant
Welcome alexa, your personal assistantWelcome alexa, your personal assistant
Welcome alexa, your personal assistantJohan Janssen
 
A tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesA tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesJohan Janssen
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherJohan Janssen
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with dockerJohan Janssen
 
JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]Johan Janssen
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]Johan Janssen
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a containerJohan Janssen
 

More from Johan Janssen (15)

How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17
 
Upgrade to java 16 or 17
Upgrade to java 16 or 17Upgrade to java 16 or 17
Upgrade to java 16 or 17
 
Continuous delivery in 50 minutes
Continuous delivery in 50 minutesContinuous delivery in 50 minutes
Continuous delivery in 50 minutes
 
Create a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutesCreate a Continuous Delivery Pipeline in 45 minutes
Create a Continuous Delivery Pipeline in 45 minutes
 
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutesDevNexus: Create a Continuous Delivery pipeline in 50 minutes
DevNexus: Create a Continuous Delivery pipeline in 50 minutes
 
How we started our first java conference JVMCON
How we started our first java conference JVMCONHow we started our first java conference JVMCON
How we started our first java conference JVMCON
 
Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]Use voice recognition with Alexa to control your home [JavaOne]
Use voice recognition with Alexa to control your home [JavaOne]
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLand
 
Welcome alexa, your personal assistant
Welcome alexa, your personal assistantWelcome alexa, your personal assistant
Welcome alexa, your personal assistant
 
A tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutesA tour of (advanced) Akka features in 40 minutes
A tour of (advanced) Akka features in 40 minutes
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even further
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]JavaOne: Welcome alexa, your personal assistant [con1700]
JavaOne: Welcome alexa, your personal assistant [con1700]
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
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
 
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
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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!
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
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
 
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
 

JavaOne: Using actors for the iInternet of (Lego) Trains [con1709]

Editor's Notes

  1. You can also make it a bit bigger with camera, RFID, speaker
  2. You could use a Zero or Particle Photon if you only need an IR transmitter. But for video it’s a bit more difficult to use those. Bigger is better for development speed. Smaller is better to put it in a train.
  3. This is the test setup for the performance test JVM1 is the frontend, receives http request from client JVM1 sends a request to JVM2 for some further info, after reply from JVM2 it responds to the client. Top is over HTTP Bottom is using Akka remote actors over TCP.
  4. Documentation Raspberry USB connector/burned Hardware resources To small children Time
  5. Limited resources although quite a lot with the Raspberry Pi. This HD only has 72 MB
  6. Broken Raspberry Pi USB connector on A+
  7. Lego quite picky with batteries, empty batteries. No easy/cheap way to charge Lego battery box.
  8. RFID only works when nearby and when moving slowly
  9. WIFI issues
  10. No plug and play
  11. Lots of options: Raspbian/Arch. Docker, documentation, support, hardware
  12. Documentation, wiring etc.
  13. To small children
  14. Not enough time
  15. Sum up Play with lego;s like kids Show and tells for grownups Testdrive akka, experience Come to Jfokus in beaty stockholm … That’s not even the best part. The best part is … Ervaring opgedaan met hardware/IoT Java en Scala/Akka werken blijkbaar prima - Marketing stands op conferenties Scala/Akka ervaring REST vs Remote Actors Ons hier gebracht