Softwaresysteme werden oft in mehreren, hierarchisch strukturierten Schichten aufgebaut. Das nennt man Schichtenarchitektur. Einzelne Funktionen des Systems werden dabei jeweils einer Schicht zugeordnet.
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:
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.
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.
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.