Was ist Middleware?

3D-Rendering-Ausstellungshintergrund

Was ist Middleware?

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:

  • Nachrichtenvermittler oder Transaktionsverarbeitungsmonitore, die sich auf eine Kommunikationsart konzentrieren.
  • Webanwendungsserver oder Middleware für Mobilgeräte mit der gesamten Bandbreite an Kommunikations- und Konnektivitätsfunktionen, die zur Erstellung einer bestimmten Art von Anwendung erforderlich sind.
  • Cloudbasierte Integration Plattform als Service (iPaaS) oder ein Unternehmensservicebus (EBS), der als zentraler Integrationshub für die Verbindung aller Komponenten in einem Unternehmen fungiert.
  • Middleware, mit der Entwickler individuell konfigurierte Middleware erstellen können.

Die neuesten Tech-News – von Experten bestätigt

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.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

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.

Ursprung der Middleware

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

webMethods Hybrid Integration

Integration für das KI-Zeitalter neu gedacht

IBM Web Methods Hybrid Integration zeigt, wie Unternehmen Cloud- und lokale Anwendungen nahtlos miteinander verbinden und so eine agile und skalierbare digitale Transformation ermöglichen können. 

Funktionsweise von Middleware

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.

Middleware-Komponenten

Zu den Standardkomponenten der Middleware-Architektur gehören folgende:

  • Middleware-Verwaltungskonsole: Über die Verwaltungskonsole erhalten Entwickler einen Überblick über Ereignisse, Aktivitäten, Konfigurationen usw.
  • Client-Schnittstelle: Die Client-Schnittstelle am Front-End kommuniziert mit Anwendungen, Datenbanken, Microservices oder anderen Services am Back-End.
  • Interne Middleware-Schnittstelle: Über die interne Middleware-Schnittstelle können Middleware-Instanzen mithilfe eines speziellen Middleware-Protokolls miteinander kommunizieren.
  • Plattformschnittstelle: Die Plattformschnittstelle stellt eine Verbindung zu Back-End-Servern und verschiedenen Betriebssystemen her, damit 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 verhindert Zeitüberschreitungen.
  • Datenbank-Manager: Der Datenbankmanager ermöglicht die Integration in verschiedene Datenbanken auf der Grundlage spezifischer Anforderungen (z. B. On-Premises- oder Cloudbasierter 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.

Verbindungen und Integrationen konfigurieren und steuern

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.

Verbindungen und Datenübertragung schützen

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.

Den Datenverkehrs in verteilten Systemen dynamisch verwalten

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.

Bestehende Anwendungen optimieren

Middleware unterstützt Entwickler bei der Anwendungsmodernisierung, da sie monolithische Altanwendungen in Cloud-Anwendungen auf Basis einer Microservices-Architektur umwandelt.

Manuelle Aufgaben reduzieren

Mit Automatisierung durch Middleware können Entwickler komplexe IT-Aufgaben optimiert verwalten, um die Gesamteffizienz zu verbessern.

DevSecOps unterstützen

Middleware unterstützt DevSecOps-Methoden (DevSecOps steht für Development, Security, Operations), da Apps schneller erstellt und gleichzeitig Sicherheitsrisiken minimiert werden können.

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. Andere kombinieren Middleware-Funktionen für eine bestimmte Software-Entwicklungsaufgabe. Hier sind einige der bekanntesten und am häufigsten verwendeten Arten von Middleware-Software:

  • Nachrichtenorientierte Middleware (Message-oriented middleware, MOM)
  • RPC-Middleware (Remote Procedure Call)
  • Daten- oder Datenbank-Middleware
  • API-Middleware (Programmierschnittstelle)
  • ORB-Middleware (Object Request Broker)
  • Transaktionale Middleware
  • Asynchrone Datenstreaming-Middleware
  • Geräte-Middleware
  • Portal-Middleware
  • Robotik-Middleware
  • Middleware zur Integration von Unternehmensanwendungen

Nachrichtenorientierte Middleware (Message-oriented middleware, MOM)

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)

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

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 (Programmierschnittstelle)

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.

ORB-Middleware (Object Request Broker)

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

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

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

Geräte-Middleware bietet eine Reihe von Integrations- und Konnektivitätsfunktionen zur Entwicklung von Apps für mobile Betriebssysteme.

Portal-Middleware

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

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 Middleware für Plattformen.

Middleware zur Integration von Unternehmensanwendungen

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

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.

Was ist der Unterschied zwischen iPaaS und PaaS?

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.

Middleware und cloudnative Anwendungen

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.

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

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 webMethods Hybrid Integration

KI-gestützte Automatisierung skaliert die Agilität über APIs, Apps, Events, Dateien und B2B/EDI hinweg.

IBM webMethods Hybrid Integration erkunden
Integrationssoftware und -lösungen

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.

Erkunden Sie Cloud-Integrationslösungen
Cloud-Beratungsleistungen 

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.

Mehr über Cloud-Services
Machen Sie den nächsten Schritt

 

IBM webMethods Hybrid Integration bietet eine einheitliche Benutzeroberfläche und Steuerungsebene für Integrationsmuster, Anwendungen, APIs, B2B und Dateien und skaliert Agilität über Standorte, Umgebungen und Teams hinweg.

 

 

IBM webMethods Hybrid Integration erkunden Erleben Sie die Lösung in Aktion