Blog

Alle Beiträge in der Kategorie 'Fachartikel'

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.

 

 

JavaSPEKTRUM 5/2016: Continuous Delivery ohne Kopfschmerzen

In der Oktober/November-Ausgabe des JavaSPEKTRUMs ist ein Artikel von Holisticon-Mitarbeiter Martin Reinhardt über Continuous Delivery erschienen, der sich mit immer kleineren Komponenten im IoT und Microservices Umfeld befasst. Durch den verstärkten Trend zur inkrementell-iterativen Softwareentwicklung in vielen Unternehmen müssen auf einmal viele Zwischenstände einer Software qualitätsgesichert werden. Diese Kette aus Entwicklung, Qualitätssicherung und Auslieferung wird durch die engen Zeitfenster für Tests auf eine harte Probe gestellt. Die beiden aktuellen Trendthemen Internet of Things (IoT) und Microservices verstärken diesen Trend nochmals, weil dadurch zusätzliche Artefakte erstellt und weiterentwickelt werden.

Bei Umsetzung innerhalb von Jenkins sind dabei verschiedene technische und konzeptionelle Vorbereitungen zu treffen, um eine Continuous Delivery (CD) umzusetzen, die auch sicherstellt, dass die einzelnen Puzzleteile der Software zusammenpassen.

In Java helfen einen viele Bibliotheken kontinuierliche Änderungen umzusetzen, z.B. Flyway im Rahmen von der Datenbank-Migration. Außerdem kann man mit dem Pipeline-Plugin von Jenkins Build-Skripte in einer DSL beschreiben und mitversionieren. Um einzelne Module/Services integriert zu testen bietet sich Docker in Verbindung mit Serenity zur Oberflächen-Steuerung an. Dieser Artikel stellt das Vorgehen an einem Github-Projekt vor und steht auch als Beispiel-Projekt in Jenkins aufrufbar.

Die Ausgabe 5/2016 ist seit dem 16. September am Kiosk oder online verfügbar.

JavaSPEKTRUM 5/2016: HTTP/2 in Java 9

In der Ausgabe 5/2016 des JavaSPEKTRUM ist ein Artikel von Holisticon-Mitarbeiter Jan Weinschenker über die Implementierung von HTTP/2 in Java 9 erschienen.

Seit Mai 2015 ist HTTP/2, verabschiedet durch die IETF, der offizielle Nachfolger des Hyptertext Transfer Protokolls der Version 1.1. Die Standardisierung wurde in den RFC 7540 und 7541 festgeschrieben.

weiterlesen

Seite 1 von 712345...Letzte »