MiddlewareMiddleware bezeichnet zunächst das allgemeine Abstraktionskonzept einer Softwareschicht, die zwischen heterogenen, auf unterschiedlichen Plattformen laufenden und über Netzwerke verbundenen Anwendungssystemen und Datenquellen vermittelt und so eine Integration zu unternehmens-/ organisationsübergreifenden Anwendungen ermöglicht (siehe Abbildung 1). Darüber hinaus wird auch die Klasse aller verfügbaren Software-Technologien, die in irgendeiner Form zur Erfüllung dieser Funktion beitragen, als Middleware bezeichnet.
"Metadata is data about data; Middleware is software about software." [Gall] Abb. 1: Middleware als abstrakte Zwischenschicht Entwicklungsgeschichte und MotivationHinter der Idee der Middleware steht die Kernproblematik der Integration von proprietären, für unterschiedliche Zwecke entwickelten, verteilten und auf unterschiedlichen Hardware/Software-Plattformen laufenden Anwendungen – sog. Legacy-Applikationen – und deren Daten. Gerade im Internetzeitalter, wo es zunehmend gilt, aus bestehenden Funktionen und Bausteinen, die in einzelnen Anwendungen realisiert sind, ganzheitliche, integrierte Gesamtanwendungen zu entwickeln, werden SW-Konzepte und -Technologien benötigt, die eine fortlaufende Anpassung und Weiterentwicklung ermöglichen und von den Details der jeweiligen Realisierung abstrahieren. Wesentliches Ziel von Middleware ist somit die Beherrschung der Komplexität bei verteilten Anwendungssystemlandschaften durch Einführung einer einheitlichen abstrakten Zwischenschicht. Anforderungen und KernfunktionenMiddleware muss allgemein eine Reihe von Diensten und Schnittstellenfunktionen anbieten, die es verteilten Applikationen/Prozessen erlauben, über Netzwerkgrenzen hinweg zu interagieren und zu kooperieren. Wichtige Aspekte hierbei sind:
KategorienDa Middleware mehr für ein Abstraktionskonzept als für eine bestimmte Technologie steht, besteht keine völlig geschlossene und einheitliche Beschreibung und Eingrenzung der damit bezeichneten Ansätze. Grundsätzliche Möglichkeiten der Unterscheidung von Middleware sind proprietäre gegenüber standardbasierten sowie asynchrone gegenüber synchronen Ansätzen.
LiteraturBritton, Chris ; Bye, Peter: IT Architectures and Middleware: Strategies for Building Large, Integrated Systems. Amsterdam : Addison-Wesley, 2004 Gall, Nick: The Origin (Coining) of the Term "Middleware" http://ironick.typepad.com/ironick/2003/11/the_origin_coin.html (Abruf 30.08.2011) Kaib, Michael: Enterprise Application Integration. Wiesbaden : Deutscher Universitäts-Verlag, 2002 Linthicum, David S.: Enterprise Application Integration. Amsterdam : Addison-Wesley, 2000 Naur, Peter ; Randell, Brian (Ed.): NATO Software Engineering Conference, Garmisch 1968, NATO Scientific Affairs Division, Brussels Autor![]() Prof. Dr.-Ing. Andreas Karcher, Professur für Softwarewerkzeuge und Methoden für integrierte Anwendungen, Fakultät für Informatik, Universität der Bundeswehr, Werner-Heisenberg-Weg 39, D-85577 Neubiberg |