SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Java on Tracks
Modellbahnsteuerung mit JEE, MicroProfile
und self-contained Systems
Expertenkreis Java, 14.01.2021
Dirk Weil, GEDOPLAN GmbH
Dirk Weil
GEDOPLAN GmbH, Bielefeld
GEDOPLAN IT Consulting
Consulting, coaching, concepts, reviews, development
GEDOPLAN IT Training
Trainings in Berlin, Bielefeld, on-site
JEE since 1998
Speaker and author
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 2
gedoplan.de
Die Ausgangslage
Job
Dachboden
gedoplan.de
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 3
v5t11
Visual Train Control
VT 11.5
http://commons.wikimedia.org/wiki/
File:601_Verkehrsmuseum_Nuernberg_11092010_complete_train.JPG
gedoplan.de
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 4
Aufgaben von V5T11
Stellwerk
Führerstand
gedoplan.de
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 5
Technische Basis: Digitalsteuerung Selectrix
Keine getrennten Stromkreise
Fahrspannung mit aufgeprägtem Digitalsignal
Loks enthalten Decoder
Fahrstufe
Richtung
Fahrlicht
Zusatzfunktionen (Sound etc.)
Systeme meist multiprokollfähig
SX (Selectrix)
DCC (NMRA-Standard)
MM (Motorola/Märklin)
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 6
gedoplan.de
Technische Basis: Digitalsteuerung Selectrix
Gleise werden mit Besetztmeldern überwacht
Weichen und Signale werden mit Funktionsdecodern gesteuert
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 7
gedoplan.de
1 Byte 8 Gleise
1 Byte 8 W. / S.
Domäne
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 8
gedoplan.de
Gleis
Lok
Weiche
Signal
Lokdecoder
Funktionsdecoder
Besetztmelder
Fahrstraße
Gleisverbindung
Fahrstraßen-
verwaltung
Fahrzeug-
verwaltung
Statusverwaltung
Domäne
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 9
gedoplan.de
Lok
Gleis
Weiche
Signal
Lokdecoder
Funktionsdecoder
Besetztmelder Fahrstraße
Gleisverbindung
Gleis
Weiche
Signal
Lokdecoder
, Bounded Contexts
Microservices, Self-contained Systems
Microservice
Modularisierungsansatz
hohe innere Kohärenz
geringe äußere Kopplung
passt gut zu Bounded Context
"Micro" nicht weiter spezifiziert
SCS
Autonome (Teil-)Anwendung
Alleine lauffähig (Vorsicht bei synchroner Kommunikation!)
Eigene Datenhaltung
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 10
gedoplan.de
v5t11-SCSs
Teilanwendungen als SCSs
Quarkus
Jakarta EE + MicroProfile
Persistenz mit JPA, Hibernate, PostgreSQL
Synchrone Kommunikation via REST API und MP Rest Client
Asynchrone Kommunikation mit MP Reactive Messaging, MQTT
Web-UI mittels JSF (!)
(Altlast derzeit noch: Stellwerk hat Swing-UI)
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 11
gedoplan.de
Statusverwaltung v5t11-status
Anbindung Digitalzentrale mit serieller Schnittstelle / USB
 https://fazecast.github.io/jSerialComm/
