Zum Inhalt springen

Glossar · M

Middleware

Schicht, die HTTP-Requests vor oder nach dem eigentlichen Controller bearbeitet. Typisch für Auth, CSRF, Locale, Logging, Rate-Limiting.

Definition

Middleware bezeichnet eine Software-Schicht, die zwischen dem Betriebssystem und den Anwendungen agiert. Sie dient als Vermittler, der verschiedene Softwarekomponenten miteinander verbindet und deren Interaktion ermöglicht. In der Webentwicklung wird Middleware häufig verwendet, um HTTP-Requests zu bearbeiten, bevor sie an den eigentlichen Controller weitergeleitet werden.

Die Middleware kann verschiedene Aufgaben übernehmen, wie z.B. Authentifizierung, Autorisierung, Logging, Datenvalidierung und das Management von Sitzungen. Sie ermöglicht es Entwicklern, wiederverwendbare Funktionen zu implementieren, die in mehreren Anwendungen oder Modulen eingesetzt werden können.

Was bedeutet das für Ihr Unternehmen?

Middleware ist meist unsichtbar, entscheidet aber an zentraler Stelle, wer eine Seite sehen darf, ob Formulare vor Fälschung geschützt sind und wie viele Anfragen ein Besucher stellen kann. Fehlt eine Prüfung in dieser Kette, sind oft gleich viele Seiten auf einmal ungeschützt. Bei einem Sicherheits-Check Ihrer Anwendung gehört die Frage dazu, welche Middleware auf welchen Bereichen aktiv ist, besonders im Admin- und Kundenbereich.

Hintergrund

Der Begriff Middleware hat seinen Ursprung in den 1960er Jahren, als erste Ansätze zur Verbindung von Anwendungen und Datenbanken entwickelt wurden. Mit der zunehmenden Komplexität von Software-Anwendungen wuchs auch der Bedarf an Middleware-Lösungen, die eine effiziente Kommunikation zwischen verschiedenen Softwarekomponenten ermöglichen.

In den 1990er Jahren erlebte Middleware einen Boom, als Unternehmen begannen, verteilte Systeme und Client-Server-Architekturen zu implementieren. Zu den frühen Middleware-Technologien gehören Message-Oriented Middleware (MOM) und Object Request Brokers (ORB), die den Datenaustausch zwischen Anwendungen erleichterten.

Funktionsweise

Middleware arbeitet in der Regel als Kette von Funktionen, die auf eingehende HTTP-Requests angewendet werden. Jede Middleware-Komponente kann den Request analysieren, modifizieren oder sogar blockieren, bevor er an den nächsten Handler weitergeleitet wird. Dies ermöglicht eine flexible und modulare Architektur, die leicht erweiterbar ist.

Ein typisches Beispiel für Middleware ist die Authentifizierung, bei der die Identität des Benutzers überprüft wird, bevor der Zugriff auf geschützte Ressourcen gewährt wird. Weitere häufige Anwendungen sind Cross-Site Request Forgery (CSRF) Schutz, das Setzen von Locale-Informationen oder das Protokollieren von Anfragen für Analysezwecke.

Einsatzgebiete

Middleware findet Anwendung in einer Vielzahl von Softwareprojekten, insbesondere in Webanwendungen und Microservices-Architekturen. Sie ermöglicht es Entwicklern, verschiedene Aspekte der Anwendung unabhängig voneinander zu verwalten, was die Wartbarkeit und Skalierbarkeit verbessert.

Darüber hinaus wird Middleware häufig in der Cloud-Entwicklung eingesetzt, um die Kommunikation zwischen verschiedenen Cloud-Diensten und -Ressourcen zu orchestrieren. In diesem Kontext kann Middleware auch zur Implementierung von Sicherheitsprotokollen und zur Verwaltung von API-Requests verwendet werden.

Abgrenzung

Middleware wird oft mit anderen Konzepten wie APIs oder Frameworks verwechselt. Während APIs Schnittstellen bieten, über die Anwendungen miteinander kommunizieren können, ist Middleware eine Schicht, die diese Kommunikation steuert und verwaltet. APIs sind in der Regel spezifisch für bestimmte Funktionen, während Middleware eine breitere Palette von Aufgaben abdecken kann.

Ein weiterer wichtiger Unterschied besteht zwischen Middleware und Backend-Services. Während Middleware als vermittelnde Schicht fungiert, die Anfragen bearbeitet, bevor sie an Backend-Services weitergeleitet werden, sind Backend-Services die tatsächlichen Anwendungen oder Datenbanken, die die Geschäftslogik implementieren und Daten speichern.