Raiders of the lost Git Repository, The Starks going reactive and an Empire of Eggs

Ein Bericht vom JUG Saxony Day 2017.

Vergangenen Freitag besuchte das Team Softwareentwicklung gemeinsam mit rund 500 weiteren Teilnehmern den nunmehr vierten JUG Saxony Day in Radebeul. In entspannter Atmosphäre gab es eine Vielzahl interessanter Vorträge und Workshops aus fünf verschiedenen Themenbereichen, die auch immer wieder mit Referenzen zur Popkultur aufgelockert wurden. Aktuell hoch im Kurs stehend: Game of Thrones.

Wie immer hatte man die Qual der Wahl bei der Vortragsauswahl aus dem Programm. An dieser Stelle möchte ich zwei besonders interessante Beiträge ausführlicher vorstellen:

Graphendatenbanken

Einer der ersten Vorträge direkt nach der Eröffnungsveranstaltung beschäftigte sich mit Graphendatenbanken. Deren Stärken demonstriert uns Referent Jochen Binder zunächst anhand eines Temperatursensorkonfigurators, in dem viele verschiedene Sensoren, Adapter und Querverbindungen miteinander harmonieren müssen. Innerhalb eines nur wenige Tage dauernden Miniprojektes konnte, seiner Erzählung nach, mit Hilfe von Graphendatenbanken eine vollwertige Applikation entwickelt werden. Dies benötigte in einem vorangegangenen Projekt mehrere Wochen.

Graphendatenbanken können ihre Stärken vor allem dort ausspielen, wo nicht nur die Daten selbst, sondern auch und vor allem ihre Relationen untereinander eine Rolle spielen. Ein weiteres Beispiel, welches in diesem Kontext zur Sprache kam, war „Game of Graphs“ – eine als Graph abgespeicherte Repräsentation aller in Game of Thrones vorkommenden Kämpfe, Großereignisse und Charaktere, sowie deren Beziehungen untereinander. Aber Videos sagen mehr als tausend Worte – daher anbei ein Beispielvideo.

Im weiteren Teil des Vortrages stellte uns der Referent mehrere Tools vor, die die Arbeit mit Graphendatenbanken ermöglichen. Darunter eine konkrete Implementierung, die dokumentbasierte OrientDB sowie Gremlin, welches unter Java und Groovy eine leicht verständliche und eingängliche Abfragesprache für Graphendatenbanken zur Verfügung stellt (der Zugriff auf die Daten ist aber auch mit einer stark an SQL angelehnten Abfragesprache möglich).

Als kleines Sahnehäubchen empfand ich, wie der Referent seine Demobeispiele mit Hilfe von Groovy und Spock (welches primär zum Testen entwickelt wurde) erstellte und vorführte, da hiermit die einzelnen Demo-Cases sehr einfach und übersichtlich geschrieben und präsentiert werden konnten.

Egg Empire

Später besuchte ich einen Workshop, der im Vorfeld nur so viel von sich preisgab, als dass es um ein Spiel mit Überraschungseiern ginge. Nachdem sich rund 20 Teilnehmer im Konferenzsaal zusammengefunden hatten, wurden uns die (zunächst etwas kryptisch wirkenden) Spielregeln des „Egg Empire“ erklärt und uns die Möglichkeit eröffnet, um unseren eigenen Einsatz zu spielen. Die Entscheidung fiel einstimmig für das Risiko und so konnte das Spiel beginnen.

Unsere „Features“

Gespielt wurde in Runden, mit dem Ziel, einen 18 Ü-Eier-fassenden Karton zu füllen. In jeder Runde konnte man sich für den Kauf von sicheren, aber teuren „Erwartungseiern“ oder den Kauf von billigen, aber potentiell verdorbenen „Überraschungseiern“ entscheiden. Das Problem an den Überraschungseiern lag darin, dass verdorbene Eier nicht in den Karton wandern durften und auch sicher geglaubte Eier in späteren Runden mit einiger (unbekannter) Wahrscheinlichkeit verdarben.

Unser Team entschied sich zunächst für eine „sichere“ Herangehensweise und kaufte haufenweise sichere Erwartungseier, wohingegen andere Teams risikofreudiger waren – sich aber in jeder Runde zunehmend mit immer mehr verderbenden Eiern auseinandersetzen mussten. Letztendlich lief es auf ein Kopf-an-Kopf-Rennen hinaus, welches wir nur sehr knapp mit einem zweiten Platz verloren haben.

Doch was hat all dies mit Softwareentwicklung zu tun? Das war die Frage, die uns auch am Ende des Spiels noch beschäftigte. Nun – sämtliche Eier standen symbolisch für Features innerhalb eines Projektes. Bei den Erwartungseiern handelte es sich um intensiv und mit automatischen Tests verifizierte Features, die zwar einiges an Geld kosten, das Projekt aber dafür stetig ans Ziel führen. Die Überraschungseier entsprachen nur unzureichend oder gar nicht getesteten Features, die noch während eines Sprints fehlerhaft sein können. Schlimmer aber noch: auch in späteren Sprints konnten die Features durch Vernetzungen im Projekt kaputtgehen, ohne dass dies (mangels Tests) auffällt.

Im Anschluss daran zeigten uns die Veranstalter mehrere Simulationen, wie sich die einzelnen Spieltypen und Vorgehensweisen unter denselben Bedingungen bei einer großen Anzahl an Features und Sprints auf das Projekt auswirken. Safe to say: gut getestete Software ist das A und O – was viele der noch recht jungen Teilnehmer an Erkenntniszugewinn aus dieser Veranstaltung mitgenommen haben.

Weitere Veranstaltungen

Indiana Jones auf Mission

Weitere von mir besuchte Veranstaltungen handelten von reaktiver Programmierung mit Spring (auch hier kamen wieder Game-of-Thrones-Beispiele zum Einsatz), dem Aufbau einer auf Microservices basierten Einzelhandelsonlineverkaufsinfrastruktur bei REWE oder der (mit an Indiana Jones angelegter) „Archäologie“, oder „Faktensuche“ in Git-Repositories.

Natürlich wurde auch an das leibliche Wohl der Besucher gedacht – zwischen den Veranstaltungen gab es verschiedene Buffets und einen stetigen Nachschub an frischem und heißem Kaffee 😊

Der Konferenztag endete mit einer großen Verlosung (auch unser Team war unter den glücklichen Gewinnern) und klang schließlich mit einem Grillabend unter freiem Spätsommerabendhimmel aus. Vielen Dank an JUG Saxony für diese spannende und lehrreiche Veranstaltung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.