| |
19
Neue Konzepte für das Management verteilter Systeme, Hauptseminar, LMU München WS 00/01
5. Microsoft COM+
Microsofts Modell setzt andere Schwerpunkte: ein schlankes Design statt einem
luxuriösen Programmiermodell.
Der Komponenten-Anwendungsserver MTS (Microsoft Transaction Server) wird
einen hohen Verbreitungsgrad erreichen, da er im Betriebssystem Windows 2000
Professional integriert ist.
Eine Besonderheit bei Microsoft ist die Universalität der COM-Komponente: Sub-
modelle wie ActiveX und OLE leben im WWW oder im Compound Document. In
der ORB-ähnlichen DCOM-Umgebung verhalten sich COM-Komponenten analog zu
CORBA-Objekten, im MTS werden sie zu Anwendungsserver-Komponenten.
Grundlage hierfür ist die Tatsache, dass COM-Komponenten mehrere Schnittstel-
len unterstützen. Eine Komponente, die zu einem Submodell gehört, muss lediglich
eine entsprechende spezialisierte Schnittstelle implementieren. Diese architektoni-
sche Finesse täuscht aber darüber hinweg, dass die verschiedenen Submodelle nicht
unbedingt kompatibel sind: Komponenten, die Zustand in Variablen speichern, wer-
den im MTS nicht funktionieren; eine normale Komponente wird vom MTS weni-
ge Vorteile haben, wird sie aber speziell für den MTS geschrieben, kann sie außer-
halb des MTS nicht existieren.
Ein Ereignisdienst ermöglicht die Laufzeitverbindung von Komponenten-
Instanzen. Durch Ausgangsschnittstellen lassen sich zwischen Instanzen Punkt-zu-
Punkt-Ereigniskanäle legen. Außerdem können Instanzen Ereignisse aussenden
(publish) und abonnieren (subscribe).
Reentranz: Eine Komponente kann wahlweise von einem oder mehreren Threads
durchlaufen werden.
Persistenz: Vom Komponenten-Provider vollständig zu implementieren (keine
Unterstützung nur Überwachung der Datenbankschnittstellen zur Transaktions-
steuerung).
Transaktionen: Das Modell sieht sogar verschachtelte Transaktionen vor. Eine
Transaktion kann in einer anderen wie eine normale Datenbankoperation vor-
kommen.
Portabilität und Interoperabilität: COM+ läuft nur unter Windows. Dafür läuft
eine COM-Komponente, egal mit welcher Programmiersprache sie hergestellt wurde,
in jeder Umgebung, da sie einen standardisierten binären Aufbau hat. CORBA-
Objekte sind hingegen an die Umgebung (ORB) gebunden, für die sie kompiliert
wurden.
|  |
|
| |
|
|