Suchen

Mit Informationen über Transaktionen Was ist eine Stateful Architecture?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Dr. Jürgen Ehneß

Stateful Architecture ist ein Architekturansatz im IT- und Software-Umfeld. Die Architektur ist dadurch gekennzeichnet, dass beteiligte Services zustandsbehaftet arbeiten. Im Gegensatz zu einer Stateless Architecture, die jede Anfrage grundsätzlich als neu und unabhängig von vorherigen Transaktionen ausführt, speichert die Stateful Architecture Zustandsinformationen. Diese Informationen beeinflussen das Ergebnis nachfolgender Transaktionen.

Firmen zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Stateful Architecture ist ein Konzept aus dem IT- und Software-Umfeld. Der deutsche Begriff lautet „zustandsbehaftete Architektur“. Gekennzeichnet ist dieser Architekturansatz dadurch, dass die beteiligten Services Zustandsinformationen speichern und vorhalten. Zustandsbehaftet bedeutet, dass Prozesse, Services oder Applikationen Informationen über zuvor ausgeführte Transaktionen speichern. Nachfolgende Anfragen werden durch die gespeicherten Informationen beeinflusst. Typische Statusinformationen sind beispielsweise Anwenderprofile, Ergebnisse vorheriger Requests oder Präferenzen.

Die Stateful Architecture ist ein gegensätzlicher Entwurf zur Stateless Architecture (zustandslose Architektur), in der die beteiligten Services keine Informationen über User oder Transaktionen speichern und jede Anfrage grundsätzlich als neue, unabhängige Anfrage bearbeiten.

Eine Stateful Architecture benötigt persistenten Speicher, in dem sich die Informationen ablegen lassen. Ein Neustart eines Services darf nicht zum Verlust der Statusinformationen führen. Typischer Anwendungsbereich einer zustandsbehafteten Architektur sind monolithische Applikationen in Legacy-Umgebungen.

Merkmale und Herausforderungen einer zustandsbehafteten Architektur

Die typischen Merkmale und Herausforderungen einer Stateful Architecture sind:

  • es ist ein persistenter Speicher zum Ablegen und Bereithalten der Statusinformationen notwendig,
  • die Services bearbeiten Anfragen und Transaktionen in Abhängigkeit der gespeicherten Informationen der zuvor erledigten Requests,
  • nachfolgende, voneinander abhängige Transaktionen werden entweder von einem einzigen Service bearbeitet, oder die Statusinformationen müssen allen beteiligten Services zur Verfügung gestellt werden,
  • der persistente Speicher muss stets verfügbar sein und ausreichend Performance bieten,
  • die abgelegten Daten müssen über ihren kompletten Lebenszyklus gemanagt werden.

Abgrenzung zu einer Stateless Architecture

Stateful Architecture und Stateless Architecture stellen gegensätzliche Architekturentwürfe dar. In einer zustandslosen Architektur speichern die beteiligten Prozesse, Services oder Applikationen keine Informationen über zuvor ausgeführte Transaktion oder über die beteiligten User. Jede Transaktion wird unabhängig von vorherigen Transaktionen als neuer Request bearbeitet. Das Ergebnis einer Transaktion wird von vorherigen Requests nicht beeinflusst.

Oft führen die Services einer zustandslosen Architektur jeweils nur genau eine einzige Funktion aus. Da keine Statusinformationen gespeichert werden, führt ein Neustart eines Services nicht zu einem Informationsverlust. Representational State Transfer (REST) ist ein typisches Beispiel einer einfachen Stateless Architecture. Zentrale Protokolle sind das zustandslose HTTP (Hypertext Transfer Protocol) und XML (Extensible Markup Language).

Eine REST-Nachricht besitzt alle Informationen, die der Server oder der Client zur Interpretation oder Verarbeitung der Nachricht benötigen. Jede Anfrage ist in sich geschlossen. Zwischen den Nachrichten müssen keine Zustandsinformationen gespeichert werden.

(ID:46931767)

Über den Autor