Connect with us

Entwicklung & Code

Event-Driven, Teil 2: Die Bausteine von Event-getriebener Architektur


Der erste Teil dieser Serie hat gezeigt, warum klassische Architekturen wie CRUD oder REST an ihre Grenzen stoßen – vor allem, wenn die Fachlichkeit komplexer wird. Doch was ist die Alternative?


the next big thing – Golo Roden

the next big thing – Golo Roden

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.

Event-getriebene Architekturen (Event-Driven Architecture, kurz EDA) orientieren sich nicht am Datenmodell, sondern an den Vorgängen in der Domäne. Sie setzen auf ein anderes Vokabular, andere Bausteine – und führen zu einem völlig anderen Systemaufbau. Dieser Teil betrachtet die wichtigsten Elemente im Überblick.

Ein Command ist eine Aufforderung, etwas zu tun. Es ist ein gerichteter, imperativer Aufruf wie beispielsweise „Verleihe dieses Buch“, „Melde diese Adresse um“ oder „Überweise diesen Betrag“. Commands kommen fast immer von außen, etwa aus einer Benutzeroberfläche, einem anderen System oder einem automatisierten Prozess.

Wichtig ist dabei zu beachten, dass ein Command an sich noch keine Garantie dafür ist, dass etwas geschieht – sondern nur der Versuch, etwas auszulösen. Ob ein Command gültig ist, entscheidet die Domäne: Das System prüft, ob das Command erlaubt ist und ob die fachlichen Bedingungen erfüllt sind.

Events sind die Folge von Commands. Sie entstehen als Konsequenz aus den fachlichen Entscheidungen, die beim Verarbeiten des Commands getroffen wurden.

Ein Event beschreibt daher eine fachlich relevante Tatsache, die in der Vergangenheit liegt. Es ist nicht „Bitte mache X“, sondern „X ist geschehen“. Events sind neutral, beschreibend und oft dauerhaft gespeichert. Sie bilden die zentrale Informationsquelle im System.

Passende Beispiele (zu den zuvor genannten Commands) könnten sein: „Buch wurde verliehen“, „Adresse wurde umgemeldet“ oder „Betrag wurde überwiesen“.

Events sind nicht nur nützlich für das System selbst, sondern auch für andere Beteiligte: Sie können andere Prozesse anstoßen, Systeme informieren oder Änderungen in Datenprojektionen auslösen.

Ein Event Stream ist die zeitlich geordnete Liste aller Events zu einem bestimmten Kontext – etwa zu einer Benutzerin oder einem Benutzer, einem Konto oder einem Buch. Er enthält nur die Ereignisse, die für genau dieses Objekt relevant sind.

Aus einem solchen Stream lässt sich jederzeit der aktuelle Zustand eines Objekts rekonstruieren. Das macht Systeme sehr transparent und nachvollziehbar: Man sieht nicht nur den Status quo, sondern auch, wie es im Laufe der Zeit dazu kam.

Projections dienen schließlich der dauerhaften Abbildung des aktuellen Zustands – sie beantworten Fragen wie: „Wer hat welches Buch ausgeliehen?“, „Wie hoch ist das aktuelle Guthaben?“ oder „Was ist der letzte bekannte Wohnsitz?“.

Sie basieren ausschließlich auf den Events: Aus der Historie dessen, was geschehen ist, wird der aktuelle Zustand berechnet. Dabei kann es viele verschiedene Projektionen gleichzeitig geben – je nachdem, welche Sichten gebraucht werden.

Projections sind oft speziell auf einzelne Anwendungsfälle zugeschnitten und können effizient für Lesezugriffe optimiert werden, unabhängig von der Schreiblogik.

Ein typischer Ablauf in einem Event-basierten System sieht dann wie folgt aus:

  • Eine Anwenderin oder ein Anwender löst ein Command aus (zum Beispiel über eine Interaktion im UI).
  • Das System prüft, ob das Command zulässig ist.
  • Ist er zulässig, werden ein oder mehrere Events erzeugt und gespeichert.
  • Diese Events fließen in Event Streams, aktualisieren Projections, werden gegebenenfalls über Message Queues veröffentlicht und von anderen Systemen konsumiert.

