Was ist Middleware?

URL kopieren

Middleware ist eine Softwareschicht, die das Betriebssystem mit Anwendungen, Daten und Nutzenden verbindet. Sie macht gemeinsame Dienste und Funktionen verfügbar, wie SSO (Single Sign On) oder die Verwaltung von API (Application Programming Interface). Entwicklungsteams können sich auf Middleware verlassen, um konsistente, vereinfachte Integrationen zwischen Anwendungskomponenten zu erhalten. So können sich Entwicklungsteams auf die Arbeit an Kernfunktionen von Anwendungen konzentrieren, anstatt Zeit für die Verbindung dieser Funktionen mit verschiedenen Endpunkten und Umgebungen, einschließlich Altsystemen, aufzuwenden.

Middleware ist seit den späten 1960er Jahren Teil der Software-Engineering-Terminologie und kann als Kategorie auf eine Vielzahl moderner Softwarekomponenten Anwendung finden. Middleware kann Anwendungs-Runtimes, die Integration von Unternehmensanwendungen und verschiedene Arten von Cloud Services umfassen. Datenverwaltung, Anwendungsservices, Messaging, Authentifizierung und API-Management werden üblicherweise von der Middleware gehandhabt.

Middleware ist heute die technologische Grundlage für moderne cloudnative Architekturen. Für Unternehmen mit Multi Cloud- und Container-Umgebungen kann Middleware eine kosteneffiziente Entwicklung und Ausführung von Anwendungen in großem Umfang ermöglichen.

Mehr zu Red Hat Application Foundations

Der Begriff Middleware ist sehr weit gefasst und kann alles von Webservern über Authentifizierungssysteme bis hin zu Messaging-Tools umfassen. Hier sind einige der häufigsten Use Cases für Middleware in der modernen Entwicklung.

Middleware New Application Development diagram

Entwicklung neuer Anwendungen

Middleware kann moderne und beliebte Runtimes für eine Vielzahl von Use Cases unterstützen. Entwicklungs- und Architekturteams können plattformübergreifend und flexibel arbeiten und dabei grundlegende Laufzeiten, Frameworks und Programmiersprachen verwenden. Middleware kann auch häufig verwendete Funktionen wie Webserver, SSO (Single Sign On), Messaging und In-Memory Caching bereitstellen.

Middleware optimization of existing applications diagram

Optimierung bestehender Anwendungen

Middleware kann Entwicklungsteams helfen, monolithische Legacy-Anwendungen in cloudnative Anwendungen umzuwandeln, wobei wertvolle Tools mit besserer Performance und mehr Portierbarkeit aktiv bleiben.

Middleware comprehensive integration diagram

Umfassende Integration

Middleware- Integrationstools verbinden wichtige interne und externe Systeme. Integrationsfunktionen wie Transformation, Konnektivität, Kompositionsfähigkeit und Enterprise Messaging, kombiniert mit SSO-Authentifizierung, erleichtern Entwicklungsteams die Nutzung verschiedener Funktionen in unterschiedlichen Anwendungen.

Middleware app programming interfaces diagram

APIs (Application Programming Interfaces)

Der Zugriff auf viele Middleware-Dienste erfolgt über APIs, also über eine Reihe von Tools, Definitionen und Protokollen, die Anwendungen die Kommunikation untereinander ermöglichen. APIs ermöglichen die Verbindung völlig unterschiedlicher Produkte und Dienste über eine gemeinsame Ebene.

Middleware data streaming diagram

Daten-Streaming

Während APIs eine Möglichkeit zum Austausch von Daten zwischen Anwendungen darstellen, ist asynchrones Daten-Streaming ein weiterer Ansatz. Dabei wird ein Datensatz in einem Zwischenspeicher repliziert, wo die Daten von mehreren Anwendungen gemeinsam genutzt werden können. Ein beliebtes Open Source-Middleware-Tool für Echtzeit-Daten-Streaming ist Apache Kafka.

Middleware intelligent business automation diagram

Intelligente Business Automation

Middleware kann Entwicklungs- und Architekturteams, IT- und Führungskräfte bei der Automatisierung manueller Entscheidungen unterstützen. Automatisierung kann die Ressourcenverwaltung und die Gesamteffizienz verbessern.

Red Hat Ressourcen

Da Unternehmen immer mehr zur cloudnativen Entwicklung tendieren, mussten sich Beschäftigte im Bereich der Softwareentwicklung und Systemarchitektur im Vorfeld auf das Design und die Architektur ihrer Anwendungsplattformen konzentrieren. Dies erfordert die Auswahl und Einrichtung von Frameworks und Funktionen zum Entwickeln, Bereitstellen und Ausführen von Anwendungen – Funktionen, die von Middleware verwaltet werden. Mit diesen Funktionen kann ein Unternehmen mehr Vorteile aus der Cloud ziehen. Anwendungen lassen sich in mehreren Infrastrukturen bereitstellen, von On-Premise-Systemen bis hin zu Public Clouds, und funktionieren weiterhin wie vorgesehen.

