Mein Turnier

Java trifft Fußball

Aktuell

Am 20. und 21. Juli 2019 veranstaltet der FC Grün-Weiß Gröbenzell im Sport- und Freizeitzentrum Gröbenzell sein Sommerturnier. An dem Wochenende werden 15 Jugendturniere in den unterschiedlichsten Altersstufen angeboten.

Schauen Sie doch mal auf die Homepage des FC Grün-Weiß Gröbenzell. Dort finden Sie weitere Informationen zu den Turnieren.

Java trifft Fußball

Im Frühjahr 2015 starteten die Vorbereitungen für das Sommerturnier des FC Grün-Weiß Gröbenzell. Für die Turnierpläne wurden Excel-Tabellen verwendet, die zwar teilweise automatisch die Punkte berechneten, aber für die einzelnen Turniermodi immer wieder manuell angepasst werden mussten. Zeitgleich beschäftigte ich mich mit JavaFX und schnell war die Idee geboren, einen Turnierplaner mit dieser Technologie umzusetzen. Bis zum Sommerturnier 2015 entstand das erste Release des Turnierplaners.

Diese erste Version umfasste die grundlegenden Funktionen für die Erstellung der Turnierpläne, Erfassung der Spielergebnisse und die automatische Auswertung der Ergebnisse.

In den folgenden Jahren wurde die Anwendung weiterentwickelt und zu jedem Turnier mit neuen Funktionen erweitert. So stand zum Winterturnier 2016 die Druckfunktionalität für die Turnierpläne und Turnierergebnisse zur Verfügung. Zum Sommerturnier 2016 bekam die Oberfläche einen neuen Look und es wurde der Druck von Spielergebniskarten eingeführt. Für das Winterturnier 2017 wurden zusätzliche Funktionen aufgenommen, um Spielpläne bei kurzfristigen Änderungen schneller umstellen zu können.

Zum Sommerturnier 2017 kam erstmalig der Turnierticker zum Einsatz, der die Ergebnisse der laufenden Spiele direkt Online zur Verfügung stellte.

Ein wenig Technik...

Die Anwendung besteht aus zwei unabhängigen Modulen, dem Turnierplaner und dem Informationsserver für den Turnierticker. Beide Module sind in Java programmiert und benötigen als Laufzeitumgebung Java 8.

Der Turnierplaner ist als Desktop-Anwendung konzipiert. Die Benutzeroberfläche ist mit JavaFX entwickelt. Auch für den Druck der Pläne und Ergebnisse werden die Funktionalitäten von JavaFX verwendet. Damit stehen für die Druckausgabe die gleichen Komponenten und Gestaltungsmöglichkeiten wie für die Oberfläche zur Verfügung. Für die Entkopplung der Komponenten kommt Weld SE als CDI Container zum Einsatz. Die Komponenten kommunizieren untereinander über CDI Events.

Der Informationsserver ist eine Webanwendung, die auf Java EE basiert. Für den Turnierticker kommt JSF mit der Komponentenbibliothek PrimeFaces zum Einsatz. Der Informationsserver ist als Microservice implementiert und wird zusammen mit dem Applikationsserver WildFly Swarm ausgeliefert. Für die Kommunikation mit dem Turnierplaner stellt der Informationsserver RESTful Web Services auf Basis von JAX-RS bereit. Der Turnierplaner nutzt diese Services als Client mit der Implementierung RESTEasy.