Im Ergebnis erhält man eine klare Trennung von der ursprünglichen Intention (Command) und dem anschließenden Ergebnis (Event), eine transparente Dokumentation der Vorgänge und ein System, das sowohl intern als auch extern nachvollziehbar bleibt.

Im nächsten Teil wird es darum gehen, was ein Event aus fachlicher Sicht überhaupt ist – und warum es so wichtig ist, sich dabei nicht von technischen Details ablenken zu lassen. Denn Events sind keine Logeinträge – sie sind die Sprache der Fachlichkeit.


(mai)



Source link

Weiterlesen
Kommentar schreiben

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Entwicklung & Code

Kommentar: Von wegen KI bedroht Jobs – Daten sind wirklich in Gefahr!


Die Angst vor der KI ist oft von theoretischer Natur, insbesondere die Sorge: KI frisst meinen Job. In der Bankbranche gehen Analysten von 200.000 wegfallenden Stellen aus. Dem stehen aber eine Million unbesetzbarer Stellen im öffentlichen Dienst im Jahr 2030 gegenüber. Hier werden wir der KI noch dankbar sein.

Ganz konkret für die allermeisten Menschen sind hingegen Gefahren, die es jetzt schon gibt und persönliche Daten betreffen – die Daten aller Menschen, die in irgendeiner Form im Internet erscheinen, auf Webseiten, in Berichten, in Datenbanken oder in Social-Media-Profilen. Denn all das saugen sich die großen LLM-Modelle beim Training ein und spucken es auf Prompt-Anfrage in freundlicher Sprache hübsch verpackt wieder aus. Wie ein dicker Wal filtern sie statt des Planktons persönliche Daten aus der Flut und verdauen sie.

Man könnte einwenden, dass die großen Player der Branche wie Google, Meta und Microsoft sich diese Daten ohnehin schon immer in ihren großen Bauch einverleiben. Aber die mit KI betriebene Art der Verwertung erreicht eine neue Dimension an Performance, verständiger Kompilation und leichter Auswertbarkeit für fast jedermann.

Das Ausmaß des Datensaugens zeigt eine Untersuchung der Datenschutzfirma incogni, laut der die LLM-Betreiber nicht nur im Internet sammeln – oft unter Ignorieren der robots.txt – sondern auch in diffusen „Datenbanken“ (Claude), bei „Marketingpartnern“ (Gemini und Meta) bei „Datenbrokern“ (Microsoft), bei „Sicherheitspartnern“ (ChatGPT, Gemini und DeepSeek) oder auf dem Handy. Hier gibt es Standortdaten (Gemini und Meta), Telefonnummern (DeepSeek, Gemini und Pi) oder sogar Fotos (Grok, auch mit Dritten geteilt) zum Verzehr. Eine Opt-out-Möglichkeit hierfür bietet keiner der LLM-Betreiber in der Studie.

Anders beim Umgang mit den Prompt- und Chat-Daten: Hier können Anwenderinnen und Anwender bei ChatGPT, Copilot, Mistral und Grok erklären, dass die KI-Firmen ihre Kommunikationsdaten nicht verwenden sollen. Anthropic verzichtet für seine Claude-Modelle prinzipiell auf Daten über User-Eingaben. Alle anderen Firmen in der Untersuchung schweigen darüber.

Die LLM-Betreiber verletzen mit diesem monströsen Datensee grundlegende Prinzipien des Datenschutzes, beispielsweise, dass persönliche Daten nicht so leicht zusammengeführt werden sollen („Mandantentrennung“), um das Entstehen ebensolcher Datenpools an sensiblen Daten zu verhindern. Genau das geschieht aber derzeit beim LLM-Training.

