Startseite
Themen
middleware
Veröffentlicht: 31. Juli 2024
Mitwirkende: Stephanie Susnjara, Ian Smalley
Middleware ist eine Software, die eine oder mehrere Arten der Kommunikation oder Konnektivität zwischen Anwendungen oder Komponenten in einem verteilten Netzwerk ermöglicht und im Wesentlichen als „Software-Klebstoff“ fungiert, der verschiedene Systeme miteinander verbindet.
Middleware optimiert die Anwendungsentwicklung und verkürzt die Markteinführungszeit durch intelligente Funktionen, die Verbindungen zwischen Plattformen ermöglichen, die ursprünglich nicht für eine Verbindung ausgelegt waren.
Zu den verschiedenen Arten von Middleware gehören die folgenden:
Erfahren Sie, wie IBM WebSphere Automation dazu beitragen kann, Ihren Reifegrad für die Automatisierung des Middleware-Managements zu erhöhen und Kosten zu senken.
Der Begriff Middleware wurde erstmals in den späten 1960er Jahren eingeführt und entstand, weil die erste Version in der Regel als Vermittler zwischen einer Anwendungs-Frontend (Client) und einer Backend-Ressource (z. B. einer Datenbank, einer Mainframe-Anwendung oder einem spezialisierten Hardwaregerät) fungierte, von der ein Client Daten anfordern konnte. Als Reaktion auf die Zunahme des verteilten Rechnens in den 1980er Jahren wurde Middleware verstärkt eingesetzt, um neuere Anwendungen mit herkömmlichen Altsystemen zu verknüpfen.
Aber die heutige Middleware geht weit über diesen Bereich hinaus. Portal-Middleware umfasst beispielsweise das Anwendungs-Frontend sowie Tools für die Back-End-Konnektivität. Portal-Middleware umfasst beispielsweise das Anwendungs-Frontend sowie Tools für die Backend-Konnektivität.
Middleware hat sich zu einer wesentlichen Rolle in der modernen Entwicklung cloudnativer Anwendungen entwickelt. Es verwendet Container-Technologie, die es DevOps und anderen Teams ermöglicht, sich mit Ressourcen zu verbinden, die über Multicloud-Umgebungen verteilt sind. Dies unterstützt Continuous Integration (CI) und Continuous Delivery (CD) (CI/CD) und optimiert so die Codierung, das Testen und die Bereitstellung von Anwendungen für eine schnelle Skalierung und ein schnelles Geschäftswachstum.
Unternehmen nutzen Middleware zunehmend als cloudbasiertes Serviceangebot für die Kommunikation zwischen Systemen und als Datenmanagement-Tool. Eine Studie von Technavio prognostiziert für den globalen Markt für Middleware as a Service (MWaaS) einen Anstieg um 45,44 Milliarden US-Dollar bei einer jährlichen Wachstumsrate von 17,73 % zwischen 2023 und 2028. Die Studie führt dieses Wachstum auf die weit verbreitete Einführung von Cloud Computing und die Zunahme von Serverless Computing und Microservices zurück.1
Middleware ermöglicht es Entwicklern, Anwendungen zu erstellen, ohne eine benutzerdefinierte Integration zu erstellen, wenn sie eine Verbindung zu Anwendungskomponenten (Services oder Microservices), Datenquellen, Rechenressourcen oder Geräten herstellen müssen.
Middleware ermöglicht dies durch die Bereitstellung von Services, die es verschiedenen Anwendungen und Services ermöglichen, über gemeinsame Messaging-Frameworks wie JavaScript Object Notation (JSON), Representational State Transfer (REST), Extensible Markup Language (XML), Simple Object Access Protocol (SOAP) oder Webservices zu kommunizieren. In der Regel stellt Middleware auch Services bereit, die es in mehreren Sprachen geschriebenen Komponenten – wie Java, C++, PHP und Python – ermöglichen, miteinander zu kommunizieren.
Zu den Standardkomponenten der Middleware-Architektur gehören:
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 beispielsweise die Suchergebnisse aus einer Back-End-Bestandsdatenbank nach dem nächstgelegenen Standort des Geschäfts sortieren, basierend 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. Die Lösung ermöglicht Authentifizierungsfunktionen, wobei Front-End-Anwendungsanfragen nach Anmeldedaten (Benutzername und Passwort) oder digitalen Zertifikaten geprüft werden.
Wenn der Datenverkehr durch Anwendungen ansteigt, kann die Middleware des Unternehmens skaliert werden, um Client-Anfragen auf mehrere Server zu verteilen – On-Premises oder in der Cloud. Funktionen zur gleichzeitigen Verarbeitung können Probleme verhindern, wenn mehrere Clients gleichzeitig versuchen, auf dieselbe Back-End-Datenquelle zuzugreifen.
Middleware unterstützt Entwickler bei der Anwendungsmodernisierung, indem sie monolithische Legacy-Anwendungen in Cloud-Anwendungen umwandelt, die auf einer Microservices-Architektur basieren.
Automatisierung durch Middleware hilft Entwicklern, die Verwaltung komplexer IT-Aufgaben zu optimieren und zu automatisieren, um die Gesamteffizienz zu verbessern.
Middleware unterstützt DevSecOps-Methoden (DevSecOps steht für Development, Security und Operations), indem sie Teams dabei unterstützt, Apps schneller zu erstellen und gleichzeitig Sicherheitsrisiken zu minimieren.
Es gibt viele verschiedene Arten von Middleware. Einige konzentrieren sich auf bestimmte Arten von Konnektivität, andere auf bestimmte Anwendungen, Anwendungskomponenten und Geräte. Einige kombinieren Middleware-Funktionen für eine bestimmte Software-Entwicklungsaufgabe. Zu den bekanntesten und am häufigsten verwendeten Arten von Middleware-Software gehören die folgenden:
Die nachrichtenorientierte Middleware (MOM) ermöglicht es Anwendungskomponenten, die unterschiedliche Nachrichtenprotokolle verwenden, miteinander zu kommunizieren und Nachrichten auszutauschen. 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 weitergeleitet werden. Beispiele für MOM sind Nachrichtenwarteschlangen und Nachrichtenbroker.
Mit einer RPC-Middleware (Remote Procedure Call) kann eine Anwendung eine Prozedur in einer anderen Anwendung auslösen, die auf demselben Computer, einem anderen Computer oder in einem Netzwerk ausgeführt wird, als wären beide 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.
Die Middleware für die Anwendungsprogrammierschnittstelle (API) 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-Anwendungen enthalten Tools zur Monetarisierung von APIs, sodass verschiedene Unternehmen sie gegen eine Gebühr nutzen können. Beispiele für API-Middleware sind API-Verwaltungsplattformen, API-Gateways und API-Entwicklerportale.
Die Object Request Broker (ORB)-Middleware fungiert als Vermittler zwischen einer Anfrage von einem Anwendungsobjekt oder einer Komponente und der Erfüllung dieser Anfrage durch ein anderes Objekt oder eine andere Komponente im verteilten Netzwerk.
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 – das „Brokering“ kümmert sich während des Austauschs um diese Informationen.
Transaktions-Middleware bietet Services zur Unterstützung der Ausführung von Datentransaktionen in einem verteilten Netzwerk. Die bekannteste transaktionale Middleware sind Transaktionsverarbeitungsmonitore (TPMs), die Transaktionen von einem Schritt zum nächsten leiten – unter anderem durch den Datenaustausch und das Hinzufügen, Ändern oder Löschen von Daten, wo nötig – bis zum Abschluss.
Asynchrone Daten-Streaming-Middleware repliziert einen Datenstrom in einem Zwischenspeicher und ermöglicht so die gemeinsame Nutzung von Daten durch mehrere Anwendungen. Apache Kafka ist eines der bekanntesten Beispiele für Open-Source-Middleware-Plattformen für Echtzeit-Event-Streaming.
Geräte-Middleware bietet eine Reihe von Integrations- und Konnektivitätsfunktionen für die Entwicklung von Apps für ein bestimmtes mobiles Betriebssystem (OS).
Portal-Middleware bietet Tools und Ressourcen für die Integration von Inhalten und Funktionen aus verschiedenen verwandten Anwendungen „at the glass“ oder auf einem einzigen Bildschirm, um eine einzige zusammengesetzte Anwendung 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 Plattform-Middleware.
Eine Middleware für die Integration von Unternehmensanwendungen ermöglicht es einer Organisation, einen Unternehmens-Integrations-Hub einzurichten. Dies bietet eine standardisierte Möglichkeit, alle 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 für die Integration von Unternehmensanwendungen der Enterprise Service Bus (ESB), der als Integrationszentrum innerhalb einer serviceorientierten Architektur (SOA) diente.
Heute ermöglicht eine Integrationsplattform als Service (iPaaS) einem Unternehmen, Anwendungen, Daten, Prozesse und Dienste über eine Hybrid Cloud – die Kombination aus lokalen, Private-Cloud- und Public-Cloud-Umgebungen – miteinander zu verbinden. Das hilft Unternehmen, den Aufwand und die Kosten für den Kauf, die Installation, Verwaltung und Wartung der Integrations-Middleware (und der Hardware, auf der sie läuft) in ihrem eigenen Rechenzentrum zu vermeiden. Große Cloud-Service-Anbieter (CSPs) – Microsoft Azure, Google Cloud, Amazon Web Services (AWS) oder IBM Cloud – bieten alle iPaaS-Lösungen an.
Plattform-Middleware (oder Anwendungsplattform-Middleware) unterstützt die Anwendungsentwicklung. Sie beschleunigt die Anwendungsbereitstellung, indem sie eine Laufzeit-Hosting-Umgebung – wie eine Java-Laufzeitumgebung (Java RE), Container oder beides – für Anwendungs- oder Geschäftslogik bereitstellt. Plattform-Middleware kann Enterprise-Anwendungsserver, Webserver, Content-Management-Systeme (CMS) und andere oben aufgeführte Middleware-Typen umfassen oder kombinieren.
Sowohl Integration Platform as a Service (iPaaS) als auch Platform as a Service (PaaS) sind cloudbasierte Computerlösungen, die unterschiedlichen Zwecken dienen. Während iPaaS sich auf die Ermöglichung der Integration von Anwendungen, Geräten und Systemen konzentriert, bietet PaaS Unternehmen eine Plattform für die Erstellung, Ausführung und Verwaltung von Anwendungen.
PaaS ist eine beliebte Wahl für kleine Unternehmen und Start-ups mit begrenzten IT-Budgets, da es Teams ermöglicht, Apps kostengünstig zu erstellen, im Vergleich zur Erstellung interner Entwicklungsplattformen. 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.
Cloud-native ist ein Ansatz zur Anwendungsentwicklung, der grundlegende Cloud-Computing-Technologien nutzt, um eine konsistente Entwicklung, Bereitstellung und Verwaltung in Hybrid-Cloud-Umgebungen zu gewährleisten.
Heutige cloudnative Anwendungen basieren auf Microservices und werden in Containern bereitgestellt, die Kubernetes, eine weit verbreitete Container-Orchestrierungsplattform, verwenden.
Microservices sind lose gekoppelte Anwendungskomponenten, die ihren 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 leichtgewichtige Ausführungsaufgaben, die Anwendungscode, wie z. B. Microservices, zusammen mit genau den Betriebssystembibliotheken und Abhängigkeiten verpacken, die erforderlich sind, um diesen Code auf einer beliebigen Cloud- oder herkömmlichen IT-Infrastruktur auszuführen.
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 Gesundheitsdaten und deren sichere Weitergabe war schon immer 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.
Verwalten Sie Ihr API-Ökosystem über mehrere Clouds hinweg, einschließlich der Förderung von Sozialisierungs- und Monetarisierungsbemühungen.
Verbinden, automatisieren und erschließen Sie Geschäftspotenziale mit Software für Integrationsplattformen.
Erfahren Sie, wie IBM-Lösungen zur Anwendungsbereitstellung bei der Entwicklung neuer cloudnativer Anwendungen und der Modernisierung bestehender Apps helfen.
Bieten Sie Konnektivität für alle Ihre Apps und Daten mit umfassenden Integrationsmöglichkeiten.
Nachrichtenbroker sind eine anwendungsübergreifende Kommunikationstechnologie, die cloudnative, auf Mikroservices basierende, serverlose und hybride Cloud-Architekturen unterstützt.
iPaaS ist eine cloudbasierte Lösung, die die Integration in lokalen und Cloud-Umgebungen standardisiert und vereinfacht.
REST-APIs bieten eine flexible und schlanke Möglichkeit zur Integration von Anwendungen und haben sich als die gängigste Methode zur Verbindung von Komponenten in Microservices-Anwendungsarchitekturen herauskristallisiert.
API-Management ist der skalierbare Prozess der Erstellung, Veröffentlichung und Verwaltung von API-Verbindungen (Application Programming Interface) innerhalb eines Unternehmens und einer Multicloud-Umgebung.
Die Integration von maschinellem Lernen (ML) und künstlicher Intelligenz (KI) in die Entscheidungsoptimierung (DO) ist für die Effizienzsteigerung in Geschäftsprozessen von entscheidender Bedeutung.
Die Nutzung von Daten in Echtzeit ist für den Geschäftserfolg unerlässlich.
Alle Links befinden sich außerhalb von ibm.com
1 Middleware as a Service (MWAAS) Market Analysis North America, Europe, APAC, South America, Middle East and Africa – US, China, Japan, UK, Germany – Size and Forecast 2024-2028, Technavio, Januar 2024