Unternehmen nutzen vermehrt Middleware, um diese komplexen Systeme zu verwalten und Anwendungen schnell und kostengünstig entwickeln zu können. Dabei wird ein Großteil der Middleware jetzt als Cloud Services angeboten, was Deployment und Verwaltung vereinfacht. Middleware bietet Unterstützung für Anwendungsumgebungen, die reibungslos und konsistent auf einer Plattform ausgeführt werden. Sie kann auch die Sicherheit der Softwarelieferkette, DevSecOps-Strategien und Automatisierung unterstützen und Teams dabei helfen, neue und bessere Anwendungen schneller zu entwickeln und gleichzeitig Sicherheitsrisiken zu verwalten.

Moderne Geschäftsanwendungen sind so konzipiert, dass sie in großem Umfang, lokal und über Clouds hinweg ausgeführt werden können. Für ihre Entwicklung benötigen Entwicklungsteams eine Anwendungsumgebung mit einheitlichen Grundfunktionen. Middleware ist der Schlüssel zum Aufbau einer solchen Umgebung.

Wir können uns diese Funktionen auf vier Ebenen vorstellen, plus Tooling:

Die Container-Ebene

Diese Middleware-Schicht verwaltet den Bereitstellungsaspekt der Anwendungs-Lifecycles auf einheitliche Weise. Sie bietet DevOps-Fähigkeiten mit CI/CD, Container-Management und Service Mesh- Funktionen.

Die Laufzeit-Ebene

Diese Ebene enthält die Ausführungsumgebungen für benutzerdefinierten Code. Middleware kann schlanke Laufzeiten und Frameworks für hochgradig verteilte Cloud-Umgebungen wie Microservices, In-Memory Caching für schnellen Datenzugriff und Messaging für schnellen Datentransfer bereitstellen.

Die Integrations-Ebene

Integrations-Middleware bietet Dienste zur Verbindung von benutzerdefinierten und gekauften Anwendungen sowie von SaaS ( Software as a Service)-Ressourcen durch Messaging, Integration und APIs zu funktionierenden Systemen. Sie kann außerdem In-Memory-Datenbank- und Datencache-Dienste, Daten-/Event-Streaming und API-Management bereitstellen.

Die Ebene für Prozessautomatisierung und Entscheidungsmanagement

Diese letzte Ebene der Entwicklungs-Middleware bringt wichtige Intelligenz, Optimierung und Automatisierung sowie Entscheidungsmanagement ein.

Tooling

Zusätzlich zu diesen 4 Middleware-Schichten gibt es Tools für die Anwendungsentwicklung. Dies ermöglicht Teams die Anwendungsentwicklung unter Verwendung voreingestellter Templates und Container und erleichtert eine effiziente gemeinsame Nutzung von Code sowie eine gemeinschaftliche Entwicklung. Tooling unterstützt eine konsistente und kohärente Anwendungsentwicklung und -bereitstellung lokal und in der Cloud.

APIs erstellen eine Reihe von Definitionen und Protokollen für die Integration von Software, sodass eine Anwendung mit anderen Produkten und Services kommunizieren kann. Da APIs die Integration neuer Anwendungskomponenten in eine bestehende Architektur erleichtern, unterstützen sie automatisch die Zusammenarbeit von Teams und das Hinzufügen nützlicher neuer Funktionen zur Software.

Die Verwendung von APIs und Microservices ist ein grundlegender Bestandteil der cloudnativen Anwendungsentwicklung. Services zur Erleichterung der API-Konnektivität sind eine Art Middleware. API-Managementtools ermöglichen das Teilen, Verteilen, Steuern und Monetarisieren von APIs.

In Verbindung mit anderen Tools für Anwendungsservices, wie Service Mesh und Daten-Streaming, ermöglicht API-Management das Ausführen von Anwendungen in großem Umfang in einer Hybrid Cloud-Umgebung.

Hub

Der offizielle Red Hat Blog

Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.

Red Hat Testversionen

Unsere kostenlosen Testversionen unterstützen Sie dabei, praktische Erfahrungen zu sammeln, sich auf eine Zertifizierung vorzubereiten oder zu bewerten, ob ein Produkt die richtige Wahl für Ihr Unternehmen ist.

Weiterlesen

Was ist GraphQL? | GraphQL Schema & API Abfragen erklärt

Erfahren Sie, was GraphQL ist, wie GraphQL Schema funktionieren und API Abfragen effizient gestaltet werden. Vor- und Nachteile | Beispiel für GraphQL-Abfrage

Was ist eine API? – Einführung in Programmierschnittstellen

Was sind APIs? Entdecken Sie, wie Programmierschnittstellen funktionieren, warum sie wichtig sind und welche Rolle sie in der Softwareentwicklung spielen.

Was ist eine REST API? – Einführung in RESTful APIs

Erfahren Sie, was eine REST API ist, wie sie funktioniert und warum RESTful APIs für moderne Anwendungen und Integrationen entscheidend sind.

Ressourcen zu Integration