22. Juni 2015 | 2 min lesezeit

Java Enterprise mal anders

Vor einigen Jahren kamen einige OKler auf die Idee, dass dem OK-Kicker noch das gewisse Extra fehlt. Durch einen Zufall waren die Entwickler auf die Seite http://digitalfoosball.com/ der Hamburger Agentur SinnerSchrader aufmerksam geworden und die Idee einer digitale Toranzeige (die Torlinientechnik ist auch 2015 noch nicht allgegenwärtig) für den OK-Kicker überzeugte sofort.

Als ein Beratungsunternehmen mit Java-Expertise, bestand für die Entwickler der Anspruch das Ganze auf Basis des Java Enterprise Stacks umzusetzen. Ein Embedded-Board mit zwei Lichtschranken, moderne Web-Technologien und die Integration mobiler Endgeräte sollten gleichermaßen berücksichtigt werden. Als Ergebnisse entstand über mehrere Iterationen der OK-Kicker, der sich auf den deutschsprachigen Konferenzen des S&S Verlags stets großer Beliebtheit erfreut.

Die Hardware

Das Herzstück des OK-Kickers besteht (neben dem eigentlichen Tisch) aus einem Arduino-Board als Mikrocontroller, einer dazugehörigen Platine nach den Plänen von SinnerSchrader und einem Wifi-Modul. An die Platine sind zwei Lichtschranken angeschlossen, die in den Toren des Tisches verbaut sind. Während des Spiels wird ein Tor durch die Unterbrechung der Lichtschranke registriert und als Event in einen Speicher auf der Platine geschrieben. Anschließend wird das Event wieder ausgelesen und als HTTP-Call via WLAN an den Server zur Verwaltung der Spieldaten gesendet.

Der Server

Die Anwendung zur Verwaltung der Spieldaten wurde auf Basis des Java Enterprise Stacks (Java EE 6 & 7) aufgebaut. Neben einem Domänenmodell zur Erfassung von Teams, Spielern, Partien und gefallenen Toren lag der Fokus auf der Umsetzung einer flexiblen und leichtgewichtigen Architektur sowie der ansprechenden Präsentation des aktuellen Spielstands.

Nach dem eine erste Version einer ajaxifizierte Webanwendung auf Basis von JSF und JAX-RS (REST Resource zur Bereitstellung des aktuellen Spielstands) realisiert worden war, ging der Blick in Richtung der WebSocket-API zur Implementierung von Push-Benachrichtigungen, um Tore nahezu ohne Verzögerung in der Webanwendung anzeigen zu können. Damit konnte auf die Lösung der ersten Version – Requests im Sekundentakt – verzichtet werden.

Da sich die Registrierung neuer Spieler während parallel laufender Spiele im Verlauf der ersten Konferenzen als hinderlich herausstellte, wurde zur Verwaltung der Spieldaten eine REST-API implementiert, um die Verwaltung der Spieldaten in eine mobile Anwendung auszulagern.

mobile Anwendung

Neben der ersten Webanwendung auf Basis von JSF wurden zwei mobile Anwendung für iOS und Android entwickelt, die ebenfalls den Spielstand darstellen sollten. Genau wie im Webfrontend zeigte sich das REST Schnittstellen aufgrund der Request/Response Kommunikation zum damaligen Zeitpunkt nicht für die Echtzeitübertragung von Statusinformationen wie dem Spielstand geeignet waren.

In der Folge wurde die Android Anwendung ausgebaut um die komplette Verwaltung der Spieldaten zu unterstützen.

Und? Kann Java EE auch anders?

Der OK-Kicker ist ein sehr anschauliches Beispiel wie Enterprise Java sowohl mit mobilen Endgeräten (Enterprise-meets-Mobile) als auch mit Embedded-Geräten integriert werden kann. Die Weiterentwicklung über einige Jahre hat gezeigt dass eine hohe Standardisierung ein sicheres Fundament für die Umsetzung von Java Enterprise Anwendungen bietet und dabei einer regelmäßigen Modernisierung nicht im Wege steht sondern diese sogar unterstützt.


Keine Kommentare

Kontakt

OPEN KNOWLEDGE GmbH

Standort Oldenburg:
Poststraße 1, 26122 Oldenburg

Standort Essen:
II. Hagen 7, 45127 Essen