Middleware
Middleware bezeichnet Softwareschichten zwischen Applikationen und Betriebssystem.
Aufgaben
- Abstraktion von verschiedenen Betriebssystem/Hardwareplatformen Heterogenitäten -Portabilität
- Abstraktion über Platformdetails
- Konfigurierkeit mit Service-Qualitäten (Quality of Service) (Konfigurierbarkeit bedeutet, das die selbe Softwarekomponete in verschiedenen Aufgabenbereichen wiederverwendet wird.
- Behandlung von allgemeinen Aspekten, Bereitstellung Anwendungsneutraler Dienste (z.B. Debug- und Fehlerlogging)
Wichtige Vorteile:
- Vereinfachung der Anwendungsentwicklung
D. Schmidt, R. Schanz: "Middleware for Distributed Systems"
- Früher hat eine Application auf dem Betriebssystem aufgebaut
- heute bauen sie auf der Middleware auf
- Middleware hat mehrere Schichten, wie Netzwerk-Protokoll Stacks
Beziehungen:
- Ablaufsysteme:
Sprachspezifische Mechanismen und Basisbibliotheken, die über das Betriebssystem abstrahieren.
- Virtuelle Maschinen bilden auch eine gewisse Abstraktion, die aber auch auch eine Middleware darstellt oder auch auf Middleware beruht.
- Sicherheit von Systemen beinhaltet Mechanismen zur Authentifikation und Authorisation, die auch ein Teilaspekt der Middleware ist.
- Applikationserver ist die Zusammensetzung von verschiedenen Middlewarediensten
Arten
Die Middlewaresysteme hängen eng mit Architekturen zusammen:
Weitere Stichworte:
- Reflexive Middleware
- automatische Erkennung der eigenen Fähigkeiten (Capabilibilities) und automatische Optimierung. Middeware und Applikationen können die Middleware inspiziern und zur Laufzeit anpassen.
- graceful degration: Im Fehlerfall läßt die Leitstung langsam nach, es ist ist nicht alles oder nichts
Sonstiges
Organisationen, die sich mit Middleware befassen
- OMG
- standardisieren Middleware (CORBA, DDS)
- OW2
- befassen sich mit Open Source Middleware und Infrastruktursoftware wie Cloud-Computing
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber