Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Middleware

Middleware ist eine zusätzliche Schicht zwischen Betriebssystem und Anwendungen. Im Bereich der Computerspieleentwicklung werden hingegen Teilsysteme (oder auch …

Inhalt5 Abschnitte
  1. 1. Grundidee und Bedeutung
  2. 2. Funktionsweise
  3. 3. Technischer Ablauf und Protokolle
  4. 4. Wichtige Kategorien
  5. 5. Typische Produkte

Grundidee und Bedeutung

Middleware bezeichnet in der Informatik anwendungsneutrale Programme, die zwischen Anwendungen vermitteln. Sie sorgt dafür, dass Anwendungen miteinander arbeiten können, ohne dass jede Anwendung die ganze Komplexität der anderen Anwendung, des Netzwerks oder der technischen Infrastruktur kennen muss. Man kann Middleware auch als Verteilungsplattform verstehen: Sie bildet ein Protokoll oder Protokollbündel auf einer höheren Schicht als die gewöhnliche Rechnerkommunikation.

Im Unterschied zu einfachen Netzwerkdiensten, die vor allem die Kommunikation zwischen Rechnern ermöglichen, unterstützt Middleware die Kommunikation zwischen Prozessen. Sie liegt als zusätzliche Schicht zwischen Betriebssystem und Anwendungen. In der Computerspieleentwicklung wird der Begriff etwas anders verwendet: Dort bezeichnet Middleware oft Teilsysteme oder Subsysteme für bestimmte Bereiche, zum Beispiel Spielphysik, die häufig von Fremdentwicklern angeboten werden.

Funktionsweise

Middleware stellt in einem komplexen Softwaresystem eine Plattform dar, die als Dienstleister für andere Softwarekomponenten arbeitet. Diese Komponenten sind sonst voneinander entkoppelt, können aber über die Middleware Daten austauschen. Häufig geschieht dies über ein Netzwerk, das für die nutzenden Softwarekomponenten transparent gemacht wird. Transparent bedeutet hier: Die Komponenten müssen sich nicht direkt mit den technischen Details des Netzwerks beschäftigen.

Middleware arbeitet auf einem hohen Niveau im Schichtenmodell. Ihre Aufgabe ist nicht die Low-Level-Kommunikation einzelner Bytes, wie sie zum Beispiel ein Betriebssystem bereitstellt. Stattdessen organisiert sie den Transport komplexer Daten, also Messaging, vermittelt Funktionsaufrufe zwischen Komponenten, sogenannte Remote Procedure Calls, und kann Transaktionssicherheit über unabhängige Teilsysteme herstellen. In diesem Fall wirkt sie als Transaktions-Monitor.

Technischer Ablauf und Protokolle

Middleware-Software ist als Standardsoftware von mehreren Herstellern verfügbar. Technisch stellt sie Software-Schnittstellen oder Dienste bereit. Wenn eine Softwarekomponente A über Middleware mit einer Softwarekomponente B kommunizieren möchte, nutzt A diese Schnittstellen. Die Aufrufe werden dann von der Middleware über ein Netzwerk weitergeleitet.

Dabei werden in der Regel verbreitete Netzwerk-Standardprotokolle verwendet: fast immer IP und TCP, darauf aufbauend meist HTTP, und darauf aufbauend unter anderem SOAP oder Web Services. Auf der Empfängerseite setzt die Middleware die Anforderung in einen Funktionsaufruf an Software B um. Falls Software B eine Antwort liefert, leitet die Middleware diese Antwort auf demselben Weg an Software A zurück.

Ein Nachteil von Middleware kann ihre Größe und Schwerfälligkeit sein. Außerdem ist eine Optimierung der Leistungsfähigkeit solcher Programme durch den Programmierer nur selten möglich.

Wichtige Kategorien

Eine grobe Unterteilung unterscheidet mehrere Middleware-Kategorien. Anwendungsorientierte Middleware unterstützt neben der Kommunikation vor allem verteilte Anwendungen. Beispiele sind allgemeine Architekturen wie CORBA, Jakarta EE oder das .Net-Framework sowie komplette Betriebssysteme wie MHP, die Multimedia Home Platform für interaktives Fernsehen, und MIDP, das Mobile Information Device Profile für Mobiltelefone. Beide genannten Systeme sind Java-basiert.

Kommunikationsorientierte Middleware hat ihren Schwerpunkt in der Abstraktion von Netzwerkprogrammierung. Sie vereinfacht also den Umgang mit Netzwerkkommunikation. Beispiele sind RPC, RMI und Web Service.

Nachrichtenorientierte Middleware arbeitet nicht über Methoden- oder Funktionsaufrufe, sondern über den Austausch von Nachrichten, sogenannten Messages. Das Nachrichtenformat wird von der eingesetzten Middleware vorgegeben. Sie kann synchron oder asynchron arbeiten. Bei einer asynchronen Variante werden Nachrichten in eine Warteschlange gestellt: Ein Message-Produzent legt Nachrichten dort ab, ein Konsument kann sie später konsumieren. Vorteile sind die vollständige Entkopplung von Sender und Empfänger sowie die Möglichkeit, dass Anwendungen weiterarbeiten können, wenn Teilkomponenten ausgefallen sind. Eine Architektur für nachrichtenorientierte Middleware gibt zum Beispiel JMS vor.

Typische Produkte

Zu typischen Middlewareprodukten oder Technologien zählen unter anderem ColdFusion von Adobe, Application Link Enabling von SAP, CORBA von der Object Management Group, D-Bus vom freedesktop.org-Projekt, Enterprise Service Bus von Oracle, WildFly Application Server von Red Hat JBoss, MQSeries und CICS von IBM, SAP Process Integration von SAP, TIBCO, WebSphere Application Server von IBM und webMethods von der Software AG.

Weitere im Artikel genannte Beispiele sind Element von ENEA, Lobster_data von LOBSTER DATA GmbH, MIDbridge von MID Technologien GmbH, EAI-Produkte mit Middleware-Funktionalität, E2E Bridge Integrations Middleware, Fusion von Oracle, Membrain Real Time Connector, ObjectBroker von BEA Systems, Orchestra als Message Oriented Middleware, Transconnect, Transparent Inter Process Communication, VisiBroker, BusinessWare, X-Gen, xmlBlaster, OPC Router als Industrie-4.0-Middleware und ADAPTIVE Communication Environment.

Weiterlesen

Englische Sprache Die englische Sprache (Eigenbezeichnung: [ˈɪŋɡlɪʃ]) ist eine ursprünglich in England beheimatete germanische Sprache, die zum westgermanischen Zweig gehört. Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Netzwerkprotokoll Ein Netzwerkprotokoll (auch Netzprotokoll) ist ein Kommunikationsprotokoll für den Austausch von Daten zwischen Computern bzw. Prozessen, die in einem … Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Rechnernetz Ein Rechnernetz, Computernetz oder Computernetzwerk ist ein Zusammenschluss verschiedener technischer, primär selbstständiger elektronischer Systeme … Betriebssystem Betriebssysteme bestehen in der Regel aus einem Kernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start … Internet Protocol Das Internet Protocol (IP; deutsch Internetprotokoll) ist ein in Rechnernetzen weit verbreitetes Netzwerkprotokoll und stellt durch seine Funktion die … Transmission Control Protocol Das Transmission Control Protocol (TCP, englisch für „Übertragungssteuerungsprotokoll“) ist ein Netzwerkprotokoll, das definiert, auf welche Art und Weise … Hypertext Transfer Protocol Das Hypertext Transfer Protocol (HTTP; englisch für Hypertext-Übertragungsprotokoll) ist ein 1991 eingeführtes zustandsloses Protokoll zur Übertragung von … Synchrone Kommunikation Unter synchroner Kommunikation versteht man in der Informatik und Netzwerktechnik einen Modus der Kommunikation, bei dem die Kommunikationspartner (Prozesse) … Warteschlange Dieser Artikel beschreibt die allgemeine Bedeutung einer Warteschlange, zur Bedeutung in der Informatik siehe Warteschlange (Datenstruktur). Eine Warteschlange … Verteiltes System Ein verteiltes System ist ein Zusammenschluss unabhängiger Recheneinheiten (Knoten), die sich für den Benutzer als ein einziges System präsentieren; …