SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Java on Tracks
    Die Kind-im-Manne-Session
         Dirk Weil | GEDOPLAN
1       Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Dirk Weil
    • GEDOPLAN GmbH, Bielefeld
    • Java EE seit 1998
    • Konzeption und
      Realisierung
    • Vorträge
    • Seminare
    • Veröffentlichungen

2          Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Die Ausgangslage
                  Job




                                                 Keller

3   Java on Tracks – die Kind-im-Manne-Session        dirk.weil@gedoplan.de
V5T11
    • Visual Train Control

    • VT 11.5




                   http://commons.wikimedia.org/wiki/
                   File:601_Verkehrsmuseum_Nuernberg_11092010_complete_train.JPG

4           Java on Tracks – die Kind-im-Manne-Session               dirk.weil@gedoplan.de
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
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
Mehrzugsteuerung Selectrix
    • Zentrale
      – Gleisspannung
      – SX-Bus
    • Funktionsdecoder
      – Steuerung von Weichen, Signalen
    • Besetztmelder
      – Überwachung von Gleisen
    • Interface
      – Konverter SX-Bus                       serielle Schnittstelle
7           Java on Tracks – die Kind-im-Manne-Session          dirk.weil@gedoplan.de
Systemaufbau




8   Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Wer hat's erfunden?




    GEDOPLAN Code Camp 2012
9           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: Setzen und Abfragen von
       einzelnen Adressen
       – setValue(12, 0b01001110)
                                                          Geschwindigkeitsstufe 14
                                                          vorwärts
                                                          Licht an
                                                          Horn aus

10           Java on Tracks – die Kind-im-Manne-Session                   dirk.weil@gedoplan.de
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
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-Implementierung

12            Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
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 DB
13           Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Betriebssteuerung
                                             Selectrix
                                            Connector


                                            Steuerung




                                                                              Messaging/Events
     API (setValue)
                  )




                                             Funktions-            Besetzt-
                          Lok
                           Lok                decoder              melder


                                            Weiche                   Gleis



                                                    Signal



14                    Java on Tracks – die Kind-im-Manne-Session              dirk.weil@gedoplan.de
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
Betriebssteuerung
     • Fahrstraßensteuerung
       – Reservieren von Fahrstraßen
         = Stellen benötigter Weichen und Signale
       – Kollisionskontrolle




16           Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Betriebssteuerung
     • Serviceangebot für Clients


                                Model (JSF)
             EJB (Remote)




                                                                     REST WS
                                      Steuerung



                                       Besetzt-         Funktions-
                             Lok
                              Lok      melder            decoder



                                      Weiche               Gleis




                                               Signal




17           Java on Tracks – die Kind-im-Manne-Session                        dirk.weil@gedoplan.de
Stellwerk
     •   Visualisierung des Gleisplans
     •   Stellen von Weichen und Signalen
     •   Reservieren von Fahrstraßen
     •   Anzeige von Gleisbelegungen




18             Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
Stellwerk




19   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 Transfor-
         mation des Objektmodells hinter der Grafik
       – Listener-Registrierung auf Grafikelementen
         für User-Aktionen
     • Vielversprechend
     • Aus Zeitgründen nicht realisiert
20           Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
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
Demo




22   Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de
23   Java on Tracks – die Kind-im-Manne-Session   dirk.weil@gedoplan.de

Más contenido relacionado

Destacado

La xarxa exprés.cat
La xarxa exprés.catLa xarxa exprés.cat
La xarxa exprés.cat
AMTU
 
Reise nach berlin2
Reise nach berlin2Reise nach berlin2
Reise nach berlin2
krizser
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
codebits
 
El transporte cristian
El  transporte cristianEl  transporte cristian
El transporte cristian
nosecristian
 
REFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVAS
REFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVASREFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVAS
REFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVAS
Andreita Aguilar
 
10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...
10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...
10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...
SouMaisWeb
 

Destacado (20)

Despedida de Patricia
Despedida de Patricia Despedida de Patricia
Despedida de Patricia
 
La xarxa exprés.cat
La xarxa exprés.catLa xarxa exprés.cat
La xarxa exprés.cat
 
Azure Service bus
Azure Service busAzure Service bus
Azure Service bus
 
Infraestructura i finançament
Infraestructura i finançamentInfraestructura i finançament
Infraestructura i finançament
 
