3 Konfigurationsmöglichkeiten von Software

3.2.5 Komponentenarchitekturen



Komponentenarchitekturen sind das Herzstück der Systemfamilienentwicklung, weil sie die 'Rohstoffe' systematisch zusammenbauen. Die Zusammenhänge seien hier grafisch dargestellt:


Komponentenarchitekturen seien im Folgenden vorgestellt. Unterschieden wird dabei zwischen Einzelplatzsystemen wie COM, und Architekturen für verteilte, heterogene Systeme wie z.B. CORBA. 3.2.5.1 COM / ActiveX von Microsoft

COM ist das objektorientierte Komponentenmodell von Microsoft. Der Ursprung von COM liegt in der in den 1990ern eingeführten Technik der Verbunddokumente OLE, bei denen Teildokumente in andere Dokumente eingebettet werden. Grundidee ist hierbei, dass Anwendungen Funktionen bereitstellen, die auch anderen Programmen von Nutzen sein können.
So muss z.B. Word wissen, wie es eine integrierte Exceltabelle darstellen muss. Dies bedeutet eine Wiederverwendung von bereits bestehendem Programmcode und damit Wiederverwendung von Komponenten.
Der Datenaustausch erfolgt im Client/Server-Modell: Der COM Server erzeugt und nutzt Objekte und bietet die zu exportierenden Klassen, die COM-Objekte, über die Schnittstellen an.
In den Schnittstellen selbst ist die Information hinterlegt, welche Funktionen angeboten werden.
Die Nutzung der Funktionen erfolgt mit Hilfe von Zeigern auf eine oder mehrere Schnittstellen einer Komponente. Die Schnittstelle selbst besitzt einen Zeiger auf ihre interne Tabelle, welche die Zeiger auf ihre Funktionen verwaltet. Es kann nie direkt auf Objekte zugegriffen werden.
Vererbung ist hier jedoch nur bei den Eigenschaften der Schnittstellen möglich.
Schnittstellen haben dabei eine weltweit eindeutige GUID, die vor der Nutzung der Komponente in die Windows Registry eingetragen werden muss. Durch die eindeutige Identifizierung über die GUID können Komponenten auch den gleichen Namen tragen118.
Komponenten liegen hier als Binärstandard vor und sind damit programmiersprachenunabhängig, die Spezifikation der Schnittstellen enthält keine spezielle Syntax, sondern beschreibt den Aufbau und die angebotenen Dienste von Komponenten. Daneben wurde 1996 ein weiteres Modell, das DCOM für verteilte Anwendungen im Netzwerk geschaffen. Heute entwickelt Microsoft COM+119 als eine Erweiterung und die .NET-Frameworks120, die einige Probleme von COM verbessern sollen und laut Microsoft COM ablösen werden.
COM-Komponenten werden als Module in Form von Anwendungen (als EXE auf dem lokalen Server mit langsamerer Ausführung), als DLLs und OCX (prozessintern und damit schnell laufend) oder als Windows Script Components ausgeliefert121. Seit 1996 gibt es auch COM-Komponenten, die speziell für das Internet geschaffen worden sind: ActiveX Steuerelemente. Sie haben nur eine Schnittstelle und die Fähigkeit, sich automatisch in die Windows Registry einzutragen. Solche Steuerelemente werden dabei fest auf dem Client installiert, was massive Sicherheitsprobleme mit sich bringt, da so das zugrunde liegende Betriebssystem offen liegt.
Die Architektur von COM kann wie folgt bewertet werden:
Bewertung der COM-Architektur122
Vorteile Nachteile
  • Programmiersprachenunabhängige Schnittstellen
  • Wiederverwendung von bestehendem Programmcode
  • Flexibles und mächtiges Komponentenmodell
  • Kein direkter Zugriff auf Objekte
  • Namenskollisionen durch die GUID ausgeschlossen
  • Erweiterbare Zusatzfunktionen durch einfache Integration von Komponenten
  • Unterstützung
  • Schnelle Ausführung
  • Hohe Marktdurchdringung und Entwicklungspotential
  • Ermöglicht mehrschichtige Architekturen und verteilte Anwendung mittels des Microsoft Transaction Server, kurz MTS
  • Portabler Einsatz
  • Dynamische Bindung möglich
  • Mehrere Interfaces
  • Propritär für Windows entwickelt und damit auch kostenintensiv
  • COM selbst ist als Einzelplatzsystem gedacht, Abhilfe schafft hier COM+ und das neue .NET, welches aber einen hohen Anfangsaufwand braucht (Verständnis, Integrationszeit)
  • ActiveX Steuerelemente können durch Offenlegung des Betriebssystems Sicherheitslücken verursachen
  • Versionierung wird nicht beherrscht
  • Sehr kompliziert zu verwenden
  • Ingnoriert jeden Standard
  • Verträgt sich schlecht mit Garbage Collectoren

Tabelle 20: Bewertung der COM-Architektur


  • 117: Vgl. [Weis 1999] S. 21
  • 118: Vgl. [Balz 2001] S. 871 ff
  • 119: COM+ ist eine in Binärform vorliegende Plattform und ein Modell für die Clientseite in einem, und gehört propritär zu Windows. Vgl. [Balz] S. 941
  • 120: Vgl. [Baue 2000] S. 53
  • 121: Vgl. [Schw 2005]
  • 122: Vgl. [Schw 2005], [Balz 2001] S. 896, [Micr 2005], [Weis 1999] S. 19 ff und [Punz 1999]

 


Top| Home| << Zurück | Nächste >>
" TARGET="_blank"> >> Home Page <<