| |
Einleitung: Motivation der Studienarbeit
Wer heute Software für vernetzte Systeme entwickeln will, stößt auf eine Vielzahl von Me-
chanismen, Algorithmen, Standards und Produkten, die ihm dabei hilfreich sein können. Die
Auswahl der richtigen Technologie ist schwierig. Eine der Erkenntnisse der vergangenen Jahre
der Informatik ist, dass Systeme, die mit unterschiedlichen Technologien entwickelt worden
sind, häufig nur schwer, unter unverhältnismäßig hohem Aufwand oder sogar überhaupt nicht
zur Zusammenarbeit zu bewegen sind. Das Bedürfnis, solche verschiedenartigen Systeme zu
verbinden, hat zur Entstehung der sogenannten Middleware-Schicht geführt. Der Vorteil einer
Middleware-Schicht ist ein ökonomischer: es ist e±zienter, alle Systeme zu einem einzelnen
System, der Middleware, kompatibel zu machen als je zwei Systeme zueinander.
Was Middleware in der Praxis tatsächlich ist und welche Funktionalität sie erbringen muss,
ist bis heute nicht streng definiert oder abgegrenzt. Kann man die Aufgaben etwa eines
Betriebssystems noch vergleichsweise leicht beschreiben: Speicherverwaltung, Prozessverwal-
tung, Geräteansteuerung, so gilt für den Begrif Middleware, dass er immer dann ins Spiel
kommt, wenn es einen Datenfluss zwischen zwei oder mehr Komponenten gibt, die zuein-
ander nicht kompatibel sind und der Datenfluss deshalb über eine dritte Komponente, die
Middleware abgewickelt wird. Zu den Aufgaben von Middleware gehört dann sowohl die
automatische Datenkonvertierung als auch die Abwicklung des Datenflusses bzw. die Be-
reitstellung entsprechender Schnittstellen. Was sich einfach anhört, bedeutet in der Praxis
ein enormes Aufgabenspektrum, von der Umwandlung von Zeichensätzen und Datenformaten
uber den Transport der Daten durch verschiedenartige Netzwerke bis hin zur Koordination
und
Uberwachung von Transaktionen, an denen zueinander inkompatible Systeme beteiligt
sind.
Wohl nicht zuletzt aufgrund dieses enormen Aufgabenspektrums akzeptiert man heutzuta-
ge unter Informatikern die Bezeichnung Middleware auch für Technologien, die nur einen
Teil dieser Aufgaben lösen. So kann ein Programm, das gar nicht netzwerkfähig ist, aber
eine alte Datenbankanwendung, eine neuere Datenbankanwendung und eine ganz neue Be-
dienoberfläche zur Zusammenarbeit bewegt, die Bezeichnung Middleware ebenso tragen wie
eine Software, die den Zugrif auf programmiersprachliche Objekte einer Sprache A in zwei
anderen Sprachen B und C verfügbar macht. Ebenso ist ein Transaktionsmonitor, der eine
Buchung koordiniert, Middleware, wenn die beteiligten Systeme verschiedenartig sind, obwohl
die Software zum Beispiel keine Ahnung von unterschiedlichen Programmiersprachen hat.
Gleiche Aufgaben lassen sich auf unterschiedliche Weise lösen. Leider führt verschiedene
Middleware für dasselbe Einsatzgebiet lediglich zu einer Verlagerung des eigentlichen Pro-
blems: die Inkompatibilitäten zwischen Produkten werden zu Inkompatibilitäten zwischen
den Middleware-Systemen. Um dem entgegenzutreten, wurde die Entwicklung des CORBA-
Standards (Common Object Request Broker Architecture) [OMG99b] ins Leben gerufen, der
5
|  |
|
| |
|
|