
Spring-Projekte strukturieren mit Modulith
Stellen wir vor, wir arbeiten an einem ganz frischen Projekt, quasi auf der grünen Wiese, und so langsam wird es doch ganz schön groß. Wie können wir es strukturieren?
In mehreren Projekten habe ich mit Entwicklern zusammengearbeitet, deren Antwort fast reflexartig war: Aufteilen in Microservices! Der Reflex hatte einen Grund: Sie hatten Erfahrungen mit einem Monolithen, der im Laufe der Jahre groß, schwerfällig und unübersichtlich geworden war. Änderungen konnten sie dann nur langsam umsetzen.
Und so kenne ich Projekte, in denen schon am Tag 1, lange bevor alle Anforderungen klar waren, von einem Architekten eine bestimmte Aufteilung empfohlen wurde.
Nur die Aufteilung in Micro- und Nanoservives bringt ihrer eigenen Probleme mit sich.
Vortag über Race Conditions in der Java User Group
Am 15. Mai habe ich in der „Java User Group Hamburg“ präsentiert.
Thema: Race Conditions
Weitere Details bei Meetup
Hilft uns Quantencomputing, das Paradoxon von Schrödingers Katze zu verstehen?
Quantencomputer wirken so wie die ersten Großrechner in den vierziger oder fünfziger Jahren: raumgroße Apparate, auf die nur eine kleine Anzahl von Experten Zugriff hat. Fast so wie das Orakel von Delphi mit seiner speziellen Kaste von Priestern. Anders als damals kann heute im Prinzip jeder diese Technologie über das Internet nutzen.
Beispielsweise bietet Microsoft Azure einen Zugriff verschiedenen Quantencomputer und hat mit Q# eine spezielle Programmiersprache für das Quantencomputing geschaffen. Weiterhin bietet Mircrosoft auch ein Onlinetutorial an, um die Sprache Q# zu lernen. Das hat mich neugierig gemacht. „Hilft uns Quantencomputing, das Paradoxon von Schrödingers Katze zu verstehen?“ weiterlesen
Zertifizierung für Künstliche Intelligenz
Ich habe die Prüfung „Artificial Intelligence Foundation“ von Microsoft Azure bestanden. Der Kurs gab einen schönen anwendungsorientierten Überblick über die vielen aktuelle Möglichkeiten von AI: Vorhersagen, Klassifizierungen, Text- und Sprachverarbeitung, Bilderkennung und einiges mehr.
Softwarearchitektur: Schichten und DTOs
Neulich stolperte ich ArchUnit, ein Tool, mit den man testen kann ob sich Java-Code (oder auch Kotlin-Code) an bestimmte Architekturvorgaben hält. Zum Beispiel kann es in einer Spring-Anwendung überprüfen, das keine Serviceklasse eine Controllerklasse aufruft.
Eine solche Regel klingt überflüssig, warum sollte ich von einem Service einen Controller aufrufen?
Conway’s Law neu gelesen
Von Organisationen gebaute Systeme spiegeln die interne Struktur der Organisation wieder, so ähnlich hatte ich Conway’s Law in Erinnerung. Es klang damit für mich wie eine anekdotische Zuspitzung, ähnlich wie Murphy’s Law. Das da noch mehr dahinter steckt, habe ich dank dem Morning Paper von Adrian Colyer erfahren.
Sorry, Derzeit keine Kommentare möglich.
Leider bekomme ich zu viel Kommentar-Spam. Bis ich einen guten und datenschutzkonformen Weg gefunden habe damit umzugehen habe ich die Kommentarfunktion abgeschaltet.
Vier bemerkenswerte Videos zu Thema Microservices
In einer Microservices-Architektur arbeiten viele einzelne Prozesse mit begrenzten Aufgabengebiet zusammen, um komplexe Anforderungen zu bedienen.
Die folgenden Videos handeln von Chancen und Fallstricken des praktischen Einsatzes von Microservices.
„Vier bemerkenswerte Videos zu Thema Microservices“ weiterlesen
Live on Stage
Ich freue mich am 8. März präsentieren zu können: Mein Erfahrungen zu Grafiken in der Kommunikation von Projekten. Tops und Flops. Im Rahmen der „Ruby User Group“, Gastgeber ist die Firma Mindmatters. Zur Event-Seite
