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.
Java on TracksDie Kind-im-Manne-Session    Dirk Weil | GEDOPLAN
Dirk Weil    • GEDOPLAN GmbH, Bielefeld    • Java EE seit 1998    • Konzeption und      Realisierung    • Vorträge    • Se...
Die Ausgangslage    Job                                                  Keller3    Java on Tracks – die Kind-im-Manne-Ses...
V5T11    • Visual Train Control    • VT 11.5                       http://commons.wikimedia.org/wiki/                     ...
Aufgaben von V5T11    • Visualisierung des Gleisplans.    • Anzeige von Gleisbelegungen.    • Reservieren und Freigeben vo...
Mehrzugsteuerung Selectrix    • Keine getrennten Stromkreise    • Loks enthalten      Decoder    • erhalten Befehle      ü...
Mehrzugsteuerung Selectrix    • Zentrale      – Gleisspannung      – SX-Bus    • Funktionsdecoder      – Steuerung von Wei...
Systemaufbau8   Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Wer hats erfunden?    GEDOPLAN Code Camp 20129           Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Selectrix Connector     • Anbindung des Selectrix-Systems     • Bidirektionaler Connector nach JCA 1.6     • Outbound: Set...
Selectrix Connector     • Inbound: Melden von Zustandsänderungen       – SelectrixMessage(90, 0b00100000)                 ...
Selectrix Connector     • Zugriff auf serielle und parallele Schnittstellen        – commapi 2.0: uralt, stagniert        ...
Betriebssteuerung     • Geschäftslogik       – Objektrepräsentation der Modellbahn (Loks, Weichen,         Signale, Gleisa...
Betriebssteuerung                                             Selectrix                                            Connect...
Betriebssteuerung     • Systemzustand:       @ApplicationScoped CDI Bean        @ApplicationScoped        public class Ste...
Betriebssteuerung     • Fahrstraßensteuerung       – Reservieren von Fahrstraßen         = Stellen benötigter Weichen und ...
Betriebssteuerung     • Serviceangebot für Clients                                     Model (JSF)                EJB (Rem...
Stellwerk     •   Visualisierung des Gleisplans     •   Stellen von Weichen und Signalen     •   Reservieren von Fahrstraß...
Stellwerk19   Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Stellwerk     • Ansatz im Code Camp       – Gleisplan als SVG       – Darstellung der Zustände per Transformation des     ...
Remote Control     • Mobile Variante eines       "Walk Around Controllers"       – Auswahl einer Lok       – Steuerung von...
Demo22   Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Impressionen aus dem Keller …23       Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
… und aus dem "echten Leben"     • Steuerung eines       fahrerlosen       Transportsystems       (FTS)24             Java...
Schön, dass Sie da waren!                            dirk.weil@gedoplan.de
Nächste SlideShare
Wird geladen in …5
×

Java on Tracks – die Kind-im-Manne-Session

431 Aufrufe

Veröffentlicht am

Präsentation zum Vortrag von Dirk Weil (GEDOPLAN, http://www.gedoplan.de) auf der W-JAX 2012:

Was macht ein Java-Nerd mit der Modellbahn im Keller? Richtig: Züge, Weichen, Signale werden von einem Java-EE-Server gesteuert, das Stellwerk ist eine JavaFX-Applikation und die Walk-Around-Controls sind per WLAN angebundene Android-Apps. Lassen Sie sich in dieser Session mit Spiel(be)trieb von den Herausforderungen dieser etwas außergewöhnlichen Java-Anwendung berichten - mit Livedemo on Stage!

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

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

Java on Tracks – die Kind-im-Manne-Session

  1. 1. Java on TracksDie Kind-im-Manne-Session Dirk Weil | GEDOPLAN
  2. 2. Dirk Weil • GEDOPLAN GmbH, Bielefeld • Java EE seit 1998 • Konzeption und Realisierung • Vorträge • Seminare • Veröffentlichungen2 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  3. 3. Die Ausgangslage Job Keller3 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  4. 4. V5T11 • Visual Train Control • VT 11.5 http://commons.wikimedia.org/wiki/ File:601_Verkehrsmuseum_Nuernberg_11092010_complete_train.JPG4 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  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 Automatisierung des Fahrbetriebs!5 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  6. 6. Mehrzugsteuerung Selectrix • Keine getrennten Stromkreise • Loks enthalten Decoder • erhalten Befehle über die Gleisspannung – Geschwindigkeit, Richtung – Licht – Horn – …6 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  7. 7. Mehrzugsteuerung Selectrix • Zentrale – Gleisspannung – SX-Bus • Funktionsdecoder – Steuerung von Weichen, Signalen • Besetztmelder – Überwachung von Gleisen • Interface – Konverter SX-Bus serielle Schnittstelle7 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  8. 8. Systemaufbau8 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  9. 9. Wer hats erfunden? GEDOPLAN Code Camp 20129 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  10. 10. Selectrix Connector • Anbindung des Selectrix-Systems • Bidirektionaler Connector nach JCA 1.6 • Outbound: Setzen und Abfragen von einzelnen Adressen – setValue(12, 0b01001110) Geschwindigkeitsstufe 14 vorwärts Licht an Horn aus10 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  11. 11. Selectrix Connector • Inbound: Melden von Zustandsänderungen – SelectrixMessage(90, 0b00100000) … Gleis 11 Gleis 12 Gleis 1 …11 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  12. 12. Selectrix Connector • Zugriff auf serielle und parallele Schnittstellen – commapi 2.0: uralt, stagniert – rxtx: GNU-Implementierung, derzeit auf rxtx.qbang.org zu finden – Java Communications 3.0: Oracle hat den Faden wieder aufgenommen; derzeit keine Windows- Implementierung12 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  13. 13. Betriebssteuerung • Geschäftslogik – Objektrepräsentation der Modellbahn (Loks, Weichen, Signale, Gleisabschnitte) – Objektrepräsentation der MZS (Zentrale, Funktionsdecoder, Besetztmelder) – Bidirektionale Synchronisation mit der MZS – Initialisierung aus XML-Konfig.-Datei – geplant: Speicherung des Systemzustandes in einer DB13 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  14. 14. Betriebssteuerung Selectrix Connector Steuerung Messaging/Events API (setValue) Funktions- Besetzt- Lok Lok decoder melder Weiche Gleis Signal14 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  15. 15. Betriebssteuerung • Systemzustand: @ApplicationScoped CDI Bean @ApplicationScoped public class SteuerungProducer { @Produces @ApplicationScoped private Steuerung steuerung; @PostConstruct private void init() { this.steuerung = XmlConverter.fromXml(Steuerung.class, …); … }15 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  16. 16. Betriebssteuerung • Fahrstraßensteuerung – Reservieren von Fahrstraßen = Stellen benötigter Weichen und Signale – Kollisionskontrolle16 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  17. 17. Betriebssteuerung • Serviceangebot für Clients Model (JSF) EJB (Remote) REST WS Steuerung Besetzt- Funktions- Lok Lok melder decoder Weiche Gleis Signal17 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  18. 18. Stellwerk • Visualisierung des Gleisplans • Stellen von Weichen und Signalen • Reservieren von Fahrstraßen • Anzeige von Gleisbelegungen18 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  19. 19. Stellwerk19 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  20. 20. Stellwerk • Ansatz im Code Camp – Gleisplan als SVG – Darstellung der Zustände per Transformation des Objektmodells hinter der Grafik – Listener-Registrierung auf Grafikelementen für User- Aktionen • Vielversprechend • Aus Zeitgründen nicht realisiert20 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  21. 21. Remote Control • Mobile Variante eines "Walk Around Controllers" – Auswahl einer Lok – Steuerung von Geschwindigkeit, Licht etc.21 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  22. 22. Demo22 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  23. 23. Impressionen aus dem Keller …23 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  24. 24. … und aus dem "echten Leben" • Steuerung eines fahrerlosen Transportsystems (FTS)24 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  25. 25. Schön, dass Sie da waren! dirk.weil@gedoplan.de

×