Theoretisch werden damit leichtgängige Antworten auf Fragen möglich wie „Mit wem war Susi in den vergangenen Jahren im Urlaub?“, falls Susi das gelegentlich irgendwo halböffentlich gepostet hat. Möglicherweise fischen die KI-Interfaces wie ChatGPT solche Fragen heraus, im LLM-Bauch stecken die Antworten dennoch drin. Und mit geschicktem Prompting lässt sich mehr herauskitzeln als das, was der LLM-Betreiber vielleicht möchte – Sicherheitsexperten kennen das.

Die KI liefert hier Zusammenhänge, die mit einer traditionellen Google-Suche weitaus aufwendiger oder sogar unmöglich gewesen wären. Diese Gefahr ist konkreter als der für die meisten Menschen erstmal nur theoretisch drohende Jobverlust. Genau deshalb sollten sich gerade Social-Media-Freunde im KI-Zeitalter stärker bewusst machen, wer oder was sich ihre halböffentlichen Daten einverleibt – es könnte ein Datenhai mit Walfischbauch sein.


(who)



Source link

Weiterlesen

Entwicklung & Code

Mein Scrum ist kaputt #136: Doing Agile vs. Being Agile


Immer wieder sagen Teams in Unternehmen, dass sie jetzt agil arbeiten. Sie wollen nun mutig sein und in Iterationen arbeiten, eine offene Fehler- und Feedbackkultur leben, die Commitments einhalten und stärker fokussieren und ihre Kunden natürlich besser einbinden. Zu Beginn sind sie hoch motiviert, ihre Arbeitsweise und Projekte nach den agilen Werten und Prinzipien umzustellen. Allerdings stoßen die Teammitglieder schnell an die Grenzen des Agil-Seins.

Aber warum bleibt das Being Agile oft eine schöne Idee, während das Doing Agile im Alltag untergeht? Warum redet man so oft über Werte und Prinzipien, aber vergisst, wie man sie konkret umsetzt? Und warum läuft trotz agiler Transformation immer noch alles wie vorher? Ina Einemann hat Agile Coach Daniel Otten zu Gast. Zusammen gehen sie unter anderem auf diese Fragen ein.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externer Inhalt geladen.


Agile Leadership Conference 2025

Agile Leadership Conference 2025

(Bild: Katsiaryna/stock.adobe.com)

Das Programm der zweitägigen Agile Leadership Conference 2025 steht fest: Der Leadership Day (27.11.25) behandelt das Führen von Teams und Organisationen, während sich der Self Leadership Day (3.12.25) mit Selbstführung und dem aktiven Selbst als Führungskraft beschäftigt.


(mdo)



Source link

Weiterlesen

Entwicklung & Code

software-architektur.tv: Open-Source-Komponenten rechtssicher verwenden | heise online


Kaum ein Softwareprojekt kommt heute noch ohne Open-Source-Teile aus. Wie kann man solche Komponenten im Projekt rechtlich und technisch richtig einsetzen? Welche Auswirkungen haben Lizenzen mit einem Copyleft? Was gilt es in Bezug auf Compliance zu beachten? Gerade der EU Cyber Resilience Act bringt das Thema wieder auf die Agenda.

Prof. Dirk Riehle ist Professor für Open-Source-Software und diskutiert diese und andere Fragen in Eberhard Wolffs Videocast. Weitere Informationen über den heutigen Gast finden sich auf dessen Website.

Lisa Marie Schäfer malt dieses Mal keine Sketchnotes.

Die Ausstrahlung findet live am Freitag, 4. Juli 2025, von 13 bis 14 Uhr statt. Die Folge steht im Anschluss als Aufzeichnung bereit. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat, Bluesky, Mastodon, Slack-Workspace oder anonym über das Formular auf der Videocast-Seite einbringen.

software-architektur.tv ist ein Videocast von Eberhard Wolff, Blogger sowie Podcaster auf iX und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff solo. Seit mittlerweile mehr als zwei Jahren bindet iX (heise Developer) die über YouTube gestreamten Episoden im Online-Channel ein, sodass Zuschauer dem Videocast aus den Heise Medien heraus folgen können.

Weitere Informationen zur Folge finden sich auf der Videocast-Seite.


(mai)



Source link

Weiterlesen

Beliebt