Definition

Stateless App (zustandslose Anwendung)

Eine zustandslose (stateless) App ist ein Anwendungsprogramm, das die in einer Sitzung erzeugten Client-Daten nicht zur Verwendung in der nächsten Sitzung mit diesem Client speichert. Jede Sitzung wird so ausgeführt, als ob es das erste Mal wäre, und Antworten sind nicht von Daten aus einer vorherigen Sitzung abhängig. Im Gegensatz dazu speichert eine zustandsabhängige Anwendung Daten über jede Client-Sitzung und verwendet diese Daten, wenn der Client das nächste Mal eine Anfrage stellt.

Wenn eine Anwendung zustandslos ist, speichert der Server keinen Zustand über die Client-Sitzung. Stattdessen werden die Sitzungsdaten auf dem Client gespeichert und bei Bedarf an den Server weitergeleitet. Dies ist eine wichtige Überlegung bei der Entwicklung von Anwendungen, die zunächst offline arbeiten sollen. Bei diesem Ansatz der Softwareentwicklung werden die Sitzungsdaten lokal auf dem Gerät des Endbenutzers gespeichert, wenn keine Internetverbindung verfügbar ist, und in die Cloud hochgeladen und repliziert, sobald eine Verbindung verfügbar ist.

Die verteilte Architektur, die eine horizontale Skalierbarkeit im Cloud Computing ermöglicht, hat das Interesse an zustandslosen Apps und zustandslosen App-Komponenten wieder aufleben lassen. Ein Grund dafür ist, dass die zustandslosen Komponenten einer App im Falle eines Fehlers einfach neu bereitgestellt und skaliert werden können, um Laständerungen auszugleichen. Ein weiterer Grund ist, dass Apps, die zustandslos sind, leicht mit anderen Apps über Anwendungsprogrammschnittstellen (APIs) verbunden werden können.

Auch die funktionale Programmierung, die häufig für Microservices und Containerisierung verwendet wird, hat das Interesse an zustandslosen Apps gefördert. funktionale Programmierung ist ein Ansatz zur Softwareentwicklung, der sehr kleine Segmente unveränderlichen Codes verwendet. Jede Funktion führt ihre Aufgabe so aus, als wäre es das allererste Mal und ist sich der anderen Funktionen im Programm bewusst, aber nicht von ihnen abhängig. Da alle Teile des Programms zustandslos sind, können Programmierer Funktionen auf vielfältige Weise zusammenstellen, ohne sich Sorgen machen zu müssen, dass Abhängigkeiten das Programm zerstören. 

Diese Definition wurde zuletzt im Juni 2021 aktualisiert

Erfahren Sie mehr über Business-Software