3 Konfigurationsmöglichkeiten von Software

3.2.3.2 Plugins

Pluginarchitekturen sind weit verbreitet und seit 1987 bekannt103, denn jeder Gerätetreiber ist auch ein Plugin. Prominente Beispiele sind die Adobe Produkte, alle möglichen Plugins für Browser wie das Java-, das Flash- oder das Realplayer-Plugin und die Entwicklerplattform Eclipse sowie die hier verwendete VDR-Software.
Plugins sind dabei funktional selbständige Ergänzungen zu einer Applikation, die eine fachliche Funktion vollständig abdecken, ohne dass andere Komponenten informiert werden müssten.
Die Applikation selbst ist für die Schnittstellen zuständig. Plugins sind damit unabhängigere Bausteine als Komponenten. Zudem sind sie ausschließlich für eine Anwendung geschrieben und müssen in ein vorhandenes System integriert werden, arbeiten also auch nur mit dessen Anwendungsdaten.
Plugins sind anders als Komponenten so tatsächlich als optional zu verstehen und erweitern eine bereits funktionierende Software um bestimmte Funktionen oder Funktionsgruppen. Plugins werden dabei in das bestehende System eingeklinkt und enthalten ihre eigene Konfiguration.
Sie können jedoch nicht ohne die integrative Anwendung genutzt werden. Der Hauptunterschied zu Komponenten liegt aber in der Entstehung. Komponentenarchitekturen gliedern eine Anwendung in die Berechnungslogik und die Infrastruktur, also die technischen Belange, hier gilt: Logik und Container werden getrennt. Plugins dagegen gliedern die gesamte Anwendung in gleiche funktionale Anschnitte und „stecken sie wieder ineinander“, daher der Name Plugins, hier gilt: Anwendungen werden durch Plugins getrennt.
Ihre Anwendung kann wie im Browserbeispiel für den Nutzer unsichtbar bleiben, wenn dieser ein Plugin selbständig herunterlädt und installiert; im Adobebeispiel reserviert sich jedes Plugin einen Bereich im Menü. Durch ihren Aufbau sind innovative Ideen möglich, Eclipse bietet so z.B. Plugins für Codegeneratoren, Datenbankbrowser, Wikis etc.
Plugins können sich auch gegenseitig bedingen und geben das zum Installationszeitpunkt an. Bei der Installation müssen sich die Plugins bei der Anwendung registrieren, um deren Funktionen nutzen zu können. Der Aufbau einer Pluginhierarchie kann wie folgt dargestellt werden:104


Das Domänenwissen beinhaltet dabei die Informationen, die zur Installation, Integration und Registrierung eines neuen Plugins nötig sind, sowie Informationen zum Lebenszyklus und zu den Diensten eines Plugins, ohne die Funktionslogik der Plugins tatsächlich zu kennen. Pluginarchitekturen bieten folgende Vor- und Nachteile:

Bewertung von Pluginarchitekturen105
Vorteile Nachteile
  • Sehr leichte Erweiterung
  • Plugins sind unabhängig von der Gesamtanwendung
  • Schnellere, parallele Entwicklung im Projektteam möglich
  • Austauschbarkeit bei veränderten Anforderungen sehr flexibel
  • Ermöglicht eine nahtlose Integration von Funktionen ohne komplexe Infrastruktur
  • Leichte Wartbarkeit
  • Separation of Concern in Reinform
  • Einheitliche Schnittstellen für alle Plugins
  • Ermöglicht die Entwicklung innovativer Ideen
  • Optimale Grundlage für die Entwicklung von Systemfamilien
  • Plugins können einzeln vertrieben werden
  • Installation wird immer aufwändiger, da jedes Plugin einzeln integriert wird
  • Updates müssen für jede Funktionalität einzeln eingespielt werden
  • Sehr große Pluginarchitekturen sind schwerer zu managen
  • Ausschließlich für eine Anwendung konzipiert
  • Die Erstellung des Domänenwissens ist schwieriger zu bewerkstelligen
  • Entwicklung einer einheitlichen Schnittstelle für alle Belange ist ein komplexeres Thema
  • Automatische Installation von Browserplugins können ein Sicherheitsrisiko bedeuten

  • Tabelle 17: Bewertung von Pluginarchitekturen


     


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