Middleware ist eine Software, mit der Anwendungen oder Komponenten in einem verteilten Netzwerk auf eine oder mehrere Arten kommunizieren oder miteinander verbunden werden können, quasi eine Art „Klebstoff“ oder „Brücke“ zwischen Anwendungen und Betriebssystemen.
Sie optimiert die Anwendungsentwicklung und verkürzt die Markteinführungszeit durch intelligente Funktionen, da Verbindungen zwischen Plattformen ermöglicht werden, die ursprünglich nicht auf Konnektivität ausgelegt waren.
Zu den verschiedenen Arten von Middleware gehören die folgenden:
Branchen-Newsletter
Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und darüber hinaus auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.
Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.
Der Begriff Middleware wurde erstmals in den späten 1960er Jahren eingeführt. Der Begriff wurde geprägt, weil die ursprüngliche Version in der Regel als Vermittler zwischen einem Front-End einer Anwendung (Client) und einer Back-End-Ressource fungierte. Bei dieser Ressource kann es sich um eine Datenbank, eine Mainframe-Anwendung oder ein spezielles Hardwaregerät handeln, von dem der Client Daten anfordern kann. Mit der Zunahme verteilter Computersysteme in den 1980er Jahren wurde Middleware verstärkt eingesetzt, um neuere Anwendungen mit Altsystemen zu verbinden.
Die heutige Middleware geht jedoch weit über diesen Anwendungsbereich hinaus. Portal-Middleware umfasst beispielsweise das Anwendungs-Front-End sowie Tools zur Back-End-Konnektivität. Datenbank-Middleware verwendet in der Regel einen eigenen Datenspeicher.
Middleware spielt heute eine wesentlich Rolle bei der Entwicklung moderner cloudnativer Anwendungen. Sie arbeitet mit Container-Technologie, damit sich DevOps und andere Teams mit Ressourcen in Multicloud-Umgebungen verbinden können. Dies unterstützt Continuous Integration (CI) und Continuous Delivery (CD) (CI/CD), optimiert die Programmierung, das Testen und die Bereitstellung von Anwendungen und trägt so zu schnellerer Skalierung und Geschäftswachstum bei.
Middleware wird zunehmend als cloudbasiertes Serviceangebot zur Kommunikation zwischen Systemen und als Datenverwaltungs -Tool eingesetzt. Eine Studie von Technavio prognostizierte, dass der globale Markt für Middleware as a Service (MWaaS) im Zeitraum 2023–2028 um 45,44 Milliarden US-Dollar wachsen wird, was einer durchschnittlichen jährlichen Wachstumsrate (CAGR) von 17,73 % entspricht. Die Studie führt dieses Wachstum auf die umfassende Einführung von Cloud Computing sowie die Zunahme von Serverless Computing und Microservices zurück.1
Mit Middleware können Anwendungen entwickelt werden, ohne dass bei jeder Verbindung zu Anwendungskomponenten (Services oder Microservices), Datenquellen, Rechenressourcen oder Geräten eine benutzerdefinierte Integration erstellt werden muss.
Middleware erleichtert die Kommunikation zwischen verschiedenen Anwendungen und Diensten, indem sie wesentliche Dienste bereitstellt. Es erreicht diese Kommunikation durch gängige Messaging-Frameworks wie JavaScript Object Notation (JSON), Representational State Transfer (REST), Extensible Markup Language (XML), Simple Object Access Protocol (SOAP) oder Webdienste. In der Regel bietet Middleware auch Services, über die in verschiedenen Sprachen wie Java, C++, PHP und Python geschriebene Komponenten miteinander kommunizieren können.
Zu den Standardkomponenten der Middleware-Architektur gehören folgende:
Neben der Bereitstellung arbeitssparender Interoperabilität unterstützen Middleware-Services Softwareentwickler auf folgende Weise.
Auf der Grundlage von Kunden- oder Front-End-Anwendungsanfragen kann Middleware die Back-End-Anwendung oder die Serviceantwort anpassen. In der E-Commerce-Anwendung eines Einzelhändlers kann die Middleware-Anwendungslogik die Ergebnisse der Produktsuche aus einer Back-End-Bestand-Datenbank nach dem nächstgelegenen Standort sortieren. Diese Sortierung basiert auf der IP-Adresse oder den Standortinformationen im HTTP-Anforderungsheader.
Middleware stellt in der Regel eine sichere Verbindung von der Front-End-Anwendung zu Back-End-Datenquellen her, die Transport Layer Security (TSL) oder ein anderes Netzwerksicherheitsprotokoll verwenden. Middleware ermöglicht Authentifizierungsfunktionen, wobei Front-End-Anwendungsanfragen nach Anmeldedaten (Benutzername und Passwort) oder digitalen Zertifikaten geprüft werden.
Bei Datenverkehrsspitzen kann die Middleware skaliert werden, um Client-Anfragen auf mehrere Server zu verteilen – On-Premises oder in der Cloud. Funktionen zur parallelen Verarbeitung können Probleme verhindern, wenn mehrere Clients gleichzeitig versuchen, auf dieselbe Back-End-Datenquelle zuzugreifen.
Middleware unterstützt Entwickler bei der Anwendungsmodernisierung, da sie monolithische Altanwendungen in Cloud-Anwendungen auf Basis einer Microservices-Architektur umwandelt.
Mit Automatisierung durch Middleware können Entwickler komplexe IT-Aufgaben optimiert verwalten, um die Gesamteffizienz zu verbessern.
Middleware unterstützt DevSecOps-Methoden (DevSecOps steht für Development, Security, Operations), da Apps schneller erstellt und gleichzeitig Sicherheitsrisiken minimiert werden können.
Es gibt viele verschiedene Arten von Middleware. Einige konzentrieren sich auf bestimmte Arten von Konnektivität, andere auf bestimmte Anwendungen, Anwendungskomponenten und Geräte. Andere kombinieren Middleware-Funktionen für eine bestimmte Software-Entwicklungsaufgabe. Hier sind einige der bekanntesten und am häufigsten verwendeten Arten von Middleware-Software:
Mit der nachrichtenorientierten Middleware (MOM) können Anwendungskomponenten, die unterschiedliche Nachrichtenprotokolle verwenden, miteinander kommunizieren und Nachrichten austauschen. Neben der Übersetzung oder Umwandlung von Nachrichten zwischen Anwendungen verwaltet MOM auch die Weiterleitung der Nachrichten, sodass sie immer in der richtigen Reihenfolge an die richtigen Komponenten erfolgt. Beispiele für MOM sind Nachrichtenwarteschlangen und Nachrichtenbroker.
RPC-Middleware (Remote Procedure Call) ermöglicht es einer Anwendung, einen Vorgang in einer anderen Anwendung auszulösen, unabhängig davon, ob sich dieser auf demselben Computer oder auf einem anderen Computer oder in einem anderen Netzwerk befindet. Durch diesen Prozess funktionieren beide Anwendungen so, als wären sie Teil derselben Anwendung auf demselben Computer.
Daten- oder Datenbank-Middleware vereinfacht den Zugriff auf und die Interaktion mit Back-End-Datenbanken. In der Regel handelt es sich bei Datenbank-Middleware um eine Form von SQL-Datenbankserver.
API-Middleware stellt Entwicklern Tools zur Verfügung, mit denen sie APIs für ihre Anwendungen erstellen, bereitstellen und verwalten können, sodass andere Entwickler eine Verbindung zu ihnen herstellen können.
Einige API-Middleware enthält Tools zur Monetarisierung von APIs, d. h., andere Unternehmen können sie gegen eine Gebühr nutzen. Beispiele für API-Middleware sind API-Verwaltungsplattformen, API-Gateways und API-Entwicklerportale.
Object Request Broker (ORB)-Middleware fungiert als Vermittler zwischen einer Anforderung von einer Anwendung oder einer Komponente und ihrer Erfüllung durch eine andere Anwendung oder eine andere Komponente. Dieser Prozess findet innerhalb des verteilten Netzes statt und gewährleistet eine nahtlose Kommunikation und Interaktion zwischen den Komponenten.
Object Request Broker (ORBs) arbeiten mit der Common Object Request Broker Architecture (CORBA), die es einer Softwarekomponente ermöglicht, eine Anfrage an eine andere zu stellen, ohne zu wissen, wo die andere gehostet wird oder wie ihre Benutzeroberfläche (UI) aussieht. Der „Brokering“-Mechanismus verwaltet diese Informationen während des Austauschs.
Transaktionale Middleware bietet Services, welche die Ausführung von Datentransaktionen in einem verteilten Netzwerk unterstützen. Die bekannteste transaktionale Middleware sind Transaktionsverarbeitungsmonitore (TPMs), die Transaktionen von einem Schritt zum nächsten steuern. Sie verwalten den Datenaustausch, indem sie je nach Bedarf Daten hinzufügen, ändern oder löschen, bis die Transaktion abgeschlossen ist.
Asynchrone Daten-Streaming-Middleware repliziert einen Datenstrom in einem Zwischenspeicher, sodass die Daten gemeinsam von mehreren Anwendungen genutzt werden können.Apache Kafka ist eines der bekanntesten Beispiele für Open-Source-Middleware-Plattformen zum Echtzeit-Event-Streaming.
Geräte-Middleware bietet eine Reihe von Integrations- und Konnektivitätsfunktionen zur Entwicklung von Apps für mobile Betriebssysteme.
Portal-Middleware umfasst Tools und Ressourcen zur Integration von Inhalten und Funktionen aus verschiedenen verwandten Anwendungen auf einem einzigen Bildschirm, um eine einzelne Verbundanwendung zu erstellen.
Robotik-Middleware vereinfacht die Integration von Roboterhardware, -firmware und -software verschiedener Hersteller und Standorte.
Es gibt zwei grundlegende Klassen von Middleware: Middleware für Unternehmensanwendungen und Middleware für Plattformen.
Middleware zur Integration von Unternehmensanwendungen ermöglicht die Einrichtung eines Unternehmens-Integrations-Hubs. Dies ist eine standardisierte Möglichkeit, um Anwendungen, Anwendungskomponenten, Geschäftsprozesse und Back-End-Datenquellen im gesamten erweiterten Unternehmen miteinander zu verbinden.
Bis vor etwa zehn Jahren war die am weitesten verbreitete Middleware zur Integration von Unternehmensanwendungen der Enterprise Service Bus (ESB), quasi ein Integrationszentrum innerhalb einer serviceorientierten Architektur (SOA).
Heute können mit einer Integrationsplattform als Service (iPaaS) Anwendungen, Daten, Prozesse und Dienste über eine Hybrid Cloud, die Kombination aus lokaler, privater und öffentlicher Cloud – miteinander verbunden werden. Dadurch vermeiden Unternehmen den Aufwand und die Kosten für Kauf, Installation, Verwaltung und Wartung der Integrations-Middleware (und der Hardware, auf der sie läuft) im eigenen Rechenzentrum.
Alle großen Cloud-Service-Anbieter (CSPs) – Microsoft Azure, Google Cloud, Amazon Web Services (AWS) oder IBM Cloud – verfügen über iPaaS-Lösungen.
Plattform-Middleware (oder Anwendungsplattform-Middleware) unterstützt die Anwendungsentwicklung. Sie beschleunigt die Anwendungsbereitstellung, da sie eine Laufzeit-Hosting-Umgebung – wie eine Java-Laufzeitumgebung (Java RE), Container oder beides – für die Anwendungs- oder Geschäftslogik bereitstellt. Plattform-Middleware kann Unternehmensanwendungen, Webserver, Content-Management-Systeme (CMS) und andere bereits erwähnte Middleware-Typen umfassen oder kombinieren.
Sowohl Integration-Platform-as-a-Service (iPaaS) als auch Platform-as-a-Service (PaaS) sind cloudbasierte Lösungen für jeweils unterschiedliche Zwecke. Während iPaaS die Integration von Anwendungen, Geräten und Systemen ermöglicht, bietet PaaS eine Plattform zur Erstellung, Ausführung und Verwaltung von Anwendungen.
PaaS ist eine beliebte Wahl für kleine Unternehmen und Start-ups mit begrenztem IT-Budget, da Apps im Vergleich zur Erstellung interner Entwicklungsplattformen kostengünstig entwickelt werden können. iPaaS ist die bessere Wahl für große Unternehmen und Organisationen, die komplexe, dynamische Architekturen betreiben.
Allerdings arbeiten iPaaS-Services oft mit Cloud-Services zusammen, darunter PaaS und Software-as-a-Service (SaaS). Zum Beispiel können Unternehmen iPaaS mit PaaS- (z. B. Cloud Foundry, Red Hat OpenShift) oder SaaS-Entwicklungslösungen (GitHub) kombinieren.
Cloudnativ bezeichnet einen Ansatz zur Anwendungsentwicklung. Grundlegende Cloud-Computing-Technologien gewährleisten die konsistente Entwicklung, Bereitstellung und Verwaltung in Hybrid-Cloud-Umgebungen.
Heutige cloudnative Anwendungen basieren auf Microservices und werden in Containern bereitgestellt, die Kubernetes verwenden, eine weit verbreitete Container-Orchestrierungsplattform.
Microservices sind lose gekoppelte Anwendungskomponenten, die einen eigenen Stack umfassen und unabhängig voneinander bereitgestellt und aktualisiert werden können. Sie kommunizieren über eine Kombination aus REST-APIs, Nachrichtenbrokern und Event-Streams.
Container sind ressourceneffiziente Ausführungs-Tasks, die Anwendungscode, wie z. B. Microservices, zusammen mit genau den Betriebssystembibliotheken und Abhängigkeiten bündeln, die zur Ausführung dieses Codes in einer Cloud- oder herkömmlichen IT-Infrastruktur erforderlich sind.
Zusammen bilden diese und verwandte Technologien eine leistungsstarke, einmal entwickelte und überall einsetzbare Plattform für die Bereitstellung neuer Hybrid-Cloud-Anwendungen und die Modernisierung traditioneller Altsysteme für die Nutzung in der Cloud. Sie führen jedoch auch zu einer komplexen Entwicklungsumgebung, die noch mehr Softwareanwendungen, Datenquellen, Programmiersprachen, Tools und verteilte Systeme miteinander kombiniert.
Middleware kann einen Teil dieser Komplexität lösen. Allerdings kann die Ausführung von containerisierten Anwendungen mit herkömmlicher Middleware die eigene Komplexität erhöhen, einschließlich des Infrastruktur-Overheads, für dessen Beseitigung Container konzipiert wurden. Aus diesem Grund umfassen Cloud-Anwendungsentwicklungsplattformen containerisierte oder modularisierte Middleware, sodass nur die erforderlichen Konnektivitätsfunktionen in einen Container gepackt werden können.
Middleware unterstützt die Entwicklung von Spielen, indem sie als Spiel-Engine dient. Diese Software-Ebene ermöglicht die nahtlose Integration von Video, Audio und anderen wichtigen Spielkomponenten.
Bei Finanzinstituten integriert Middleware Anwendungen und Kundendatenbanken, um digitale Bankdienstleistungen einschließlich der Transaktionsverarbeitung in Echtzeit zu unterstützen.
Der sichere Zugriff auf und die gemeinsame Nutzung von Gesundheitsdaten war bisher eine Herausforderung. Middleware ist für die Interoperabilität im Gesundheitswesen von entscheidender Bedeutung und ermöglicht einen nahtlosen Datenfluss zwischen verschiedenen Gesundheitssystemen und -anwendungen, wie z. B. Telemedizinplattformen und elektronischen Patientenakten (EPA).
E-Commerce-Unternehmen nutzen Middleware, um ihre Online-Plattformen mit wichtigen Back-End-Diensten wie der Auftragsabwicklung zu verbinden und so das Kundenerlebnis insgesamt zu verbessern.
In der Fertigung hilft Middleware dabei, sicherzustellen, dass Unternehmenssoftwaresysteme, einschließlich Plattformen für Enterprise Resource Planning (ERP), mit anderen Anwendungen integriert werden, um einen einheitlichen Überblick über die Betriebsabläufe zu erhalten. Dies trägt zur Optimierung und Rationalisierung von Wartung, Lieferkette, Qualitätssicherung und mehr bei.
KI-gestützte Automatisierung skaliert die Agilität über APIs, Apps, Events, Dateien und B2B/EDI hinweg.
Erschließen Sie Ihr Geschäftspotenzial mit IBM Integrationslösungen, die Anwendungen und Systeme für den schnellen und sicheren Zugriff auf wichtige Daten verbinden.
Schalten Sie neue Funktionen frei und steigern Sie die geschäftliche Agilität mit IBM Cloud Consulting Services. Entdecken Sie, wie Sie mit Hybrid-Cloud-Strategien und Expertenpartnerschaften gemeinsam Lösungen entwickeln, die digitale Transformation beschleunigen und die Leistung optimieren können.