Up Right Arbeitsgruppe Komponenten / CORBA

Komponenten-Software

Ziel der Komponenten ist eine bessere Wiederverwendung von Software

Definitionen

Definition Komponente: Eine Komponente ist ein funktional in sich abgeschlossener Softwarebaustein, der über wohldefinierte Schnittstellen mit seiner Umgebung in Beziehung tritt. Sie liegt in maschinenausfürbarer Form vor. Man muß sie in unterschiedliche, nichtverwechselbare Anwendungskontexte einbetten können. (Michael Stal, Siemens in Objektspektrum 1/99)

UML-Komponenten: Hier kommt noch das Port-Konzept hinzu, welches erlaubt, das eine Komponente über verschiedene Mechanismen (PORT) mit mehreren Schnittstellen ansprechbar ist.

Bemerkungen: Ein Modul in Prof. F. Hofmann: "Betriebssysteme: Grundkonzepte und Modellvorstellungen" kann man auch als Komponente bezeichnen

Component Technology White Paper Software Engineering Australia (Western Australia), 2000. von http://ciips.ee.uwa.edu.au/Research/SCL/SCL.html beschreibt die Abstufung von Funktionen-Modulen-Klassen-dynamisch Geladene Klssen-verteilte Objekte-Compomnenten.
Hier wird auch die Zukunft von der Austauschbarkeit von Komponenten und einem Markt von verifizierten Komponenten beschrieben.
Definition Framework Architektur aus Klassenhierarchien, die eine allgemeine generische Lösung für ähnliche Probleme in einem bestimmten Kontext vorgibt.

Darin werden dann die Komponenten ausgetauscht. Beispiel: JWAM und JWAM V1.0

Für jede Anwendungsbereich (Domain) existieren spezifische Frameworks z.B. Finanzbuchhaltung
ggf. Anpassungen machen

Komponenten Technologien

CORBA-Beans
Java-Beans
Microsoft COM+,Active-X-Controls
sehr komplex, Werkzeugunterstützung gut (Gordy Booch: A fool with a tool is still a fool)
Vergleich der Technologien:
CORBA
DCOM vom Microsoft
Enterprise Java
ist noch in Entwicklung
auch von OMG
Komponenten sollten mit allen Schnittstellen ausgestattet werden können.

Die Analyse bei der Konzeption von Komponenten unterscheidet sich von der herkömmlichen Anwendungsprogrammierung:

(Kryztof Czorniki, Daimler Benz AG in Objektspetrum 1/99)

Metaprogrammierung

Nach Kryztof Czorniki, Daimler Benz AG in Objektspetrum 1/99 wird bisher nur allgemeinste Interoperabilität unterstützt.

Es gibt aber Probleme, wenn Kompenenten in Umgebungen mit unterschiedlichen Eigenschaften wie Koordinierungsmodelle oder Persistenzmechanismen eingesetzt werden.
⇒ die Eigenschaften/Aspekte müssen parametriert werden.

Komponenten brauchen Metawissen über ihre Umgebung, damit sie sich einpassen können.
Metaprogrammierung nennt man das Generieren eines anwendungsspezifischen Codes. Siehe: generate

Kann man das Generieren der Anpassung mit Shared-Libraries realisieren ?

Komponenten für Server

architekturabhängige Komponenten:

Bemerkungen

Zeitschriften und Literatur


Arbeitsgruppe Komponenten/CORBA
Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber