Middleware

Definition

Middleware umfasst anwendungsunabhängige Technologien, die Dienstleistungen zur Vermittlung zwischen Anwendungen anbieten, so dass die Komplexität der zugrundeliegenden Applikationen und die Infrastruktur verborgen wird. Man kann Middleware auch als eine Verteilungsplattform, auffassen. In Three-tier Architecutre ist Middleware in der mittleren Schicht angesiedelt.

Aufgaben und Eigenschaften

Abstraktion von der Netzwerkprogramierung ist eine Aufgabe die grundsätzlich jede Middleware zu erfühlen hat.

  • Middleware organisiert den Transport komplexer Datenstrukturen 1), vermittelt Funktionsaufrufe zwischen den Komponenten (sog. Remote Procedure Calls), stellt die Transaktionssicherheit über ansonsten unabhängige Teilsysteme her (Funktion als Transaktions-Monitor) etc.
  • Technisch stellt sie Software-Schnittstellen und/oder Dienste bereit. Für die Kommunikation werden in der Regel gebräuchliche Netzwerk-Standardprotokolle (fast immer IP, darauf aufbauend z.B. HTTP, darauf aufbauend u.a. SOAP, Web Services verwendet).
  • Middleware bittet Abstraktion, welche einige komplexe Aspekte der Implementireung von Verteilten Anwendungs Systemen verbergen.

Middleware ist also eine (Software) Schicht auf einem Verteiltem System welche volgende Abstkationenseigenschaften (sog. Transparenzarten) für die Verteilten Anwendungs Systemen bitten kann.

Transparenzarten

Das Verbergen bzw. Abstrahieren wird in diesem Fall als Transparenz bezeichnet:

Die zentrallen2) sind:

  • Zugriffstransparenz: Der Zugriff auf einen entfernten Dienst oder Ressource unterscheidet sich nicht von einem Zugriff auf den Lokalen.
  • Ortstransparenz: Der Ort, an dem sich ein Dienst oder eine Ressource befindet ist dem Benutzer nicht bekannt. Der Zugriff kann z.B. über ein Namensdienst erfolgen.
  • Nebenläufigkeitstransparenz: Es ist mehreren Benutzer möglich, gleichzeitig auf die Dienste und Ressourcen zuzugreifen. Das System sorgt dafür, dass exklusive Zugriffe möglich sind, und Daten eventuell synchronisiert bzw. repliziert werden.
  • Fehler- und Ausfalltransparenz: Beim Ausfall eines Systems oder einer Netzwerkverbindung sollte der Anwender weiterarbeiten können, wenn auch mit verminderter Leistung.
  • Replikationstransparenz: Aus Performancegründen kann es mehrere Kopien derselben Ressource geben. Das System sorgt für die transparente Replikation der darin vorgenommenen Änderungen.

Ausserdem unterscheidet man noch:

  • Skalierungstransparenz: Das System soll flexibel bei der Erweiterung oder dem Austausch von Komponenten sein. Eine Systempflege oder Erweiterung soll ohne Ausfall möglich sein und ist sehr wichtig für die Verfügbarkeit von Verteilten Systemen.
  • Prozesstransparenz: Programme können beliebig zwischen den Knoten des Verteilten Systems verschoben werden. Idealerweise sorgt das System selbst für die Verschiebung von Prozessen auf weniger ausgelastete Knoten. Der Name und Ausführungsstatus eines Programmes darf sich dabei nicht ändern.
  • Leistungstransparenz: Den Benutzern steht die volle Leistung des Gesamtsystems zur Verfügung. Das System sorgt selbst dafür, dass die Aufgaben auf die verschiedenen Knoten optimal verteilt werden.
  • Migrationstransparenz: Das Verschieben von Objekten im Verteilten System soll für den Benutzer und die Anwendungen unbemerkt geschehen.
  • Sprachtransparenz: Die Kommunikation zwischen den Komponenten ist unabhängig von der jeweils verwendeten Programmiersprache.

Aufbau und Einordnung

Middleware Arten

Kommunikationsorientierte Middleware

Konzentriert sich auf die Abstraktion von der Netzwerkprogrammierung.

Anwendungsorientierte Middleware

Im Mittelpunkt steht neben der Kommunikation vor allem die Unterstützung verteilter Anwendungen. Beispiele sind sowohl allgemeine Architekturen, wie

als auch komplette Betriebssysteme, wie z.B.:

  • MIDP (Mobile Information Device Profile), Java-basiertes System für Mobiltelefone,
  • MHP (Multimedia Home Platform), Java-basiertes System für das interaktive Fernsehen.

Kommunikationsmodelle

Synchrone Kommunikation

FIXME

Assynchrone Kommunikation

FIXME

Middleware Themen

Links

1) sog. Messaging
de/middleware/middleware.txt · Last modified: %2008/%04/%26 %13:%Apr by aho
Translations of this page:
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0