Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Mehr Container an die (Modell-) Bahn!

29 Aufrufe

Veröffentlicht am

Vortrag auf dem Expertenkreis Java von Dirk Weil, 10.1.2019 GEDOPLAN GmbH

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Mehr Container an die (Modell-) Bahn!

  1. 1. Mehr Container an die (Modell-)Bahn! Expertenkreis Java, 10.01.2019, GEDOPLAN Dirk Weil, GEDOPLAN GmbH
  2. 2. 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
  3. 3. Die Ausgangslage Job Keller Dachboden gedoplan.deMehr Container an die (Modell-) Bahn! 3
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. Selectrix Adapter Inbound: Melden von Zustandsänderungen SelectrixMessage(90, 0b00100000) Gleis 11 Gleis 12 Gleis 1 … … gedoplan.deMehr Container an die (Modell-) Bahn! 10
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. Systemaufbau Deployment v5t11-status Pod Cont Service + Ingress/NodePort Node 1 Node 3 Node 2 gedoplan.deMehr Container an die (Modell-) Bahn! 14
  15. 15. 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
  16. 16. Demo gedoplan.deMehr Container an die (Modell-) Bahn! 16
  17. 17. 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
  18. 18. 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
  19. 19. Demo gedoplan.deMehr Container an die (Modell-) Bahn! 19
  20. 20. 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
  21. 21. 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
  22. 22. Demo gedoplan.deMehr Container an die (Modell-) Bahn! 22
  23. 23. 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
  24. 24. Impressionen aus dem Keller … gedoplan.deMehr Container an die (Modell-) Bahn! 24
  25. 25. … und aus dem "echten Leben" Steuerung eines fahrerlosen Transportsystems (FTS) gedoplan.deMehr Container an die (Modell-) Bahn! 25
  26. 26. 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

×