REST-API
für Signale
etc.
Web-UI für
Administration
und Debugging
Demo!
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 12
gedoplan.de
@Path("signal")
@Dependent
public class SignalEndpoint {
@PUT
@Path("{bereich}/{name}")
@Consumes(MediaType.MEDIA_TYPE_WILDCARD)
public void putSignalStellung(@PathParam("bereich") String
Fahrstraßenverwaltung v5t11-fahrstrassen
MP Rest Client
zum Stellen von
Signalen etc.
MP Reactive Messaging für asynchrone Änderungsmeldungen
Demo!
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 13
gedoplan.de
@RegisterRestClient(configKey = "v5t11.status")
public interface StatusGateway {
@PUT
@Path("signal/{bereich}/{name}")
@Consumes(MediaType.TEXT_PLAIN)
void signalStellen(@PathParam("bereich") String bereic
@Incoming("gleis-in")
void gleisChanged(byte[] msg) {
String json = new String(msg);
@Inject @Channel("gleis-out")
Emitter<String> gleisEmitter;
public void publish(Gleis gleis) {
String json = …
this.gleisEmitter.send(json);
Fahrzeugverwaltung v5t11-fahrzeuge
MP Rest Client und MP Reactive Messaging analog
Web-UI zur Fahrzeugkonfiguration und Steuerung mit JSF
Demo!
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 14
gedoplan.de
Visualisierung v5t11-leitstand
Alte Swing-Anwendung mit Quarkus-Unterbau
MP Rest Client und MP Reactive Messaging wie zuvor
Demo!
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 15
gedoplan.de
Weitere Planung
Fahrzeug-Verfolgung
Welches Fahrzeug steht/fährt wo?
Vorsignalautomatik
Vorsignale folgen dem nächsten Hauptsignal im Fahrweg
Teilautomatisierung
Automatisches Abstellen im Schattenbahnhof
Ausblenden der Geräusche in unsichtbaren Abschnitten
Betrieb als Docker-Container in Kubernetes
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 16
gedoplan.de
Erfahrungen, Rückblick
Erste EE-Version war ein Monolith
Java EE 6, JBoss 7
Aufsplittung in SCSs
+ Überschaubare Einheiten
+ Entkopplung der Datenmodelle
+ zügiges (Re-) Deployment
- Teilredundante Daten
- Kommunikationsaufwand
Quarkus
+ schnelle Entwicklungszyklen
+ schnell wachsendes Ökosystem
MicroProfile
+ Simple und leistungsfähige Bausteine (Config, Rest Client, …)
+ Leichte Einbindung von Message Brokern (MQTT, AMQP, …)
- Reactive Messaging abstrahiert nicht weit genug (z. B. Nutzlast)
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 17
gedoplan.de
… und was ist mit dem "echten Leben"?
Steuerung eines
fahrerlosen
Transportsystems
(FTS)
gedoplan.de
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 18
More
github.com/dirkweil/v5t11
Projekt
www.gedoplan.de
Trainings in Berlin, Bielefeld, inhouse
www.gedoplan.de
Reviews, Coaching, …
Blog
 dirk.weil@gedoplan.de
@dirkweil
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 19
gedoplan.de

Weitere ähnliche Inhalte

Ähnlich wie Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems

Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
 
Gwt Techtalk Präsentation
Gwt Techtalk PräsentationGwt Techtalk Präsentation
Gwt Techtalk Präsentationmlegenhausen
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?gedoplan
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
 
Microprofile-Anwendungen mit Quarkus - reloaded
Microprofile-Anwendungen mit Quarkus - reloadedMicroprofile-Anwendungen mit Quarkus - reloaded
Microprofile-Anwendungen mit Quarkus - reloadedgedoplan
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...Niels de Bruijn
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballastgedoplan
 
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...NETWAYS
 
Lebenslauf_Imad_Salem
Lebenslauf_Imad_SalemLebenslauf_Imad_Salem
Lebenslauf_Imad_SalemImad Salem
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Jürg Stuker
 
MicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit QuarkusMicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit Quarkusgedoplan
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenKai Donato
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOPITZ CONSULTING Deutschland
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Jürg Stuker
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Apache camel
Apache camelApache camel
Apache camelgedoplan
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 

Ähnlich wie Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems (20)

Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
 
Gwt Techtalk Präsentation
Gwt Techtalk PräsentationGwt Techtalk Präsentation
Gwt Techtalk Präsentation
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
Microprofile-Anwendungen mit Quarkus - reloaded
Microprofile-Anwendungen mit Quarkus - reloadedMicroprofile-Anwendungen mit Quarkus - reloaded
Microprofile-Anwendungen mit Quarkus - reloaded
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
 
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
 
Lebenslauf_Imad_Salem
Lebenslauf_Imad_SalemLebenslauf_Imad_Salem
Lebenslauf_Imad_Salem
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
MicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit QuarkusMicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit Quarkus
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
 
SignalR
SignalRSignalR
SignalR
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 
Apache camel
Apache camelApache camel
Apache camel
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 

Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems

  • 1. Java on Tracks Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems Expertenkreis Java, 14.01.2021 Dirk Weil, GEDOPLAN GmbH
  • 2. Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Consulting, coaching, concepts, reviews, development GEDOPLAN IT Training Trainings in Berlin, Bielefeld, on-site JEE since 1998 Speaker and author Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 2 gedoplan.de
  • 3. Die Ausgangslage Job Dachboden gedoplan.de Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 3
  • 4. v5t11 Visual Train Control VT 11.5 http://commons.wikimedia.org/wiki/ File:601_Verkehrsmuseum_Nuernberg_11092010_complete_train.JPG gedoplan.de Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 4
  • 5. Aufgaben von V5T11 Stellwerk Führerstand gedoplan.de Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 5
  • 6. Technische Basis: Digitalsteuerung Selectrix Keine getrennten Stromkreise Fahrspannung mit aufgeprägtem Digitalsignal Loks enthalten Decoder Fahrstufe Richtung Fahrlicht Zusatzfunktionen (Sound etc.) Systeme meist multiprokollfähig SX (Selectrix) DCC (NMRA-Standard) MM (Motorola/Märklin) Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 6 gedoplan.de
  • 7. Technische Basis: Digitalsteuerung Selectrix Gleise werden mit Besetztmeldern überwacht Weichen und Signale werden mit Funktionsdecodern gesteuert Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 7 gedoplan.de 1 Byte 8 Gleise 1 Byte 8 W. / S.
  • 8. Domäne Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 8 gedoplan.de Gleis Lok Weiche Signal Lokdecoder Funktionsdecoder Besetztmelder Fahrstraße Gleisverbindung
  • 9. Fahrstraßen- verwaltung Fahrzeug- verwaltung Statusverwaltung Domäne Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 9 gedoplan.de Lok Gleis Weiche Signal Lokdecoder Funktionsdecoder Besetztmelder Fahrstraße Gleisverbindung Gleis Weiche Signal Lokdecoder , Bounded Contexts
  • 10. Microservices, Self-contained Systems Microservice Modularisierungsansatz hohe innere Kohärenz geringe äußere Kopplung passt gut zu Bounded Context "Micro" nicht weiter spezifiziert SCS Autonome (Teil-)Anwendung Alleine lauffähig (Vorsicht bei synchroner Kommunikation!) Eigene Datenhaltung Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 10 gedoplan.de
  • 11. v5t11-SCSs Teilanwendungen als SCSs Quarkus Jakarta EE + MicroProfile Persistenz mit JPA, Hibernate, PostgreSQL Synchrone Kommunikation via REST API und MP Rest Client Asynchrone Kommunikation mit MP Reactive Messaging, MQTT Web-UI mittels JSF (!) (Altlast derzeit noch: Stellwerk hat Swing-UI) Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 11 gedoplan.de
  • 12. Statusverwaltung v5t11-status Anbindung Digitalzentrale mit serieller Schnittstelle / USB  https://fazecast.github.io/jSerialComm/ REST-API für Signale etc. Web-UI für Administration und Debugging Demo! Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 12 gedoplan.de @Path("signal") @Dependent public class SignalEndpoint { @PUT @Path("{bereich}/{name}") @Consumes(MediaType.MEDIA_TYPE_WILDCARD) public void putSignalStellung(@PathParam("bereich") String
  • 13. Fahrstraßenverwaltung v5t11-fahrstrassen MP Rest Client zum Stellen von Signalen etc. MP Reactive Messaging für asynchrone Änderungsmeldungen Demo! Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 13 gedoplan.de @RegisterRestClient(configKey = "v5t11.status") public interface StatusGateway { @PUT @Path("signal/{bereich}/{name}") @Consumes(MediaType.TEXT_PLAIN) void signalStellen(@PathParam("bereich") String bereic @Incoming("gleis-in") void gleisChanged(byte[] msg) { String json = new String(msg); @Inject @Channel("gleis-out") Emitter<String> gleisEmitter; public void publish(Gleis gleis) { String json = … this.gleisEmitter.send(json);
  • 14. Fahrzeugverwaltung v5t11-fahrzeuge MP Rest Client und MP Reactive Messaging analog Web-UI zur Fahrzeugkonfiguration und Steuerung mit JSF Demo! Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 14 gedoplan.de
  • 15. Visualisierung v5t11-leitstand Alte Swing-Anwendung mit Quarkus-Unterbau MP Rest Client und MP Reactive Messaging wie zuvor Demo! Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 15 gedoplan.de
  • 16. Weitere Planung Fahrzeug-Verfolgung Welches Fahrzeug steht/fährt wo? Vorsignalautomatik Vorsignale folgen dem nächsten Hauptsignal im Fahrweg Teilautomatisierung Automatisches Abstellen im Schattenbahnhof Ausblenden der Geräusche in unsichtbaren Abschnitten Betrieb als Docker-Container in Kubernetes Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 16 gedoplan.de
  • 17. Erfahrungen, Rückblick Erste EE-Version war ein Monolith Java EE 6, JBoss 7 Aufsplittung in SCSs + Überschaubare Einheiten + Entkopplung der Datenmodelle + zügiges (Re-) Deployment - Teilredundante Daten - Kommunikationsaufwand Quarkus + schnelle Entwicklungszyklen + schnell wachsendes Ökosystem MicroProfile + Simple und leistungsfähige Bausteine (Config, Rest Client, …) + Leichte Einbindung von Message Brokern (MQTT, AMQP, …) - Reactive Messaging abstrahiert nicht weit genug (z. B. Nutzlast) Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 17 gedoplan.de
  • 18. … und was ist mit dem "echten Leben"? Steuerung eines fahrerlosen Transportsystems (FTS) gedoplan.de Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 18
  • 19. More github.com/dirkweil/v5t11 Projekt www.gedoplan.de Trainings in Berlin, Bielefeld, inhouse www.gedoplan.de Reviews, Coaching, … Blog  dirk.weil@gedoplan.de @dirkweil Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained Systems 19 gedoplan.de