Schichten stellen geordnete Gruppen von Funktionalität dar, mit der anwendungsspezifischen Funktionalität in den oberen
Schichten, Funktionalität, die sich auf Anwendungsdomänen erstreckt, in den mittleren Schichten und spezieller
Funktionalität für die Deployment-Umgebung in den unteren Schichten.
Die Anzahl und Komposition der Schichten richtet sich nach der Komplexität der Problemdomäne und dem Lösungsraum:
-
Es gibt im Allgemeinen nur eine anwendungsspezifische Schicht.
-
In Domänen, in denen vorherige Systeme erstellt wurden oder in denen große Systeme sich wiederum aus
interagierenden kleineren Systemen zusammensetzen, besteht ein hoher Bedarf an Informationsaustausch zwischen den
Designteams. Deshalb ist die geschäftsspezifische Schicht wahrscheinlich nur teilweise vorhanden und kann zur
Verdeutlichung auf mehrere Schichten verteilt werden.
-
Lösungsräume, die von Middleware-Produkten ausreichend unterstützt werden und in denen komplexe Systemsoftware eine
größere Rolle spielen, haben klar entwickelte untere Schichten mit unter Umständen mehreren Schichten von
Middleware- und Systemsoftware.
Subsysteme sollten in Schichten aufgebaut werden, mit den anwendungsspezifischen Subsystemen in den oberen Schichten
der Architektur, den hardware- und betriebssystemspezifischen Subsystemen in den unteren Schichten der Architektur und
allgemeinen Services in den Middleware-Schichten.
Im Folgenden wird eine Beispielarchitektur mit vier Schichten vorgestellt:
-
Die oberste Schicht, die Anwendungsschicht, enthält die anwendungsspezifischen Services.
-
Die nächste Schicht, die geschäftsspezifische Schicht, enthält geschäftsspezifische Komponenten, die in
mehreren Anwendungen verwendet werden.
-
Die Middleware-Schicht enthält Komponenten wie Erstellungsprogramme für grafische Benutzerschnittstellen,
Schnittstellen zu Datenbankmanagementsystemen, plattformunabhängige Betriebssystemservices und OLE-Komponenten wie
Spreadsheets und Diagrammeditore.
-
Die unterste Schicht, die Systemsoftwareschicht, enthält Komponenten wie Betriebssysteme, Schnittstellen zu
spezieller Hardware usw.
Eine Schichtenstruktur, die mit der allgemeinen Ebene der Funktionalität beginnt und dann um jeweils spezifischere
Ebenen der Funktionalität erweitert wird.
|