Komponentenmodell
# Komponentenmodell

In der Softwaretechnik versteht man unter Komponentenmodellen konkrete Ausprägungen des Paradigmas der komponentenbasierten Entwicklung. In Gruhn & Thiel findet man folgende Definition:

    „Ein Komponentenmodell legt einen Rahmen für die Entwicklung und Ausführung von Komponenten fest, der strukturelle Anforderungen hinsichtlich Verknüpfungs- bzw. Kompositionsmöglichkeiten sowie verhaltensorientierte Anforderungen hinsichtlich Kollaborationsmöglichkeiten an die Komponenten stellt. Darüber hinaus wird durch ein Komponentenmodell eine Infrastruktur angeboten, die häufig benötigte Mechanismen wie Verteilung, Persistenz, Nachrichtenaustausch, Sicherheit und Versionierung implementieren kann.“

Ein Komponentenmodell spezifiziert neben der genauen Form und Eigenschaften der Komponenten, die dem Modell entsprechen, auch, wie Komponenten miteinander sprechen (Interaktions-Standard) und verbunden werden können (Kompositions-Standard). Ein Komponentenmodell kann außerdem Implementierungen verschiedener Hersteller besitzen.

## Konkrete Umsetzungen

Die verschiedenen Komponentenmodelle unterscheiden sich in Leistungsmerkmalen, unterstützten Betriebssystemen und der Möglichkeiten zur Komponenten-Erzeugung und -Verbindung.

Folgende Komponentenmodelle sind weit verbreitet:

* Enterprise JavaBeans
* Cross Platform Component Object Model
* Distributed Component Object Model
* CORBA Component Model
* Common Component Architecture (CCA)
* OSGi
* Advanced Component Framework (ACF)

Das von der Object Management Group spezifizierte Komponentenmodell Corba stellt zum Beispiel nur einen Standard dar, keine Implementierung. Aus diesem Grund gibt es Umsetzungen der Corba-Architektur von verschiedenen Herstellern.

