Middleware

Was ist Middleware?

Bei Middleware handelt es sich um Software, mit der allgemeine Services und Funktionen für Anwendungen bereitgestellt werden. Datenverwaltung, Anwendungsservices, Messaging, Authentifizierung und API-Management werden üblicherweise von der Middleware gehandhabt.

Damit lassen sich Anwendungen effizienter entwickeln. Man kann sich Middleware als das Bindegewebe zwischen Anwendungen, Daten und Usern vorstellen.

Middleware ermöglicht Organisationen mit Multi-Cloud- oder containerisierten Umgebungen eine kostengünstige Entwicklung und Ausführung von Anwendungen in großem Maßstab.

& ;

Warum ist Middleware für Cloud Computing wichtig?

Die cloudnative Entwicklung bringt zwar zahlreiche Vorteile, aber auch zusätzliche Komplexität mit sich. Anwendungen lassen sich in mehreren Infrastrukturen bereitstellen, und zwar von On-Premise-Systemen bis hin zu Public Clouds. Die Architekturen können jedoch stark variieren. So haben es Entwickler immer wieder mit unterschiedlichen Tools, Sprachen und Frameworks zu tun. Dazu stehen sie stark unter dem Druck, in immer weniger Zeit zu immer niedrigeren Kosten noch produktiver sein zu müssen.

Organisationen nutzen vermehrt Middleware, um diese komplexen Systeme zu verwalten und Anwendungen schnell und kostengünstig entwickeln zu können. Middleware bietet Unterstützung für Anwendungsumgebungen, die reibungslos und konsistent auf einer hochverteilten Plattform ausgeführt werden.

Hier entwickeln. Dort bereitstellen. Kein Problem. Denn zwischen den Anwendungen liegt die Middleware.

& ;

Welche Arten von Middleware gibt es?

Middleware kann viele Bereiche umfassen, von Webservern über Authentifizierungssysteme bis hin zu Messaging Tools. Im Folgenden zählen wir einige der häufigsten Use Cases für Middleware in der modernen Entwicklung auf.

Middleware New Application Development diagram

Entwicklung neuer Anwendungen

Middleware ist in der Lage, moderne und beliebte Runtimes für eine Vielfalt an Use Cases zu unterstützen. Entwickler und Architekten können agil auf verschiedenen Plattformen arbeiten, und zwar mit verschiedenen Runtimes, Frameworks und Programmiersprachen. Mit Middleware lassen sich dazu häufig verwendete Funktionen wie Webserver, Single Sign-On (SSO), Messaging und In Memory Caching bereitstellen.

Middleware optimization of existing applications diagram

Optimierung bestehender Anwendungen

Mithilfe von Middleware können Entwickler veraltete monolithische Anwendungen in cloudnative Apps umwandeln und erhalten so nicht nur wertvolle Tools, sondern auch eine bessere Leistungsfähigkeit und Portierbarkeit.

Middleware comprehensive integration diagram

Umfassende Integration

Mit Middleware Integrations-Tools können Sie wichtige interne und externe Systeme verbinden. Integrationsfunktionen wie Transformation, Konnektivität, Kombinierbarkeit, Enterprise Messaging und SSO-Authentifizierung machen es für die Entwickler einfacher, die Funktionen in den verschiedensten Anwendungen zu nutzen.

Middleware app programming interfaces diagram

APIs (Application Programming Interfaces)

Der Zugriff auf viele Middleware Services erfolgt über APIs, die aus verschiedenen Tools, Definitionen und Protokollen bestehen und über die die Anwendungen miteinander kommunizieren können. APIs ermöglichen die Verbindung völlig unterschiedlicher Produkte und Services über eine gemeinsame Schicht.

Middleware data streaming diagram

Daten-Streaming

Eine weitere Möglichkeit der gemeinsamen Datennutzung durch Anwendungen ist neben APIs das asynchrone Daten-Streaming. Hier werden Datensätze in einem Zwischenspeicher repliziert, wo mehrere Anwendungen auf sie zugreifen können. Ein beliebtes Middleware Tool auf Open Source-Basis für das Daten-Streaming in Echtzeit ist Apache Kafka.

Middleware intelligent business automation diagram

Intelligente Geschäftsautomatisierung

Mithilfe von Middleware können Entwickler, Architekten, IT und Wirtschaftsführer manuelle Entscheidungen automatisieren. Dadurch wiederum lassen sich Ressourcenmanagement und Effizienz verbessern.

Der Ursprung von Middleware

Der Begriff Middleware erschien zuerst in einem Bericht im Nachgang der NATO Software Engineering Konferenz von 1968 im bayerischen Garmisch-Partenkirchen. Die Konferenz strebte eine Definition des Bereichs Software Engineering an, darunter auch mit Themen wie Design, Herstellung und Verteilung.

Welche Rolle spielt Middleware bei der Anwendungsentwicklung?

Moderne Geschäfts-Apps werden so entwickelt, dass sie in großem Umfang, lokal und in Clouds ausgeführt werden können. Dazu aber benötigen Entwickler eine Anwendungsumgebung mit einheitlichen Basisfunktionen. Und der Schlüssel zu einer solchen Umgebung ist Middleware.

Man kann sich die oben genannten Funktionen als vier Schichten (plus Tools) vorstellen:

Die Container-Schicht

Diese Schicht der Middleware sorgt für eine einheitliche Bereitstellung der Anwendungs-Lifecycles. Sie liefert außerdem DevOps mit CI/CD, Container-Management und Service Mesh-Funktionen.

Die Runtimes-Schicht

Diese Schicht enthält die Ausführungsumgebungen für benutzerdefinierten Code. Middleware liefert schlanke Runtimes und Frameworks für hochverteilte Cloud-Umgebungen wie Microservices, dazu In-Memory Caching für einen schnellen Datenzugriff und Messaging für eine beschleunigte Datenübertragung.

Die Integrationsschicht

Integrative Middleware liefert Services, um benutzerdefinierte und gekaufte Anwendungen sowie SaaS-Assets per Messaging, Integration und APIs zu verbinden, damit diese funktionierende Systeme bilden. Sie kann auch Memory-Datenbank- und Daten-Cache-Services, Daten-/Ereignis-Streaming und API-Management bereitstellen.

Die Prozessautomatisierungs- und Entscheidungsmanagementschicht

Diese finale Schicht der Entwicklungs-Middleware bietet intelligente Funktionen, Optimierungs-, Automatisierungs- und Entscheidungsmanagement.

Tooling

Neben diesen vier Middleware-Schichten gibt es noch die Tools der Anwendungsentwicklung. Damit können die Teams ihre Anwendungen mithilfe von vordefinierten Templates und Containern entwickeln, Code effizienter teilen und noch besser gemeinsam arbeiten. Außerdem sorgen die Tools für eine einheitliche und kohärente Entwicklungsumgebung und Bereitstellung, ob lokal oder in der Cloud.

Die wichtigsten Middleware-Tools

Red Hat Runtimes

Beschleunigen Sie Anwendungsentwicklung und -bereitstellung mit einer Reihe von Produkten, Tools und Komponenten zur Erstellung und Wartung cloudnativer Anwendungen.

Red Hat Integration

Optimieren Sie Ihre Integrationsentwicklung mit diversen Integrations- und Messaging-Technologien, mit denen sich Anwendungen und Daten in Hybrid-Infrastrukturen verbinden lassen.

Red Hat Process Automation

Reagieren Sie flexibel auf sich verändernde Anforderungen – mit Lösungen, mit denen Sie Geschäftsentscheidungen und -prozesse in heterogenen Umgebungen intelligent automatisieren können.