Donnerstag, 16. Dezember 2010

Was ist eine Referenzarchitektur? Wie wird sie bewertet?

Liebe Leser!

Man hört oft von Referenzarchitekturen und deren Vorteile. Was ist nun eine Referenzarchitektur?

Laut wikipedia ist eine Referenzarchitektur ein Modellmuster – also ein idealtypisches Modell – für eine Klasse  zu modellierender Architekturen. Typischerweise wird eine Klasse von Softwarearchitekturen mit einem bestimmten Anwendungsbereich mittels einer Referenzarchitektur beschrieben. Neben fachlichen gibt es aber auch technische Referenzarchitekturen.

Produkte aus konkreten, aus einer Referenzarchitektur abgeleiteten Architekturen, können auch Teil einer „Produktfamilie“ sein. In diesem Fall kann die Referenzarchitektur die der Produktfamilie gemeinsamen Aspekte beschreiben.

Hauptvorteile bei der Verwendung von Referenzarchitekturen ist die Zeitersparnis durch die erzielte Wiederverwendung – hierbei reicht das Spektrum der Wiederverwendung von den architektonischen Blaupausen bis hin zu konkreten Software Komponenten, da diese ja alle der Referenzarchitektur inhärenten Anforderungen erfüllen. Ein System, welches einer Referenzarchitektur folgt, muss also nicht „von Null weg“ auf dem Reißbrett geplant werden, sondern fußt auf – im besten Fall – vielfach bewährten Konzepten, Entscheidungen und Lösungsmustern. Damit ist die Verwendung von Referenzarchitekturen auch angewandtes Wissensmanagement, da sich viele evolutorisch gewonnene Erfahrungen in einer Referenzarchitektur manifestieren.

Nachteile der Verwendung einer Referenzarchitektur sind der Aufwand der Erstellung und Pflege (technologische und konzeptuelle Neuerungen im Technologie- und Anwendungsbereich der Referenzarchitektur müssen ja nachgezogen werden), die Vererbung von Fehlern der Referenzarchitektur in konkrete, von dieser Referenz abgeleiteten, Architekturen und die Einschränkung des kreativen Freiraumes der Beteiligten, da viele Rahmenbedingungen und Entscheidungen bereits vorweg genommen sind [vgl. auch http://www.imn.htwk-leipzig.de/~weicker/pmwiki/pmwiki.php/Main/Referenzarchitektur]. Ein weiteres Problem ist das „Konsistent-Halten“ von konkreten abgeleiteten Architekturen und Referenzarchitektur – ohne Konsistenz entwickeln sich beide Architekturen unabhängig voneinander weiter und Fortschritte in der Referenzarchitektur müssen – möglicherweise manuell – in jede einzelne instanziierte Architektur eingearbeitet werden.

Für Produktfamilien ist es wichtig, die Gemeinsamkeiten der Produkte zu beschreiben und den Spielraum für erlaubte Abweichungen festzulegen. Dabei ist eine Referenzarchitektur umso wertvoller, je größer der gemeinsame Kern ist und je formeller die erlaubten Abweichungen – die Generik – beschrieben und validiert werden können.

Euer
JWR@coopXarch.