#RecuperemBlanes: "Menys zones blaves, més transport públic!"
#RecuperemBlanes: "Menys zones blaves, més transport públic!"#RecuperemBlanes: "Menys zones blaves, més transport públic!"
#RecuperemBlanes: "Menys zones blaves, més transport públic!"
 
Reise nach berlin2
Reise nach berlin2Reise nach berlin2
Reise nach berlin2
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
 
SEO und Linkbuilding im Jahr 2014
SEO und Linkbuilding im Jahr 2014SEO und Linkbuilding im Jahr 2014
SEO und Linkbuilding im Jahr 2014
 
Promotionbus
PromotionbusPromotionbus
Promotionbus
 
TEDx UFRJ
TEDx UFRJTEDx UFRJ
TEDx UFRJ
 
Le voyage
Le voyageLe voyage
Le voyage
 
El transporte cristian
El  transporte cristianEl  transporte cristian
El transporte cristian
 
Cap i2intro4
Cap i2intro4Cap i2intro4
Cap i2intro4
 
Réunion parents1
Réunion parents1Réunion parents1
Réunion parents1
 
Katia
KatiaKatia
Katia
 
Ss3 my city
Ss3 my citySs3 my city
Ss3 my city
 
Presentació Institucional TMB 2014
Presentació Institucional TMB 2014Presentació Institucional TMB 2014
Presentació Institucional TMB 2014
 
REFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVAS
REFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVASREFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVAS
REFERNCIAS A CELDA * REFERENCIAS ABSOLUTAS Y RELATIVAS
 
REFERENCIAS A CELDAS
REFERENCIAS A CELDASREFERENCIAS A CELDAS
REFERENCIAS A CELDAS
 
10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...
10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...
10° Edição do #soumaisweb - Apresentação de Marcelo Thompson - Erros Eternos ...
 

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

DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
FromDual GmbH
 

Similar a Vortrag Dirk Weil Java on Tracks – Die Kind-im-Manne-Session auf der JAX 2012 (7)

DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
Java EE hochverfügbar
Java EE hochverfügbarJava EE hochverfügbar
Java EE hochverfügbar
 
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
 
WJAX 2012: Dreamteam "BPM + Java EE"
WJAX 2012: Dreamteam "BPM + Java EE"WJAX 2012: Dreamteam "BPM + Java EE"
WJAX 2012: Dreamteam "BPM + Java EE"
 
WJAX 2012: Advanced Activiti
WJAX 2012: Advanced ActivitiWJAX 2012: Advanced Activiti
WJAX 2012: Advanced Activiti
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 

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

  • 1. Java on Tracks Die Kind-im-Manne-Session Dirk Weil | GEDOPLAN 1 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 2. Dirk Weil • GEDOPLAN GmbH, Bielefeld • Java EE seit 1998 • Konzeption und Realisierung • Vorträge • Seminare • Veröffentlichungen 2 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 3. Die Ausgangslage Job Keller 3 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 4. V5T11 • Visual Train Control • VT 11.5 http://commons.wikimedia.org/wiki/ File:601_Verkehrsmuseum_Nuernberg_11092010_complete_train.JPG 4 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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. 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. Mehrzugsteuerung Selectrix • Zentrale – Gleisspannung – SX-Bus • Funktionsdecoder – Steuerung von Weichen, Signalen • Besetztmelder – Überwachung von Gleisen • Interface – Konverter SX-Bus serielle Schnittstelle 7 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 8. Systemaufbau 8 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 9. Wer hat's erfunden? GEDOPLAN Code Camp 2012 9 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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 aus 10 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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. 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-Implementierung 12 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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 DB 13 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 14. Betriebssteuerung Selectrix Connector Steuerung Messaging/Events API (setValue) ) Funktions- Besetzt- Lok Lok decoder melder Weiche Gleis Signal 14 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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. Betriebssteuerung • Fahrstraßensteuerung – Reservieren von Fahrstraßen = Stellen benötigter Weichen und Signale – Kollisionskontrolle 16 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 17. Betriebssteuerung • Serviceangebot für Clients Model (JSF) EJB (Remote) REST WS Steuerung Besetzt- Funktions- Lok Lok melder decoder Weiche Gleis Signal 17 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 18. Stellwerk • Visualisierung des Gleisplans • Stellen von Weichen und Signalen • Reservieren von Fahrstraßen • Anzeige von Gleisbelegungen 18 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 19. Stellwerk 19 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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 realisiert 20 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 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. Demo 22 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de
  • 23. 23 Java on Tracks – die Kind-im-Manne-Session dirk.weil@gedoplan.de