Was ist Middleware?

Middleware ist eine Software, mit der verschiedene Anwendungen miteinander kommunizieren. Sie bietet Funktionen zur intelligenten und effizienten Verknüpfung von Anwendungen, damit Sie schneller innovieren können. Middleware fungiert als Brücke zwischen verschiedenen Technologien, Tools und Datenbanken, so dass diese nahtlos in ein einziges System integriert werden können. Das zentrale System bietet seinen Benutzern somit einen umfassenden Service. So sendet und empfängt beispielsweise eine Windows-Frontend-Anwendung Daten von einem Linux-Backend-Server, ohne dass die Benutzer der Anwendung den Unterschied bemerken.

Warum ist Middleware wichtig?

Middleware begann als Brücke zwischen neuen Anwendungen und Legacy-Systemen, bevor sie in den 1980er Jahren an Popularität gewann. Entwickler verwendeten sie zunächst, um neue Programme in frühere Systeme zu integrieren, ohne den früheren Code neu zu schreiben. Middleware ist zu einem wichtigen Tool für Kommunikation und Datenverwaltung in verteilten Systemen geworden.

Entwickler verwenden Middleware, um die Anwendungsentwicklung zu unterstützen und Designprozesse zu vereinfachen. Dadurch können sie sich auf die Geschäftslogik und Funktionen konzentrieren, anstatt auf die Konnektivität zwischen verschiedenen Softwarekomponenten. Ohne Middleware müssten Entwickler für jede Softwarekomponente, die sich mit der Anwendung verbindet, ein Datenaustausch-Modul entwickeln. Dies ist eine Herausforderung, da moderne Anwendungen aus mehreren Microservices oder kleinen Softwarekomponenten bestehen, die miteinander kommunizieren. 

Was sind die Anwendungsfälle für Middleware?

Im Folgenden sind die häufigsten Anwendungsfälle für Middleware aufgeführt:

Spieleentwicklung

Spieleentwickler verwenden Middleware als Spiele-Engine. Damit ein Spiel funktioniert, muss die Software mit verschiedenen Bild-, Audio- und Videoservern sowie mit Kommunikationssystemen kommunizieren. Die Spiele-Engine erleichtert diese Kommunikation und macht die Spieleentwicklung effizienter.

Elektronik

Elektronik-Ingenieure verwenden Middleware, um verschiedene Arten von Sensoren in ihre Controller zu integrieren. Die Middleware-Schicht ermöglicht es Sensoren, über ein gemeinsames Messaging-Framework mit dem Controller zu kommunizieren. 

Softwareentwicklung

Softwareentwickler verwenden Middleware, um verschiedene Softwarekomponenten in andere Anwendungen zu integrieren. Middleware bietet eine standardmäßige Programmierschnittstelle (API), um die erforderliche Ein- und Ausgabe von Daten von der Komponente zu verwalten. Die interne Verknüpfung mit der Komponente bleibt dem Benutzer verborgen. Entwickler verwenden die APIs, um die Services anzufordern, die sie von den Softwarekomponenten benötigen. 

Datenübertragung

Softwareanwendungen verwenden Middleware, um Datenströme zuverlässig zu senden und zu empfangen. Datenströme sind eine Hochgeschwindigkeits-Übertragung kontinuierlicher Daten. Sie sind wichtig für zuverlässiges Video- und Audio-Streaming.

Verteilte Anwendungen

Verteilte Anwendungen sind Softwareprogramme, die auf verschiedenen Computern in einem Netzwerk ausgeführt werden. Sie bestehen normalerweise aus Frontend- und Backend-Anwendungen. Frontend-Anwendungen sind Software, die Sie auf einem Computer oder Mobilgerät verwenden, z. B. eine App für soziale Medien. Im Gegensatz dazu sind Backend-Anwendungen Softwareprogramme, die Aufgaben der Datenverarbeitung, Geschäftslogik und Ressourcenverwaltung übernehmen. Middleware kommuniziert zwischen den Frontend- und Backend-Anwendungen, sodass die verteilte Anwendung reibungslos funktioniert.

Was ist Middleware-Architektur?

Die Middleware-Softwarearchitektur besteht aus mehreren Komponenten, die kommunizieren, um eine Data Pipeline zu erstellen. Die Daten werden über die Middleware von einer Verbindungsanwendung zur anderen verschoben. Die Middleware verarbeitet die Daten für die Kompatibilität. Die folgenden sind allgemeine Komponenten von Middleware-Software:

Managementkonsole

Die Managementkonsole bietet Softwareentwicklern einen Überblick über die Aktivitäten, Softwareregeln und Konfigurationen des Middleware-Systems.

Client-Schnittstelle

Die Client-Schnittstelle ist der äußere Teil der Middleware-Software, die mit den Anwendungen kommuniziert. Entwickler verwenden Funktionen, die von der Client-Schnittstelle bereitgestellt werden, um mit anderen Anwendungen, Datenbanken oder anderen Microservices zu interagieren.

Interne Middleware-Schnittstelle

Die interne Schnittstelle der Middleware fungiert als Softwarekleber, der die verschiedenen Komponenten miteinander verbindet. Die Middleware-Komponenten verwenden die interne Schnittstelle, um kohärent mit ihrem eigenen Protokoll zu funktionieren. 

Plattformschnittstelle

Die Middleware-Schnittstelle stellt sicher, dass das Middleware-Programm mit verschiedenen Plattformen kompatibel ist. Sie enthält Softwarekomponenten, die mit verschiedenen Arten von Betriebssystemen funktionieren. 

Vertragsmanager

Der Vertragsmanager definiert die Regeln für den Datenaustausch im Middleware-System. Er stellt auch sicher, dass Anwendungen sich an die Regeln halten, wenn sie Daten mit der Middleware senden. Er sendet eine Warnung oder eine Ausnahme an die Anwendung, wenn bestimmte Regeln verletzt werden. Beispielsweise gibt der Vertragsmanager eine Ausnahme zurück, wenn die Anwendung eine Zahl sendet, obwohl ein Wort erwartet wird. 

Session Manager

Session Manager richtet einen sicheren Kommunikationskanal zwischen Anwendungen und der Middleware ein. Er stellt einen reibungslosen Kommunikationsfluss sicher und speichert Datenaktivitäts-Akten für die Berichterstellung. 

Datenbankmanager

Einige Arten von Middleware enthalten auch einen Datenbankmanager. Der Datenbankmanager ist bei Bedarf für die Integration mit verschiedenen Datenbanktypen verantwortlich. 

Laufzeitüberwachung

Die Laufzeitüberwachung bietet eine kontinuierliche Überwachung der Datenbewegungen in der Middleware. Sie erkennt und meldet ungewöhnliche Aktivitäten an Entwickler. 

Wie funktioniert Middleware?

Middleware abstrahiert den zugrunde liegenden Kommunikationsprozess zwischen Komponenten. Das bedeutet, dass die Frontend-Anwendung nur mit der Middleware kommuniziert und nicht die Sprache anderer Backend-Softwarekomponenten lernen muss. 

Messaging-Framework

Ein Messaging-Framework erleichtert den Datenaustausch zwischen Frontend- und Backend-Anwendungen. Zu den gängigen Frameworks gehören die folgenden:

  • JavaScript Object Notation (JSON)
  • Representational State Transfer (REST API)
  • Extensible Markup Language (XML)
  • Webservices
  • Simple Object Access Protocol (SOAP) 

Die Messaging-Frameworks bieten eine gemeinsame Kommunikationsschnittstelle für Anwendungen in verschiedenen Betriebsplattformen und Sprachen. Anwendungen schreiben und lesen Daten in einem standardisierten Format, das vom Messaging-Framework bereitgestellt wird. 

Beispiel von Middleware

Ein Webserver ist beispielsweise eine Middleware, die Websites mit der Backend-Datenbank verbindet. Wenn Sie ein Formular auf einer Website senden, sendet Ihr Computer die Anforderung in XML oder JSON an den Webserver. Dann führt der Webserver die Geschäftslogik basierend auf der Anforderung aus, ruft Informationen aus Datenbanken ab oder kommuniziert mit anderen Microservices unter Verwendung verschiedener Protokolle.

