SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Mehr Container an die (Modell-)Bahn!
Expertenkreis Java, 10.01.2019, GEDOPLAN
Dirk Weil, GEDOPLAN GmbH
Dirk Weil
GEDOPLAN GmbH, Bielefeld
GEDOPLAN IT Consulting
Consulting, coaching, concepts, reviews, development
GEDOPLAN IT Training
Java, JEE, tools trainings in Berlin, Bielefeld, on-site
JEE since 1998
Speaker and author
Mehr Container an die (Modell-) Bahn! 2gedoplan.de
Die Ausgangslage
Job
Keller
Dachboden
gedoplan.deMehr Container an die (Modell-) Bahn! 3
v5t11
Visual Train Control
VT 11.5
http://commons.wikimedia.org/wiki/
File:601_Verkehrsmuseum_Nuernberg_11092010_complete_train.JPG
gedoplan.deMehr Container an die (Modell-) Bahn! 4
Aufgaben von V5T11
Visualisierung des Gleisplans.
Anzeige von Gleisbelegungen.
Reservieren und Freigeben von Fahrstraßen inklusive der dazu
nötigen Weichen- und Signalstellungen.
Keine (vollständige) Automatisierung des Fahrbetriebs!
gedoplan.deMehr Container an die (Modell-) Bahn! 5
Erste Version
Monolith
Java-EE-6
Komplette Logik in WAR
Anbindung mittels RAR
Swing-Client
mit EJB-Remoting
gedoplan.deMehr Container an die (Modell-) Bahn! 6
Mehrzugsteuerung Selectrix
Keine getrennten Stromkreise
Loks enthalten
Decoder
erhalten Befehle
über die Gleisspannung
Geschwindigkeit, Richtung
Licht
Horn
…
gedoplan.deMehr Container an die (Modell-) Bahn! 7
Mehrzugsteuerung Selectrix
Zentrale
Gleisspannung
SX-Bus
Funktionsdecoder
Steuerung von Weichen, Signalen
Besetztmelder
Überwachung von Gleisen
Interface
Konverter SX-Bus  serielle Schnittstelle
gedoplan.deMehr Container an die (Modell-) Bahn! 8
Selectrix Adapter
Anbindung des Selectrix-Systems
Bidirektionaler Connector nach JCA 1.7
Outbound: Setzen und Abfragen von einzelnen Adressen
setValue(6, 0b01001110)
Geschwindigkeitsstufe 14
vorwärts
Licht an
Horn aus
gedoplan.deMehr Container an die (Modell-) Bahn! 9
Selectrix Adapter
Inbound: Melden von Zustandsänderungen
SelectrixMessage(90, 0b00100000)
Gleis 11
Gleis 12
Gleis 1
…
…
gedoplan.deMehr Container an die (Modell-) Bahn! 10
Selectrix Adapter
Zugriff auf serielle und parallele Schnittstellen
Java Communications 3.0:
uralt, stagniert
RXTX:
derzeit auf fizzed.com/oss/rxtx-for-java zu finden
benötigt Native Library
keine Implementierung für RaspPi
NRJavaSerial:
github.com/NeuronRobotics/nrjavaserial
RXTX-Fork
Native Librarys im JAR
gedoplan.deMehr Container an die (Modell-) Bahn! 11
Node 2
Node 1
Zielumgebung Kubernetes
Mehr Container an die (Modell-) Bahn! 12gedoplan.de
Deployment b
Pod b-1
C y
C z
Deployment a
Pod a-3
C x
RS a RS b
Pod a-2
C x
Pod a-1
C x
Svc a Svc b
Ingress a
Pod
ein Container, ggf. mehrere
Abstraktion eines Rechners
Node
„echter Rechner“
ReplicaSet
sorgt für n laufende Pods
Deployment
ergänzt RS um Rolling
Update
Service
feste IP-Adresse
Load Balancer
Ingress
Reverse Proxy
ModellbahnServices im Kubernetes-Cluster
Systemaufbau
Zentrale
SLX 850
Interface
66824
Besetzmelder
BMMiba 3
Weichendecoder
WDMiba 3
Lok-Control
66812
Lok-Decoder
DHL100etc.
Status - Gleisbelegungen,
Weichen-, Signalstellungen
- Lok-Zustände
- Message-Broker
- WAR + RAR auf WildFly 14
gedoplan.deMehr Container an die (Modell-) Bahn! 13
Systemaufbau Deployment
v5t11-status
Pod
Cont
Service
+
Ingress/NodePort
Node 1
Node 3
Node 2
gedoplan.deMehr Container an die (Modell-) Bahn! 14
Systemaufbau
Probleme
Hardwareausfall RaspPi-Cluster
Multi-Architektur-Docker-Images (amd64, arm32v7)
nur eingeschränkt verfügbar
Instabilität der Comm-API auf RaspPi
Heute leider kein Pi-Cluster 
Alternative: Docker for Windows
kein Zugriff auf Devices (Serienschnittstelle, USB, …)
Anbindung Serienschnittstelle über separaten Prozess v5t11-com-server
gedoplan.deMehr Container an die (Modell-) Bahn! 15
Demo
gedoplan.deMehr Container an die (Modell-) Bahn! 16
ModellbahnServices im Kubernetes-Cluster
Systemaufbau
Zentrale
SLX 850
Interface
66824
Besetzmelder
BMMiba 3
Weichendecoder
WDMiba 3
Lok-Control
66812
Lok-Decoder
DHL100etc.
Status - Gleisbelegungen,
Weichen-, Signalstellungen
- Lok-Zustände
- Message-Broker
- WAR + RAR auf WildFly 14
Fahrstrassen - Ermittlung, Rervierung
und Freigabe von
Fahrstrassen
- Apache Meecrowave
gedoplan.deMehr Container an die (Modell-) Bahn! 17
Systemaufbau
Service
Deployment
v5t11-fahrstrassen
Pod
Cont
Deployment
v5t11-status
Pod
Cont
Node 1
Node 3
Node 2
gedoplan.deMehr Container an die (Modell-) Bahn! 18
Service
+
Ingress/NodePort
Demo
gedoplan.deMehr Container an die (Modell-) Bahn! 19
ModellbahnServices im Kubernetes-Cluster
Systemaufbau
Zentrale
SLX 850
Interface
66824
Besetzmelder
BMMiba 3
Weichendecoder
WDMiba 3
Lok-Control
66812
Lok-Decoder
DHL100etc.
Status - Gleisbelegungen,
Weichen-, Signalstellungen
- Lok-Zustände
- Message-Broker
- WAR + RAR auf WildFly 14
Fahrstrassen - Ermittlung, Rervierung
und Freigabe von
Fahrstrassen
- Apache Meecrowave
Leitstand - Visualisierung
- Apache Meecrowave
- Swing (außerhalb Kubernetes),
demnächst Angular
gedoplan.deMehr Container an die (Modell-) Bahn! 20
Systemaufbau
Service
Deployment
v5t11-fahrstrassen
Pod
Cont
Deployment
v5t11-status
Pod
Cont
Deployment
v5t11-leitstand
Pod
Cont
Service
Node 1
Node 3
Node 2
gedoplan.deMehr Container an die (Modell-) Bahn! 21
Service
+
Ingress/NodePort
Demo
gedoplan.deMehr Container an die (Modell-) Bahn! 22
ModellbahnServices im Kubernetes-Cluster
Systemaufbau (demnächst)
Zentrale
SLX 850
Interface
66824
Besetzmelder
BMMiba 3
Weichendecoder
WDMiba 3
Lok-Control
66812
Lok-Decoder
DHL100etc.
Status - Gleisbelegungen,
Weichen-, Signalstellungen
- Lok-Zustände
- Message-Broker
- WAR + RAR auf WildFly 14
Fahrstrassen - Ermittlung, Rervierung
und Freigabe von
Fahrstrassen
- Apache Meecrowave
Leitstand - Visualisierung
- Apache Meecrowave
- Swing (außerhalb Kubernetes),
demnächst Angular
Position - Fahrzeugverfolgung
- in Planung
Vorsignal - Stellung von Vorsignalen
entsprechend Fahrwegen
- in Planung
gedoplan.deMehr Container an die (Modell-) Bahn! 23
Impressionen aus dem Keller …
gedoplan.deMehr Container an die (Modell-) Bahn! 24
… und aus dem "echten Leben"
Steuerung eines
fahrerlosen
Transportsystems
(FTS)
gedoplan.deMehr Container an die (Modell-) Bahn! 25
More
github.com/dirkweil/v5t11
Project
www.gedoplan-it-training.de
Trainings in Berlin, Bielefeld, inhouse
www.gedoplan-it-consulting.de
Reviews, Coaching, …
Blog
 dirk.weil@gedoplan.de
@dirkweil
Mehr Container an die (Modell-) Bahn! 26gedoplan.de

Contenu connexe

Similaire à Mehr Container an die (Modell-) Bahn!

Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollWolfgang Weigend
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker ContainerAndreas Koop
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...NETWAYS
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackDaniel Schneller
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Informatik Aktuell
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
B1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Systems GmbH
 
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...B1 Systems GmbH
 
Was gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumWas gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumNicholas Dille
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Servergedoplan
 
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerAlternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerOPITZ CONSULTING Deutschland
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederChristoph Pickl
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...B1 Systems GmbH
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 

Similaire à Mehr Container an die (Modell-) Bahn! (20)

.NET und jetzt!
.NET und jetzt!.NET und jetzt!
.NET und jetzt!
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
OSDC 2011 | Enterprise Cloud Lösung - Open Stack in der Praxis by Christian B...
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
B1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AG
 
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
Klein, aber oho - Continuous Delivery von Micro Applications mit Jenkins, Doc...
 
Was gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumWas gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-Universum
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerAlternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 

Mehr Container an die (Modell-) Bahn!