Entwicklung & Code
Event-Driven, Teil 6: Eine Stadtbibliothek als Event-getriebenes System
Nachdem sich die bisherigen Teile dieser Serie mit den Grundlagen Event-getriebener Architektur beschäftigt haben, soll es nun konkret werden. Anhand eines durchgehenden Beispiels werde ich zeigen, wie sich ein System von Grund auf modellieren lässt – nicht ausgehend von Tabellen, Datenbanken oder APIs, sondern ausgehend von den fachlichen Vorgängen selbst.
Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
Dieses Beispiel ist bewusst einfach gehalten, aber dennoch realistisch: eine Stadtbibliothek.
Fachlichkeit im Mittelpunkt
In dieser Bibliothek können Benutzerinnen und Benutzer Bücher ausleihen, verlängern und zurückgeben. Geben sie Bücher zu spät zurück, fallen Mahngebühren an. All diese Vorgänge folgen festen fachlichen Regeln – und genau dort setzt unser Architekturansatz an: Wir fragen nicht zuerst nach Datenstrukturen, sondern nach dem, was passiert.
Damit wird schnell klar, worum es in der Event-getriebenen Architektur geht: um Ereignisse. Statt den aktuellen Zustand zentral zu modellieren, konzentrieren wir uns auf die Vorgänge, die zu diesem Zustand führen. Ein System beschreibt nicht einfach, wie etwas ist, sondern erzählt, was vorgefallen ist.
Was passiert in der Domäne?
Bevor überhaupt an eine Implementierung zu denken ist, beginnen wir mit einem Perspektivwechsel: Welche fachlich relevanten Ereignisse treten in der Domäne überhaupt auf?
Für unsere Stadtbibliothek ergeben sich schnell typische Beispiele:
- „Buch wurde ausgeliehen.“
- „Buch wurde zurückgegeben.“
- „Leihfrist wurde verlängert.“
- „Rückgabe war verspätet.“
- „Mahngebühr wurde fällig.“
- „Mahngebühr wurde bezahlt.“
Diese Events beschreiben konkrete Tatsachen – nicht bloße Zustände, sondern Veränderungen. Sie machen sichtbar, was passiert ist, wann es passiert ist und, je nach Eventstruktur, auch warum.
Ein typischer Ablauf
Als Beispiel dient hier ein klassischer Ausleihvorgang. Der Benutzer leiht ein Buch aus – das System erzeugt das Event „Buch wurde ausgeliehen“. Wird das Buch nicht fristgerecht zurückgegeben, stellt das System fest, dass die Rückgabe verspätet ist – „Rückgabe war verspätet“. Als Folge davon wird eine Mahngebühr fällig. Auch das ist ein Event: „Mahngebühr wurde fällig“. Bezahlt der Benutzer diese Gebühr, entsteht das nächste Event – „Mahngebühr wurde bezahlt“. Und schließlich: „Buch wurde zurückgegeben.“
Was auffällt: Es ist nicht notwendig, den Status des Buches zentral zu speichern, sondern der gesamte Ablauf ergibt sich aus der Abfolge der Ereignisse. Der aktuelle Zustand kann jederzeit aus der Historie rekonstruiert werden. Und mehr noch: Die gesamte Geschichte bleibt nachvollziehbar.
Commands führen zu Events
Natürlich entstehen Events nicht von selbst. Meistens gehen ihnen sogenannte Commands voraus – also Aufforderungen an das System, etwas zu tun. Wenn eine Benutzerin oder ein Benutzer ein Buch ausleihen möchte, sendet sie oder er ein Command wie „Leihe Buch aus.“ Das System prüft, ob das Command zulässig ist – ist das der Fall, erzeugt es das entsprechende Event: „Buch wurde ausgeliehen.“
Wichtig ist dabei die Trennung: Commands drücken Absichten aus, Events dokumentieren Fakten. Nicht jedes Command führt zu einem Event – wenn die Voraussetzungen nicht erfüllt sind, kann ein Command abgelehnt werden. Diese Trennung hilft dabei, Abläufe präzise zu modellieren und Fachlichkeit sauber umzusetzen.
Projections machen den Zustand sichtbar
Aus den gespeicherten Event kann jederzeit der aktuelle Zustand berechnet werden. Dazu dienen sogenannte Projections – lesbare, abfragbare Sichten auf das System. Eine Projection beantwortet Fragen wie: Welche Bücher hat ein Benutzer gerade ausgeliehen? Welche Mahngebühren sind offen? Wann wurde ein bestimmtes Buch zuletzt zurückgegeben?
Diese Projections enthalten keine eigene Logik. Sie basieren ausschließlich auf der Verarbeitung von Events. Ihr großer Vorteil: Sie lassen sich gezielt für bestimmte Anwendungsfälle optimieren, ohne dass dies Auswirkungen auf andere Teile des Systems hätte.
Die Architektur folgt der Fachlichkeit
Durch diese Herangehensweise entsteht eine Architektur, die eng an der Fachlichkeit orientiert ist. Statt technischer Artefakte stehen tatsächliche Abläufe im Zentrum. Die Fachsprache wird zum Strukturgeber des Systems. Events dienen dabei nicht nur als interne Verarbeitungsgrundlage, sondern oft auch als Kommunikationsmittel zwischen Komponenten oder Systemen – etwa, indem sie über eine Message Queue veröffentlicht und von anderen Diensten abonniert werden.
Die Vorteile liegen auf der Hand: Systeme werden modularer, verständlicher und besser wartbar. Änderungen sind nachvollzieh- und neue Anforderungen sind oft durch das Hinzufügen neuer Reaktionen auf bestehende Events umsetzbar. Die Trennung von Schreiben und Lesen (Command Query Responsibility Segregation, CQRS) führt zudem zu klareren Verantwortlichkeiten und besserer Skalierbarkeit.
Fazit
Dieses Beispiel einer Stadtbibliothek zeigt, wie Event-getriebene Architektur in der Praxis gedacht werden kann. Entscheidend ist nicht die konkrete technische Umsetzung, sondern der Perspektivwechsel: Weg vom aktuellen Zustand, hin zur Historie der fachlichen Ereignisse.
Im nächsten und letzten Teil dieser Serie wird es darum gehen, wie man mit Event-getriebener Architektur in einem echten Projekt startet: Welche Rollen beteiligt sind, wie man Events mit Fachleuten entwickelt – und welche Schritte für erste Experimente besonders geeignet sind.
(mai)
Entwicklung & Code
KubeSphere entfernt Open-Source-Dateien und stellt Support ein
Die chinesische Kubernetes-Plattform KubeSphere hat auf GitHub angekündigt, die Open-Source-Version des Produkts zurückzuziehen und den kostenlosen Support einzustellen: „Ab dem Datum dieser Ankündigung werden die Download-Links für die Open-Source-Version von KubeSphere deaktiviert und der kostenlose technische Support eingestellt.“
Das Kernprojekt von KubeSphere auf GitHub bleibt jedoch Open Source unter Apache-2-Lizenz. Als Grund für den Wechsel nennt der Hersteller die Änderung der Digitalisierung mit Gen AI, wodurch auch die Infrastruktur-Branche tiefgreifende Veränderungen erfahren hat. „Um sich an die neue Ära anzupassen, die Produktkapazitäten und die Servicequalität weiter zu verbessern und sich auf die Forschung und Entwicklung von Kerntechnologien sowie die Optimierung kommerzieller Lösungen zu konzentrieren, hat das Unternehmen nach mehrjähriger Planung und sorgfältiger Prüfung beschlossen, die folgenden Anpassungen am Open-Source-Projekt KubeSphere vorzunehmen.“ Es folgt die oben genannte Ankündigung.
Welche aktuellen oder künftigen Produkte konkret nicht mehr Open Source sind, ist der Ankündigung nicht zu entnehmen. Auf der Webseite weist der Hersteller derzeit sogar noch auf die CNCF-Zertifizierung hin. Nutzern von KubeSphere rät der Diskussionsbeitrag, sich für eine kommerzielle Version an den Support zu wenden.
Der Beitrag ist auf Chinesisch, darunter findet sich eine englische Übersetzung. Wir haben mit KI-Hilfe direkt aus dem Chinesischen übersetzt.
(who)
Entwicklung & Code
JetBrains: Preissprung bei Entwicklungsumgebungen ab 1. Oktober
Das tschechische Softwareunternehmen JetBrains hat angekündigt, seine Preise am 1. Oktober 2025 anzuziehen. Nach drei Jahren der Preisstabilität sieht sich der Hersteller beliebter Entwicklungsumgebungen (Integrated Development Environments, IDEs) aufgrund der Inflation gezwungen, die Preise für Abonnements zu erhöhen. Wer im Voraus zahlt, kann die bisherigen Preise noch für eine begrenzte Zeitdauer über den 1. Oktober hinaus beibehalten.
Preissteigerungen für IDEs, .NET-Tools, dotUltimate und All Products Pack
Betroffen sind die Abos für die JetBrains-Entwicklungsumgebungen – wie IntelliJ IDEA, WebStorm oder PhpStorm –, die .NET-Tools, das .NET-Toolkit dotUltimate und die IDE-Sammlung All Products Pack. Auf einer Webseite informiert JetBrains über die Preisänderungen. Beispielsweise erhöhen sich die Kosten der IDE IntelliJ IDEA Ultimate für den individuellen Einsatz bei jährlicher Zahlweise von 169 Euro auf 199 Euro (plus Mehrwertsteuer), bei monatlicher Zahlung von 16,90 Euro auf 19,90 Euro – jeweils auf das erste Nutzungsjahr bezogen. Für Unternehmen fallen die Steigerungen happiger aus: Das gleiche Produkt kostet pro User und Jahr derzeit 599 Euro (oder 59,90 Euro monatlich), ab dem 1. Oktober 719 Euro (oder 71,90 Euro monatlich) – eine Erhöhung um rund 20 Prozent.
Kosten für IntelliJ IDEA Ultimate für die individuelle Nutzung
(Bild: JetBrains)
Kosten für IntelliJ IDEA Ultimate für Unternehmen
(Bild: JetBrains)
Beim All Products Pack, das aus elf Entwicklungsumgebungen und weiteren Inhalten besteht, steigen die Preise für den individuellen Einsatz von 289 Euro auf 299 Euro pro Jahr an, für den Einsatz in Unternehmen pro Jahr und User von 779 Euro auf 979 Euro.
Für bestimmte Nutzergruppen wie Lehrkräfte, Schülerinnen und Schüler oder Core Maintainer von Open-Source-Projekten sind weiterhin kostenfreie Angebote aufgeführt.
Alternative: Im Voraus bezahlen und sparen
JetBrains bietet seinen bestehenden sowie neuen Kundinnen und Kunden die Möglichkeit, im Voraus noch zu den derzeitigen Preisen zu bezahlen: Für individuelle Abos gilt dieser dann bis zu drei Jahre lang, für kommerzielle bis zu zwei Jahre. Dann wird die entsprechende Zahlung jedoch auf einen Schlag vor dem 1. Oktober 2025 fällig.
Weitere Details bieten der JetBrains-Blog und die Preisübersichtsseite.
(mai)
Entwicklung & Code
Neu in .NET 9.0 [32]: Verbesserte Debugger-Ansicht für Dictionary-Klassen
Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
-
Datenschutz & Sicherheitvor 2 Monaten
Geschichten aus dem DSC-Beirat: Einreisebeschränkungen und Zugriffsschranken
-
Online Marketing & SEOvor 2 Monaten
TikTok trackt CO₂ von Ads – und Mitarbeitende intern mit Ratings
-
Apps & Mobile Entwicklungvor 2 Monaten
Metal Gear Solid Δ: Snake Eater: Ein Multiplayer-Modus für Fans von Versteckenspielen
-
UX/UI & Webdesignvor 2 Monaten
Philip Bürli › PAGE online
-
Digital Business & Startupsvor 1 Monat
80 % günstiger dank KI – Startup vereinfacht Klinikstudien: Pitchdeck hier
-
Apps & Mobile Entwicklungvor 1 Monat
Patentstreit: Western Digital muss 1 US-Dollar Schadenersatz zahlen
-
Social Mediavor 2 Monaten
LinkedIn Feature-Update 2025: Aktuelle Neuigkeiten
-
Social Mediavor 2 Monaten
Aktuelle Trends, Studien und Statistiken