Blog

Alle Beiträge mit dem Tag Software-Architektur

Thorsten Rahlf Fachbeirat der Seacon

Die Seacon: Norddeutschlands Konferenz für Software-Entwicklung und -Architektur

Die “software engineering + architecture conference” fand im zweiten Jahr in Folge digital statt. Holistikönner Thorsten „Toasty“ Rahlf engagiert sich seit mittlerweile vier Jahren im Fachbeirat der Konferenz. Im Interview erzählt er, was seine Arbeit bei der Seacon ausmacht, welche Themen in diesem Jahr eine wichtige Rolle gespielt haben und wie die Konferenz in Zukunft aussehen könnte.


weiterlesen
Single Page Application

Nachhaltige Webentwicklung: Warum bauen wir Single-Page Applications und was kommt als nächstes?

Eine Single-Page Application ist in vielen Unternehmen die Standardlösung für Benutzeroberflächen im Web. Es wird heiß über das „richtige“ Framework diskutiert, nicht aber, ob eine SPA überhaupt der richtige Architekturansatz für das konkrete Projekt ist. Wie sind wir an den Punkt gelangt, an dem wir blind diesen Weg einschlagen und damit unbewusst eine ganze Reihe von Kompromissen in Kauf nehmen? Gibt es andere Wege? Und wohin führt das alles? 


weiterlesen
Fat jar CH 53e

VoH – Don’t build fat jars for Docker applications

In unserer Artikelreihe voices of holistikoenner/innen (VoH) bei Medium.com wurde ein Artikel von mir publiziert. Darin geht es recht techniklastig um das Problem des Bauens von sogenannten „fat jars“.

Meiner Meinung nach sollte das Ziel von Java-Entwicker*innen sein, keine „fat jars“ zu erzeugen, sondern beim Erstellen von lauffähiger Java-Software auf schlauere Mechanismen zurück zu greifen.

Warum das sinnvoll ist und wie es funktioniert, erläutere ich bei Medium: Don’t build fat jars for Docker applications.

iX Developer – Java 2017: Was Java-Entwickler wissen müssen!

HTTP/2 – iX DEVELOPER „Java 9 / Java EE8“

Mein Artikel über den HTTP/2-Client, der es fast ins neue Java 9 geschafft hätte, erscheint am 4. Juli 2017. Oder ab sofort online.

Dieses iX DEVELOPER Sonderheft mit dem Titel Java 2017: Was Java-Entwickler wissen müssen! widmet sich den Neuerungen der neuen Java-Version. Neben dem Modulsystem, das den Namen Jigsaw trägt, bringt „die 9er“ u.a. ein neues Kommandozeilen-Tool mit dem Namen jshell und eine neue Process-API.

HTTP/2 und Completable Futures

Der HTTP-Client aus dem JDK hätte (Konjunktiv!) mit der Version 9 ein umfassendes Update bekommen. Darunter waren Features wie die Unterstützung der neuen Protokollversion HTTP/2 und die Implementierung der Completable-Futures-API zur Behandlung asynchroner Ereignisse.

Incubator-Feature

Bedauerlicherweise wurde unter den JDK-9-Entwicklern die Entscheidung getroffen, den neuen HTTP-Client nicht als Teil der finalen API des JDK-9 mit auszuliefern. Er wird stattdessen als Incubator-Feature geliefert (siehe JEP 110).

Leider können sich Incubator-Features jederzeit in API und Umfang ändern und werden nicht für die Nutzung in produktivem Code empfohlen. Sie dienen vielmehr dazu, experimentellen Code frühzeitig in einem gesicherten Rahmen auszuliefern, damit die Entwickler-Community Erfahrungen sammeln kann.

Genau das ist auch die Absicht hinter dem Artikel. Anhand von kurzen Code-Beispielen und Vergleichen mit anderen HTTP/2-Clients (Jetty und OkHttp) soll gezeigt werden, was mit der Implementierung aus dem neuen JDK möglich ist und wie sie sich derzeit „anfühlt“.

Weiterhin diskutiert der Artikel den möglichen Nutzen von HTTP/2 für die Entwicklung von Webservices. Insbesondere die Tatsache, dass HTTP/2 immer auch die Verwendung von HTTPS erfordert, ist beim Einsatz von Web- und Microservices kritisch zu sehen. Hier entsteht ein nicht zu unterschätzender Mehraufwand durch die Verwaltung und Verteilung von SSL- bzw. TLS-Zertifikaten.

Der Artikel enthält eine Reihe von Code-Beispielen, die bei Github und auf der Heft-DVD verfügbar sind.