Startseite

Themen

middleware

Was ist Middleware?
Entdecken Sie die Middleware-Lösung von IBM Melden Sie sich für Cloud-Updates an
Abbildung, die den Einsatz von Middleware zur Beschleunigung der Entwicklung verteilter Anwendungen durch Vereinfachung der Konnektivität zeigt

Veröffentlicht: 31. Juli 2024
Mitwirkende: Stephanie Susnjara, Ian Smalley

Was ist Middleware?

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:

  • Nachrichtenvermittler oder Transaktionsverarbeitungsmonitore, die sich auf eine Art der Kommunikation konzentrieren.
  • Webanwendungsserver oder Middleware für Mobilgeräte, die die gesamte Bandbreite an Kommunikations- und Konnektivitätsfunktionen bieten, die für die Erstellung einer bestimmten Art von Anwendung erforderlich sind.
  • Middleware, mit der Entwickler ihre eigene angepasste Middleware erstellen können.
Modernisierung des IT-Betriebs – Transformation des Managements von Middleware-Technologien

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.

Ähnliche Inhalte Registrieren und Leitfaden zur Hybrid Cloud lesen
Ursprünge der Middleware

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

Wie funktioniert Middleware?

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.

Middleware-Komponenten

Zu den Standardkomponenten der Middleware-Architektur gehören:

  • Middleware-Verwaltungskonsole: Die Verwaltungskonsole bietet Entwicklern einen Überblick über Middleware-Ereignisse, -Aktivitäten, -Konfigurationen usw.
  • Client-Schnittstelle: Die Client-Schnittstelle am Front-End kommuniziert mit Back-End-Anwendungen, Datenbanken, Microservices oder anderen Services.
  • Interne Middleware-Schnittstelle: Die interne Middleware-Schnittstelle ermöglicht es Middleware-Instanzen, über ein spezielles Middleware-Protokoll miteinander zu kommunizieren.
  • Plattformschnittstelle: Die Plattformschnittstelle stellt eine Verbindung zu Back-End-Servern und verschiedenen Betriebssystemen (OSs) her und stellt so sicher, dass die Middleware plattformübergreifend funktioniert.
  • Vertragsmanager: Der Vertragsmanager definiert die Datenaustauschregeln, denen die Anwendungen folgen müssen.
  • Sitzungsmanager: Der Sitzungsmanager gewährleistet eine sichere Kommunikation zwischen Middleware und Anwendungen und stellt sicher, dass es zu keiner Zeitüberschreitung kommt.  
  • Datenbank-Manager: Der Datenbankmanager ermöglicht die Integration mit verschiedenen Datenbanken auf der Grundlage spezifischer Anforderungen (z. B. On-Premise- oder cloudbasierte Daten).
  • Laufzeitüberwachung: Die Laufzeitüberwachung verfolgt alle Middleware-Datenbewegungen und erstellt Aktivitätsberichte für Softwareentwickler.
Middleware-Anwendungsfälle für Softwareentwickler

Neben der Bereitstellung arbeitssparender Interoperabilität unterstützen Middleware-Services Softwareentwickler auf folgende Weise.

Konfigurieren und Steuern von Verbindungen und Integrationen

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.

Sichere Verbindungen und Datenübertragung

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. 

Dynamisches Verwalten des Datenverkehrs über verteilte Systeme hinweg

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.

Bestehende Anwendungen optimieren

Middleware unterstützt Entwickler bei der Anwendungsmodernisierung, indem sie monolithische Legacy-Anwendungen in Cloud-Anwendungen umwandelt, die auf einer Microservices-Architektur basieren.

Reduzieren manueller Aufgaben

Automatisierung durch Middleware hilft Entwicklern, die Verwaltung komplexer IT-Aufgaben zu optimieren und zu automatisieren, um die Gesamteffizienz zu verbessern.

Unterstützt DevSecOps

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.