Andere Middleware-Funktionen

Abgesehen davon, dass sie ein Vermittler zwischen Softwareanwendungen sind, tun Middleware-Programme auch Folgendes:

  • Einen sicheren Kommunikationskanal zwischen verteilten Anwendungen bereitstellen, damit Websites vertrauliche Informationen sicher an Backend-Anwendungen senden können. 
  • Den Verkehrsfluss verwalten und die Überlastung einer bestimmten Anwendung oder eines Dateiservers vermeiden.
  • Antworten auf die Anforderung automatisieren und anpassen. Beispielsweise sortiert und filtert die Middleware die Ergebnisse, bevor sie sie an die Frontend-Anwendung sendet.

Was ist Plattform-Middleware?

Plattform-Middleware unterstützt die Anwendungsentwicklung, indem sie ein System verwalteter Tools und Ressourcen bereitstellt. Entwickler verwenden Plattform-Middleware, um Ressourcen zwischen Anwendungen freizugeben oder zu übertragen. Im Folgenden finden Sie einige Beispiele für Plattform-Middleware-Ressourcen:

Laufzeitumgebungen

Eine Laufzeitumgebung ist wie ein kleines Betriebssystem, das die Ausführung eines Softwareprogramms ermöglicht. Beispielsweise müssen Java-Anwendungen in der Java-Laufzeitumgebung ausgeführt werden. Entwickler können mit AWS Lambda eine Laufzeitumgebung für jede Programmiersprache einrichten. 

Webserver

Ein Webserver ist ein Computerprogramm, das Anforderungen von Websites empfängt, verarbeitet und beantwortet. Webentwickler verwenden Amazon Lightsail zum Hosten und Verwalten von Webservern für einfache Anwendungen. 

Content-Management-Systeme

Das Content-Management-System ist eine Software, die digitale Informationen erstellt, modifiziert, speichert und veröffentlicht. WordPress ist beispielsweise ein Open-Source-Content-Management-System zum Entwickeln von Websites. 

Container

Ein Container ist ein einsatzbereites Paket aus Anwendungscodes und erforderlichen Ressourcen. Entwickler verwenden Amazon Elastic Container Service (Amazon ECS), um containerisierte Anwendungen bereitzustellen, zu verwalten und zu skalieren. 

Welche Arten von Middleware gibt es?

Entwickler verwenden Middleware für verschiedene Zwecke in der Softwareentwicklung. Im Folgenden sind gängige Arten von Middleware aufgeführt:

Middleware für die Integration von Unternehmensanwendungen

Middleware für die Integrations von Unternehmensanwendungen verbindet alle Softwaresysteme, Services und Datenquellen innerhalb einer Organisation. Unternehmensanwendungen verwenden diese Middleware, um Informationen auszutauschen, ohne die Netzwerk- oder Datenbankkonfigurationen zu ändern. 

Datenbankorientierte Middleware

Datenorientierte oder datenbankorientierte Middleware erleichtert die Übertragung von Daten zwischen Anwendungen und verschiedenen Arten von Datenbanken.

Nachrichtenorientierte Middleware

Nachrichtenorientierte Middleware (MOM) kann die Kommunikation zwischen den Softwarekomponenten auf einem verteilten Computersystem unterstützen.

Transaktions-Middleware

Transaktions-Middleware, wie z. B. die Prozessüberwachung für Transaktionen, stellt sicher, dass jeder Schritt in einem Software-Transaktionsprozess korrekt ausgeführt wird. 

Inhaltsorientierte Middleware

Anwendungen verwenden inhaltsorientierte Middleware, um Inhalte zu veröffentlichen oder abzurufen, ohne den zugrunde liegenden Speichermechanismus zu entwickeln.

Remote Procedure Call Middleware

