Kiosk-Artikel

Vom Monolith über modulare Architekturen zu Microservices mit DDD

In jedem Unternehmen gibt es große Softwaresysteme, die über viele Jahre weiterentwickelt wurden und deren Wartung Jahr für Jahr immer zäher und teurer wird. Vor dem Hintergrund neuer Architekturparadigmen wie Microservices sollen diese Systeme nun modern, skalierbar und flexibel werden. Dabei ist die Hoffnung, dass man sich der großen, schwerfälligen Monolithen entledigen kann, indem man sie in kleinere, besser zu beherrschende Microservices zerlegt.

Event-basiert und evolvierbar: Appentwicklung mit Axon Stack

Obgleich das Zielbild sowohl ein Monolith als auch eine Microservices-Architektur sein kann – das Axon Framework offeriert einen leichtgewichtigen Ansatz zur Implementierung Event-basierter Anwendungen. Dabei stützt sich das Framework auf gängige Muster aus dem Domain-driven Design (DDD) [1] und begünstigt die Umsetzung einer Anwendung nach dem Architekturprinzip Command Query Responsibility Segregation (CQRS) [2] und der Persistenzstrategie Event Sourcing [3]. Durch diese Flexibilität und die Tatsache, dass das Axon Framework bestens mit dem Spring Framework integriert ist und damit ein quasistandardisiertes Programmiermodell unterstützt, ist es für den modernen Java-Entwickler einen Blick wert.

Deno: Neue Runtime für serverseitiges JavaScript

In seinem Vortrag „10 Things I Regret About Node.js“ hat Ryan Dahl, der Schöpfer von Node.js, von falschen Designentscheidungen gesprochen, die seinerzeit bei der Entwicklung von Node.js getroffen worden seien. Da man die Zeit nicht zurückdrehen kann, hat Dahl sein neues Projekt Deno ins Leben gerufen. Das Ziel: Schwächen von Node sollen revidiert und eine moderne, sichere Plattform für serverseitiges JavaScript bereitgestellt werden. Ist der Versuch geglückt?

Versöhnt euch! Reconciliation statt klassischem sequenziellem Programmentwurf

In verteilten Systemen ist Fehlerbehandlung oft aufwendig und schwierig. Jeder Aufruf zu einem externen System kann schiefgehen und muss daher separat behandelt, wiederholt und überwacht werden. Sollte ein Aufruf in einer Sequenz von Operationen so fehlschlagen, dass er nicht auf der Stelle behoben werden kann, muss die gesamte Sequenz neu gestartet werden. Bereits erfolgreiche Aufrufe werden ausgelassen.

Die Schnittstelle: API-Gateway oder doch nur Service-Mesh-Werkzeug?

Große Softwaresysteme existieren in der Regel nicht allein und haben normalerweise viele Schnittstellenpartner. Die Anzahl der Partnersysteme kann dabei ganz schnell im zweistelligen Bereich liegen. Je kleiner die Services geschnitten werden, was derzeit in den Projekten tendenziell passiert, desto höher wird naturgemäß die Anzahl der Partnersysteme, die aufgerufen werden müssen. Es etabliert sich somit ein umfangreiches Kommunikationsnetz: ein sogenanntes Service Mesh.

SQL im 21. Jahrhundert: Mehr als eine Abfragesprache

Die Einführung neuer QL-Sprachen erfreut sich momentan großer Beliebtheit. Erst im Sommer machte Amazon mit der Einführung von PartiQL einen neuen Vorstoß in diese Richtung. Bei diesem QL-Wildwuchs darf man das Original aber nicht aus den Augen verlieren. Was wurde eigentlich aus SQL? Steckt es tatsächlich noch in den 90ern fest? Natürlich nicht. Ein Update für Entwickler.

Captain Hooks: Das neue Hooks API von React im Überblick

Die sogenannten „Hooks“ sind bei React eine der spannendsten Neuerungen der letzten Zeit. Sie ermöglichen es, auch in Funktionskomponenten alltägliche Dinge wie lokalen Zustand zu managen und Seiteneffekte durchzuführen, was vorher nur mit Klassenkomponenten möglich war. Im Artikel schauen wir uns an, was es mit React Hooks auf sich hat und was das mit Funktionskomponenten zu tun hat. Wir betrachten einige der Standard-Hooks und sehen, wie eigene Hooks gebaut werden können. Zum Schluss werfen wir einen Blick auf Third-Party-Bibliotheken aus der React-Community und darauf, wie sie das neue Hooks API adaptieren.

Flutter-haft: Mobiles Entwickeln mit dem Flutter SDK

Mobile Applikationen werden zurzeit häufig noch nativ für jede Plattform entwickelt. Für Android nutzt man beispielsweise Android Studio und schreibt mit Java oder Kotlin eine Applikationslogik. Für iOS wird dann die gleiche Logik in Objective-C oder Swift erneut implementiert. Doch das muss nicht sein.