Blog

Alle Beiträge in der Kategorie 'Fachartikel'

JavaSPEKTRUM 05/2017

JavaSPEKTRUM 05/2017 – Webservices auf Basis von HTTP/2

Am 29.09.2017 erscheint mein Artikel mit dem Titel Webservices auf Basis von HTTP/2 in der JavaSPEKTRUM.

Die neue Version des Hypertext-Transfer-Protokolls (HTTP/2) bringt viele positive Neuerungen für das World-Wide-Web: Request-Multiplexing, komprimierte Protokoll-Metadaten und Server-Push. All dies macht das Surfen im Web schneller und sorgt für ein angenehmeres Nutzungserlebnis (engl. user experience, kurz: UX). HTTP/2 zielt darauf ab, die bestehende Netzbandbreite besser auszunutzen. Weiterhin wird die Latenz im Vergleich zur Vorgängerversion HTTP/1.1 stark verringert. Das Phänomen des Head-of-line-blocking, das in HTTP/1.1 stets zu Verzögerungen führt, tritt in HTTP/2 nicht mehr auf.
weiterlesen

Continuous Security at the next level

Gerade vor dem Hintergrund von immer kürzeren Releases (Continuous Delivery und Continuous Integration) wird häufig die Sicherheit vernachlässigt. Durch die Schnelligkeit und Häufigkeit von Deployments steht besonders die IT-Sicherheit vor neuen Herausforderungen und es sind ähnlich wie bei der DevOps-Intitiative weitere Maßnahmen nötig, um die IT-Sicherheit und die Entwicklung enger zu verzahnen. Neben der klassischen Java-Architektur gilt es bei einer solchen Betrachtung auch die gerade aktuell sehr populären JavaScript-Umgebungen miteinzubeziehen. Deren Schnelllebigkeit bringt dabei eine weitere Dimension in die Betrachtung, die aber damit auch eine Chance bietet, wie im Folgenden dargestellt wird.
weiterlesen

Prozess- und Business-Daten Hand in Hand mit Camunda und JPA

Typischerweise läuft ein automatisierter Geschäftsprozess nicht zum Selbstzweck, sondern erwirtschaftet Daten, die länger relevant sind als die eigentliche Prozessinstanz. Beispiel Buchbestellung: Während der Laufzeit des Bestellprozesses benötigen wir sowohl Informationen aus dem Prozess (Was ist als nächstes zu tun? Wer soll dies tun?) als auch Informationen aus der Domäne (Welcher Kunde hat bestellt? Was ist die zu zahlende Summe? Ist der Artikel auf Lager?) Wir haben es also mit flüchtigen Daten zu tun, die rein prozessablaufbezogen sind und persistenten Daten, die in Drittsystemen (Warenwirtschaft, Rechnungswesen, Reporting, …) verwendet werden sollen.

Es stellt sich daher grundsätzlich die Frage, wo wir diese Daten speichern.
weiterlesen

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.

JavaSPEKTRUM 1/2017: Sicherheit eingebaut – Continuous Security in modernen Webanwendungen

In der Ausgabe 1/2017 des JavaSPEKTRUM ist ein Artikel von Holisticon-Mitarbeiter Martin Reinhardt zum Thema Sicherheit in Zeiten von kürzeren Releases: Vor dem Hintergrund immer kürzerer Releases (Continuous Delivery und Integration) wird häufig die Sicherheit vernachlässigt. Penetrationstests sind dabei als Sicherheitsmaßnahmen nicht ausreichend. Durch die Schnelligkeit und Häufigkeit von Deployments steht gerade die IT-Sicherheit vor neuen Herausforderungen, und es sind – ähnlich wie bei der DevOps-Intitiative – weitere Maßnahmen nötig, um die IT-Sicherheit und die Entwicklung enger zu verzahnen. Dabei wird ironischerweise auch vom „Continuous Anonymen“ gesprochen. Neben der klassischen Java-Architektur gilt es bei einer solchen Betrachtung auch, die gerade aktuell sehr populären JavaScript-Umgebungen miteinzubeziehen. Der Artikel zeigt, dass deren Schnelllebigkeit sowohl Gefahren als auch Chancen bietet. Neben Continuous Delivery kann man nämlich auch Continuous Security umsetzen.