Konto Anmelden
Jump to section

Was ist Middleware?

URL kopieren

Middleware ist Software, die gängige Services und Funktionen für Anwendungen außerhalb dessen bereitstellt, was das Betriebssystem bietet. 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 Umfang.

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, Produktion und Verteilung.

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.

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.

Moderne Geschäftsanwendungen 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 (Software-as-a-Service) per Messaging, Integration und APIs zu verbinden, damit diese funktionierende Systeme bilden. Sie kann auch In-Memory-Datenbank- und Daten-Cache-Services, Daten-/Event-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 Anwendungsbereitstellung, ob lokal oder in der Cloud.

Weiterlesen

Artikel

Was ist Integration?

Sie möchten wissen, was Integration ist? Erfahren Sie alles über Integration, wie man sie einsetzt und warum sie in Verbindung mit Open Source noch viel wertvoller ist.

Artikel

Was ist Apache Kafka?

Apache Kafka ist eine verteilte Data-Streaming-Plattform, mit der Sie Daten in Echtzeit veröffentlichen, abonnieren, speichern und verarbeiten können.

Artikel

Was ist eine API?

APIs (Application Programming Interfaces) bestehen aus mehreren Definitionen und Protokollen zur Entwicklung und Integration von Anwendungssoftware.

Mehr über Integration erfahren

Produkte

Red Hat Integration

Ein komplettes Set an Integrations- und Messaging-Technologien.

Red Hat Runtimes

Eine Reihe von Produkten, Tools und Komponenten für cloudnative Anwendungen.

Red Hat Process Automation

Eine Gruppe von Produkten zur intelligenten Automatisierung von Geschäftsentscheidungen und -prozessen.

Red Hat Cloud Services

Gehostete und gemanagte Plattform-, Anwendungs- und Datenservices, die das Hybrid Cloud-Erlebnis optimieren.

Ressourcen

E-Book

Agile Integration: Ein Blueprint für die Unternehmensarchitektur

Analystenbericht

Red Hat Integration unterstützt Unternehmen bei der Optimierung von Anwendungsleistung und Geschäftsergebnissen

Training

Kostenloser Trainingskurs

Red Hat Agile Integration Technical Overview

Illustration - mail

Möchten Sie mehr zu diesen Themen erfahren?

Abonnieren Sie unseren kostenlosen Newsletter, Red Hat Shares.