Ein Softwareprogramm verwendet Remote Procedure Call (RPC)-Middleware, um den Service eines anderen Programms innerhalb desselben Netzwerks zu nutzen.

Geräte-Middleware

Geräte-Middleware stellt die notwendigen Ressourcen für Entwickler bereit, um mobile Anwendungen auf bestimmten mobilen Geräten zu entwickeln, wie z. B. Konnektivitäts-Frameworks und -Bibliotheken. 

Objektanforderungs-Middleware

Anwendungen verwenden einen Objektanforderungs-Broker oder eine Objektanforderungs-Middleware, um Anforderungen zu senden, ohne zu wissen, wo die Zielanwendung gehostet wird.

Anwendungsserver-Middleware

Entwickler verwenden Anwendungsserver-Middleware, um Unternehmensanwendungen zu entwickeln, bereitzustellen, zu verwalten und mit den Backend-Anwendungsservern zu verbinden.

Eingebettete Middleware

Eingebettete Middleware fungiert in eingebetteten Systemen als Brücke zwischen Anwendungen und dem Betriebssystem. Eingebettete Systeme sind Elektronikprodukte, die mit einem Microcontroller arbeiten. 

API-Management-Middleware

Entwickler verwenden API-Management-Middleware, um APIs zu erstellen und ihre Verwendung durch andere Entwickler zu erleichtern. 

Asynchrone Datenstreaming-Middleware

Middleware für asynchrones Datenstreaming unterstützt Echtzeit-Datenstreaming zwischen verteilten Systemen.

Roboter-Middleware

Ingenieure verwenden Roboter-Middleware, um verschiedene Arten von Robotern unabhängig von ihrer Hardware, Firmware und ihrem Hersteller zu integrieren. 

Was ist Middleware im Cloud Computing?

Cloud Computing umfasst das Entwickeln und Bereitstellen von cloudnativen Anwendungen über verschiedene Infrastrukturen hinweg. Entwickler verwenden Middleware, um auf Cloud-Ressourcen zuzugreifen, ohne von der Komplexität der Verwaltung der Infrastrukturen überwältigt zu werden. Entwickler stellen Cloud-Anwendungen in Containern auf einem skalierbaren cloudbasierten Hosting wie Amazon Elastic Compute Cloud (Amazon EC2) bereit.

Einführung in Amazon EC2

Wie unterstützt AWS die Middleware-Technologie?

Application Integration on AWS ist eine Suite von Services, die eine kostengünstige Alternative zu herkömmlicher Middleware für Cloud Computing darstellen. Entwickler verwenden die Services, um zwischen entkoppelten Komponenten innerhalb von Microservices, verteilten Systemen und Serverless-Anwendungen zu kommunizieren. Zum Beispiel:

  • AWS Step Functions ist ein visueller Workflow-Service, der es Entwicklern ermöglicht, mithilfe von AWS-Services verteilte Anwendungen zu entwickeln, IT- und Geschäftsprozesse zu automatisieren und Pipelines für Daten und Machine Learning zu entwickeln.
  • Amazon Simple Notification Service (Amazon SNS) ist eine Alternative zu nachrichtenorientierter Middleware. Es stellt Messaging-Services für Anwendungen bereit.
  • Amazon EventBridge ist ein Serverless-Ereignisbus, den Entwickler verwenden, um Cloud-Anwendungen mit AWS-Services zu integrieren.  

Beginnen Sie mit Middleware auf AWS, indem Sie noch heute ein AWS-Konto erstellen.

Nächste Schritte mit Middleware

Standard Product Icons (Features) Squid Ink
Schauen Sie sich zusätzliche produktbezogene Ressourcen an
Erfahren Sie mehr über die AWS-Unterstützung für Middleware-Technologie 
Sign up for a free account
Registrieren Sie sich für ein kostenloses Konto

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.

Kostenloses Konto erstellen 
Standard Product Icons (Start Building) Squid Ink
Beginnen Sie mit der Entwicklung in der Konsole

Beginnen Sie mit der Entwicklung mit Amazon EC2 in der AWS-Managementkonsole.

Anmelden