Arten von Middleware

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:

 

  • Nachrichtenorientierte Middleware (Message-oriented middleware, MOM)
  • RPC-Middleware (Remote Procedure Call).
  • Daten- oder Datenbank-Middleware
  • Programmierschnittstellen-Middleware (Application Programming Interface, API)
  • Object Request Broker (ORB) Middleware
  • Transaktionale Middleware
  • Asynchrone Datenstreaming-Middleware
  • Geräte-Middleware
  • Portal-Middleware
  • Robotik-Middleware
  • Middleware für die Integration von Unternehmensanwendungen
Nachrichtenorientierte Middleware (Message-oriented middleware, MOM)

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.

RPC-Middleware (Remote Procedure Call).

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

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.

Programmierschnittstellen-Middleware (Application Programming Interface, API)

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.

Object Request Broker (ORB) Middleware

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.

Transaktionale Middleware

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 Datenstreaming-Middleware

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

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

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

Robotik-Middleware vereinfacht die Integration von Roboterhardware, -firmware und -software verschiedener Hersteller und Standorte.

Middleware-Kategorien

Es gibt zwei grundlegende Klassen von Middleware: Middleware für Unternehmensanwendungen und Plattform-Middleware.

Middleware für die Integration von Unternehmensanwendungen

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

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.

Was ist der Unterschied zwischen iPaaS und PaaS?

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.

Middleware und cloudnative Anwendungen

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. 

Branchenanwendungsfälle für Middleware
Gaming

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.

Finanzdienstleistungen

Bei Finanzinstituten integriert Middleware Anwendungen und Kundendatenbanken, um digitale Bankdienstleistungen einschließlich der Transaktionsverarbeitung in Echtzeit zu unterstützen.

Gesundheitswesen

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

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.

Herstellung

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.

Weiterführende Lösungen
IBM API Connect

Verwalten Sie Ihr API-Ökosystem über mehrere Clouds hinweg, einschließlich der Förderung von Sozialisierungs- und Monetarisierungsbemühungen.

IBM API Connect entdecken
IBM Integrationssoftware und -lösungen

Verbinden, automatisieren und erschließen Sie Geschäftspotenziale mit Software für Integrationsplattformen.

IBM Integrationssoftware und -lösungen erkunden
Lösungen für die Anwendungsbereitstellung

Erfahren Sie, wie IBM-Lösungen zur Anwendungsbereitstellung bei der Entwicklung neuer cloudnativer Anwendungen und der Modernisierung bestehender Apps helfen.

Lösungen für die Anwendungsbereitstellung erkunden
IBM iPaaS-Lösungen

Bieten Sie Konnektivität für alle Ihre Apps und Daten mit umfassenden Integrationsmöglichkeiten.

Erkunden Sie IBM iPaaS Lösungen
Ressourcen Was ist ein Message Broker?

Nachrichtenbroker sind eine anwendungsübergreifende Kommunikationstechnologie, die cloudnative, auf Mikroservices basierende, serverlose und hybride Cloud-Architekturen unterstützt.

Was ist iPaaS (Integration Platform as a Service)?

iPaaS ist eine cloudbasierte Lösung, die die Integration in lokalen und Cloud-Umgebungen standardisiert und vereinfacht.

Was ist eine REST-API?

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.

Was ist API Management?

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.

Beschleunigen Sie die Effizienzsteigerung mit Optimierung und KI

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.

Echtzeitdaten bringen einen geschäftlichen Mehrwert in Echtzeit

Die Nutzung von Daten in Echtzeit ist für den Geschäftserfolg unerlässlich.

Machen Sie den nächsten Schritt

Verwenden Sie IBM API Connect, um Unternehmens-APIs über ihre gesamten Lebenszyklen hinweg zu sichern und zu verwalten. Es hilft Ihnen und Ihren Kunden, Unternehmens-APIs konsistent zu erstellen, zu verwalten, zu sichern, zu sozialisieren und zu monetarisieren, und ist ebenfalls als hoch skalierbare API Management-Plattform auf IBM Marketplace und AWS verfügbar.

API Connect entdecken Buchen Sie eine Live-Demo