IT-Architektur
IT-Architektur
Die IT-Architektur eines Unternehmens ist ein Rahmenwerk, das die Struktur und den Aufbau der Informationstechnologie (IT) definiert. Sie umfasst das Design von Hardware, Software, Netzwerkressourcen und Diensten, die für die effektive Unterstützung der Erzeugung, Speicherung, Verwaltung, Übertragung und Analyse von Daten erforderlich sind. Ziel der IT-Architektur ist es, die IT-Systeme und -Prozesse so zu gestalten, dass sie die Geschäftsziele optimal unterstützen, indem die Effizienz, Skalierbarkeit und Flexibilität der IT-Ressourcen maximiert und gleichzeitig Kosten und Risiken minimiert werden. Die IT-Architektur ist der technische Teil einer Enterprise Architektur in einem Unternehmen.
In diesem Sinne ist IT-Architektur ein Überbegriff für verschiedene andere detaillierte Architekturen. Diese werden nachfolgend erläutert.
Systemarchitektur
System ist wie Architektur ein Bindestrichwort und kann eigentlich nicht alleine stehen. In diesem Zusammenhang bedeutet es jedoch meist eine IT-Architektur auf einer sehr hardwarenahen Ebene und gehört zur Technologieebene. Die Planung von Rechenzentren, Serverstrukturen oder Netzwerken kann in diesen Bereich fallen. Infrastrukturarchitektur ist weitgehend gleichbedeutend mit Systemarchitektur. Bedingt kann hier die Modellierungssprache SysML verwendet werden. Häufig werden aber auch formlose Diagramme verwendet. Bei Model Based Systems Engineering findet sich eine schöne Notationsübersicht für die SysML.
Cloud-Architektur
Die Cloud-Architektur ist ein Spezialfall der Systemarchitektur und ebenfalls der Technologieebene zuzuordnen. Während der Begriff Systemarchitektur grundsätzlich offen lässt, welches System aufgebaut wird (physikalische Hardware, virtuelle Hardware, etc.), schränkt die Cloud Architektur das System auf die bezeichnende Cloud ein. Eine Cloud Architektur ist also eine Systemarchitektur, bei der das zu beschreibende System eine Cloud ist. Es existieren verschiedene Cloud-Modelle, die innerhalb einer Cloud-Strategie zum Einsatz kommen. Zur Modellierung werden hier gerne die Bibliotheken und Symbole verwendet, die von den großen Cloud-Anbietern direkt zur Verfügung gestellt werden:
Softwarearchitektur
Konzeptionell ebenfalls auf der Technologieebene angesiedelt ist die Softwarearchitektur. Sie beschreibt alle Softwarekomponenten, deren abstrakte Bestandteile (Module, Klassen, Objekte, Funktionen etc.) und deren Zusammenspiel mit Hilfe verschiedener Diagramme. Die dedizierte Sprache zur Dokumentation einer Softwarearchitektur ist die Unified Modelling Language ( UML). Der Schulungsanbieter ( oose) bietet eine erstklassige Notationsübersicht für die UML an. Aus der gleichen Ecke kommt auch ein empfehlenswertes Buch zum Thema: Analyse und Design mit der UML von Bernd Oesterreich.
Anwendungsarchitektur
Eine Anwendung ist eine Gruppe von IT-Komponenten, die gemeinsam einem Geschäftszweck dienen. Die Anwendungsarchitektur ist also die Summe der zugrundeliegenden Architekturen auf Technologieebene (System-, Cloud-, Softwarearchitektur). Die Anwendungsarchitektur selbst befindet sich auf der Anwendungsebene. Die Anwendungsarchitektur ergänzt ihre Teilarchitekturen um Aspekte wie den Lebenszyklus einer Anwendung, ihre Benutzer sowie die Verantwortlichen für die Anwendung und ihre Komponenten.
Datenarchitektur
Nicht bei allen Anwendungen stehen die zu verarbeitenden Daten im Vordergrund. Es gibt jedoch Anwendungen, bei denen die größte Komplexität in den zu verarbeitenden Datenobjekten liegt. Für solche Anwendungen ist eine separate Datenarchitektur sinnvoll. Auch zur Visualisierung des Datenflusses über verschiedene Anwendungen hinweg ist eine Datenarchitektur auf Datenebene notwendig. Als Darstellungsmittel bieten sich Datenflussdiagramme, ER-Diagramme oder moderner UML-Klassendiagramme an. Verwandt mit der Datenarchitektur, aber auf einer größeren Flughöhe, ist die Integrationsarchitektur, die den Fluss von Daten im gesamten Unternehmen darstellt.
Abgrenzung zum Begriff Informationsarchitektur: Dieser Begriff wird häufig im Zusammenhang mit der Darstellung und Aufbereitung von Daten und Informationen verwendet. Während die Datenarchitektur nur die technischen Strukturen von Daten betrachtet.
Geschäftsprozessarchitektur
Die Geschäftsprozessarchitektur ist eindeutig auf der Business-Ebene angesiedelt. Hier dreht sich alles um die Geschäftsprozesse, ihre einzelnen Schritte sowie deren Zusammenhänge. Zu diesem Zweck wurde die BPMN (Business Process Model and Notation) entwickelt. Sie enthält alle Symbole und Diagrammelemente, die für eine gute Beschreibung von Geschäftsprozessen notwendig sind. Eine gute Notationsübersicht bietet die BPMN Initiative Berlin zum Download.
Einen guten Überblick zum Thema bietet das Praxishandbuch BPMN von Jakob Freud und Bernd Rücker.
Lösungsarchitektur
Eine Lösungsarchitektur (engl. Solution Architecture) ist eine Sammlung von Architekturen der bisher genannten Typen: System, Cloud, Software, Anwendungs-, Daten- oder Geschäftsprozessarchitektur, die zusammen eine Lösung für eine Aufgabe bilden. Lösungsarchitekten müssen alle genannten Architekturen beherrschen. Zum Beispiel kann die gestellte Aufgabe ein Projekt sein, dann ist die Lösungsarchitektur eine Projektarchitektur.
Eine gute Vorlage für eine Lösungsarchitektur ist das arc42 Template. Auch wenn nicht jeder Baustein des Templates für jede Lösungsarchitektur benötigt wird, kann man sich sehr gut an dem Template orientieren.
Wenn sich die Lösungsarchitektur auf eine einzelne Anwendung bezieht, ist die wichtigste Komponente die Kontextsicht. Sie zeigt auf einen Blick, was die Anwendung tut und mit wem oder was sie interagiert. Sie erweist sich in den meisten Diskussionen über ein Projekt als sehr wertvoll. Für eine kontextuelle Sicht verwende ich gerne die Syntax eines UML-Komponentendiagramms, füge aber auch Komponenten hinzu, die nicht explizit zu diesem Diagrammtyp gehören, wenn sie sich für das jeweilige Projekt als nützlich erweisen. Als Einstieg in dieses Thema kann ich das Buch Effektive Softwarearchitekturen von Gernot Starke empfehlen.
Ist das Projekt größer und umfasst mehrere Anwendungen, eventuell auch über Unternehmensgrenzen hinweg, dann ist ein Big Picture der richtige Einstieg in eine Lösungsarchitektur. Hier wird vor allem der Umfang einer Lösung beschrieben und aufgezeigt, wozu die Anwendungen eines Projektes dienen. Die Syntax eines Big Picture folgt dem Metamodell, das das Unternehmen vorgibt.