Vortrag Dirk Weil Java on Tracks – Die Kind-im-Manne-Session auf der JAX 2012

1,630 views

Published on

Java Vortrag Dirk Weil auf der JAX 2012 "Java on Tracks – Die Kind-im-Manne-Session", IPS Stand JAX 2012

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,630
On SlideShare
0
From Embeds
0
Number of Embeds
409
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Vortrag Dirk Weil Java on Tracks – Die Kind-im-Manne-Session auf der JAX 2012

  1. 1. Java on Tracks Die Kind-im-Manne-Session Dirk Weil | GEDOPLAN1 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  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 cloudhopper.com 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 Transfor- mation 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. 23 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de

×