Softwaresysteme werden oft in mehreren, hierarchisch strukturierten Schichten aufgebaut. Das nennt man Schichtenarchitektur. Einzelne Funktionen des Systems werden dabei jeweils einer Schicht zugeordnet.
Zwei-Schichten-Architektur
Eine zweischichtige Architektur ist die klassische
Client-Server-Umgebung. Auf Englisch nennt man diese Stuktur auch
two tier architecture von
tier Ebene, Rang oder Schicht. Dabei verlangt der Client eine Resource und der Server setzt dafür seine eigenen Ressourcen ein. Das bedeutet, dass der Server keine anderen Anwendungen in Anspruch nimmt, um einen Teil des Dienstes zu liefern:
Drei-Schichten-Architektur
Bei der Drei-Schichten-Architektur (
three tier architecture) gibt es ein Zwischenniveau. Solch ein Netzwerk besteht in der Regel aus den folgenden Elementen:
einem
Client, also dem Computer, der die Ressourcen anfordert und der ausgestattet ist mit einem User-Interface (meist ein Webbrowser), das für die Darstellung zuständig ist;
einem
Anwendungsserver (
middleware), der die Ressource liefert und dabei aber auf einen anderen Server zugreift;
einen
Datenserver, der dem Anwendungsserver die nötigen Daten liefert.
Der Begriff Drei-Schichten-Architektur wird häufig auch für die folgenden Strukturen verwendet:
eine geteilte Anwendung zwischen Client, Zwischenserver und Unternehmensserver;
eine geteilte Anwendung zwischen Client, Anwendungsserver und Datenbank-Server eines Unternehmens.
Vergleich der beiden Architektur-Typen
Die Zwei-Schichten-Architektur ist eine Client-Server-Umgebung, bei der der Server polyvalent ist, also imstande, direkt alle Ressourcen zu liefern, um die der Client anfragt.
Bei der Drei-Schichten-Architektur hingegen sind die Anwendungen auf der Ebene des Servers
delokalisiert, das bedeutet, jeder Server ist auf eine Aufgabe spezialisiert (Webserver oder Datenbankserver zum Beispiel).
Die Drei-Schichten-Architektur ermöglicht:
höhere Flexibilität,
höhere Sicherheit, da die Sicherheit für jeden Dienst und auf jedem Niveau unabhängig festgelegt werden kann,
bessere Leistungen dank der Aufgabenteilung zwischen den verschiedenen Servern.
Mehrschichtige Architekturen
Bei der Drei-Schichten-Architektur führt jeder Server (Schicht 2 und 3) eine spezielle Aufgabe (bzw. einen Dienst) aus. Ein Server kann daher die Dienste eines oder mehrerer anderer Server nutzen, um seinen eigenen Dienst auszuführen. Daher kann die Zahl der Schichten auch auf
n erweitert werden:
Foto: © Openclipart.