© Excellent backgrounds/Shutterstock.com
Modellbahn powered by Java EE

Java on Tracks


Wenn man sich professionell mit der Entwicklung von Software befasst und dadurch Tastatur und Monitor tagsüber (und manchmal auch nachts) ständige Begleiter sind, nutzt man IT dann auch in der Freizeit? Man muss nicht, aber man kann – und im hier beschriebenen Fall liegt die Verbindung auch recht nahe: Ich baue und betreibe schon seit einigen Jahren eine Modellbahn im Keller. Die Betonung liegt hier auf „Modell“ als Abgrenzung zu den Spielzeugeisenbahnen, die zumindest in meiner Kinder- und Jugendzeit einige Kinderzimmer schmückten. Um bei der Modellbahn einen vorbildähnlichen Betrieb zu ermöglichen, ist sie mit einer Mehrzugsteuerung ausgestattet, die auch ein Computerinterface aufweist.

Natürlich kann man entsprechende Steuerungssoftware fertig erwerben, aber das ist ja langweilig. Also haben wir uns bei GEDOPLAN für eines unserer Code Camps die Aufgabe gestellt, die Modellbahn mit einer Java-EE-Anwendung zu steuern. Zunächst musste ein Projektname gefunden werden. Die Wahl fiel auf V5T11, was Visual Train Control bedeutet – analog zur bekannten Abkürzung I18n für Internationalization. In anderer Reihenfolge erhält man VT 11.5, was einen Triebzug bezeichnet, der sicher die Herzen vieler Modellbahner höher schlagen lässt.

Aufgabenstellung

Die vollständige Automatisierung des Anlagenbetriebs soll durch V5T11 nicht erreicht werden, schließlich möchte der Modellbahner seine Züge meist selbst aktiv steuern. Vielmehr soll V5T11 die Aufgaben lösen, die beim großen Vorbild im Stellwerk angesiedelt sind: Visualisierung des Gleisplans, Anzeige von Gleisbelegungen sowie Reservieren und Freigeben von Fahrstraßen inklusive der dazu nötigen Weichen- und Signalstellungen.

Für unser Code Camp war es darüber hinaus erwünscht, möglichst viele Teile der Plattform Java EE 6 sinnvoll einzusetzen. Dadurch finden sich in V5T11 neben der auf CDI basierenden Geschäftslogik ein Ressourcenadapter zur Anbindung der Mehrzugsteuerung, eine Webanwendung zur Administration und zum Monitoring, EJBs für die Versorgung eines Remote-Stellwerk-Clients sowie REST-Web-Services für die Fahrzeugsteuerung mit einer Android-App. Im Folgenden soll auf einige Details von V5T11 ein wenig Licht geworfen werden.

Systemaufbau

Zur Steuerung der Fahrzeuge wird eine Mehrzugsteuerung eingesetzt. Anders als bei der Spieleisenbahn benötigt man dann nicht mehrere Stromkreise, auf denen die Loks unabhängig voneinander fahren können. Vielmehr werden alle Fahrzeuge mit der gleichen Dauerspannung versorgt, auf ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang