Skip to main content

Jax 2020 – Software Is Eating The World

Verfasst von Philipp Traue   //  

Unglaublich, aber wahr – es war Jax! Ganz real und mit physischer Anwesenheit in der Mainzer Rheingoldhalle. Natürlich mit Abständen und Hygieneregeln statt des abendlichen Coming Together und mit Frühstückstüten statt des gewohnten Backwaren-Buffets.

Wir waren trotz einiger Skepsis dabei und (Achtung, Spoiler!) schwer begeistert – sowohl von der wegweisenden Art, die Konferenz zu realisieren als auch von der Qualität der Sessions, die mit genauso wegweisenden Einblicken aufwarteten.

Software Is Eating The Corona World

Dass die Jax im Mai 2020 wegen der Pandemie als Online-Ausgabe stattfand, war wenig überraschend. Um so mutiger ist es einzuschätzen, dass die Jax-Macher ihren Nachholtermin vom 7. bis 11. September in Mainz mit einem äußerst aufwendigem Hybrid- bzw. Hygienekonzept auch einhalten konnten.

An vielen Stellen wurde sichtbar, dass die bisherigen Selbstverständlichkeiten der Jax grundlegend neu gedacht werden mussten – von der Bewegungs- und Wahlfreiheit bezogen auf die Sessions über die internationalen Sprecher bis hin zur Versorgung.

Da ein paar Absperrbänder und geklebte Linien auf dem Boden nicht reichen würden, wurde die Konferenz auf mehrere Gebäude und darin separierte Räume und Bereiche aufgeteilt. Die Vor-Ort-Teilnehmer mussten sich auf vorgeschnittene Veranstaltungsblöcke verbindlich festlegen und konnten dann, per Kartenscan, auch nur dort physisch teilnehmen.

Jede Session bot auch die Möglichkeit zu digitalen Teilnahme per Videostream mit Slide-Sharing und Chatkanal. Alle physisch Anwesenden, die Online-Teilnehmer im Home-Office und auch die Vor-Ort-Teilnehmer in anderen Gebäuden konnten so gleichzeitig am Eventgeschehen teilnehmen.

Zoom-Konferenzen mit internationalen Speakern wurden per Leinwand von irgendwo in der Welt in die Rheingoldhalle hinein und von dort dann gleich wieder hinaus in die Welt gestreamt. Und fast nebenbei kann sich nun jeder Teilnehmer jede Session der Jax im Nachhinein noch einmal anschauen.

Software Has Eaten The World Already

Die Jax blickt schon seit geraumer Zeit mit ganzheitlichem Blick auf die Softwareentwicklung. Neue Technologien und Trends rund um das Java Universum stehen zwar weiterhin im Zentrum der Aufmerksamkeit. Erfreulicherweise stellt sich aber die Entwicklergemeinde immer öfter Fragen zu den Entscheidungs- und Entstehungsprozessen in Projekten und Teams sowie neuerdings auch zu den Werten, der Moral und den Konsequenzen des Handelns.

Eine Kernaussage dazu lautet: „Ein erfolgreiches Unternehmen ist im Zeitalter der Informationen neben seiner Kernkompetenz immer auch ein Softwareunternehmen.“ In jedem Unternehmen muss daher eine gezielte, strategisch ökonomische Auseinandersetzung mit den Möglichkeiten, Methoden und der Technik stattfinden. Aber wie? Hier ein kleines Potpourri der gezeigten Ansätze:

1. Schneller Start – Ziel Ansatz

Um möglichst schnell ein Minimal Value Product (MVP) im Markt zu platzieren, kann in einer agilen Unternehmenskultur mit Methoden, wie z.B. dem Domain Driven Design zügig eine Idee konkretisiert werden. Frameworks wie Spring Boot oder Quarkus und moderne Sprachadaptionen wie Kotlin oder Go helfen dabei, schnell zu produktionsfähigem und gleichzeitig schlankem Code zu kommen. Modernisierungen der klassischen Ansätze wie REST oder gRPC helfen, die Schnittstellen abstrakt und damit auf Dauer unabhängig zu gestalten.

2. Spezifische Lösungen für spezifische Probleme

Zu einem technischen One-Size-Fits-All Ansatz besteht heute kein erkennbarer Grund mehr. Teams, Projekte und Programme bilden kleine agile Mikrokosmen und können sich unabhängig von anderen ihren spezifischen Problemen widmen.

Das bedeutet, dass abhängig von der konkreten Problemstellung mal funktional, mal klassisch objektorientiert programmiert wird. Mal wird eine relationale, mal eine NoSQL Datenbank, mal eine In-Memory Datenbank, wie z.B. Microstream, verwendet. Manchmal werden Daten synchron, mal asynchron, mal reaktiv verarbeitet. Und manchmal muss die Lösung weder spezifisch noch umfangreich ausfallen. Man bedient sich einfach bei einer bestehenden hochverfügbaren Lösung – Stichwort PublicAPI.

3. Flexible Architekturen

Es stehen genug Technologien und genug Rechenleistung bereit, um eine derart organische Architektur zu stabilisieren und über die Zeit flexibel und effizient zu halten. Ansätze aus der Event Driven Architecture (z.B. in Kafka) oder der Reaktiven Programmierung (z.B. Scala) machen es möglich, dass einzelne Domains ihre innere Architektur (z.B. durch an Wachstum an Nutzen und Last) vollständig neu denken und ändern, ohne das Gesamtsystem zu kompromittieren.

Umgekehrt kann auch das Gesamtsystem sich erneuern und Paradigmenwechsel vollziehen ohne das einzelne Domains torpediert werden. Continious Integration und Delivery mit Verfahren wie Docker und Kubernetes helfen dabei sicherzustellen, dass Prozesse nach außen hin gut qualitätsgesichert, stabil und einheitlich produziert werden können.

Software Is Eating The World (Again)

Die erwähnten Ansätze sind allesamt darauf ausgerichtet, riesige Datenmengen zu erfassen, zu verarbeiten und vor allem, aus ihnen zu lernen. Die Flexibilität vom Kleinen ins Große bietet neben den erwähnten Vorteilen insbesondere die Möglichkeit zu beständiger Veränderung.

Von A wie Automobilhersteller und B wie Bank über L wie Lagerlogistik und T wie Taxi bis Z wie Zeitung – traditionelle Branchen sehen sich disruptiven Prozessen gegenüber. Das bewusste Wahrnehmen dieser beständigen Veränderung sollte den Mut fördern, die Kunden mit kleinen, frühen (nicht fehlerfreien) aber schnellen MVPs zu gewinnen. Die sich daran anschließenden Fähigkeiten aus riesigen unstrukturierten Datenmengen die strategisch richtigen Schlüsse zu ziehen, werden noch viel stärker unternehmerische Schlüsselfaktoren werden als bisher.

Einige grundlegende Paradigmen, die die Softwareentwicklung – vor allem in Deutschland – jahrzehntelang geprägt haben müssen dafür allerdings revidiert oder neu gedacht werden. Das beginnt mit der Akzeptanz von Ungewissheit und dem Abgeben von Planbarkeit und Kontrolle – und weiter gedacht sind Dinge wie Redundanzfreiheit, Transaktionen, Normalisierung, Plattformunabhängigkeit und das ewige Mantra der Datenqualität dann nicht mehr von hoher Priorität. Vielmehr erhöht der Verzicht und eine passgenaue Auslegung, die Effizienz und Schnelligkeit im Kleinen stark. Im Großen steigen die Flexibilität, Skalierbarkeit und Performance überproportional an.

Die diesjährige Jax hat über die Gesamtheit aller Sessions und Keynotes teils euphorisch, teils mahnend gezeigt, dass diese Abwägungen in Anbetracht der Marktlage notwendig geworden sind. In 2020 bedeuten die Erkenntnisse Innovation – in ein paar Jahren wird daraus Handlungsdruck. Insofern war die Konferenz wegweisend in der Art, wie sie stattgefunden hat und lehrreich mit Blick auf den Paradigmenwechsel der aktuellen Trends und Technologien.

Natürlich geht im Übergang zum Digitalen ein Teil des realen Erlebnisses verloren. Man kann sich damit auch fragen, ob sich eine reale Reise und Teilnahme unter diesen Bedingungen künftig noch lohnt? Wir sind schlussendlich der Meinung, dass die digitalen Möglichkeiten eine ausgesprochen gelungene Ergänzung zur Konferenz bildeten. Wir hatten sogar unerwartet den Eindruck, dass wir bei dieser Konferenz trotz Abstandsregeln, aber geringer Vor-Ort-Teilnahme ganz besonders nah dran waren.

Alle Infos zu den zukünftigen JAX-Events sind auf deren Website zu finden.