Mehrschichtige Softwaresysteme

Mehrschichtige Softwaresysteme zeichnen sich durch eine Unterteilung in verschiedene Ebenen aus. Dabei nimmt jede Ebene eine bestimmte, klar umrissene Aufgabe wahr und stellt seine Dienste den anderen Schichten über eine vergleichsweise einfache Schnittstelle zur Verfügung. Die Anwendungsschichten können über mehrere Rechner verteilt sein ( verteilte Softwaresysteme), müssen es aber nicht.



Ein klassisches mehrschichtiges Modell ist bereits die Client/Server-Anwendung (2-tier Application), bei der ein Programmteil auf dem Client mit einem Programmteil auf dem Server verbindet. Der Client ist meistens eine GUI-Anwendung auf einem Personal Computer (PC), die keine Geschäftslogik (Business Rules) enthält und relativ "dumm" ist. Der Server hingegen führt alle Funktionen aus, die Geschäftslogik enthalten und Zugriff auf die Datenbank benötigen.

Mehrschichtiges 
   Softwaresystem

Mehrschichtiges Softwaresystem

Moderne Unternehmensanwendungen bestehen üblicherweise aus 3 oder mehr Schichten, wobei die Datenbank selbst als eigene Schicht gesehen wird.

Der Hauptvorteil von mehrschichtigen Systemen ist die Minimierung von Berührungspunkten zwischen den Teilkomponenten des Systems. Die verbliebenen Berührungspunkte sind durch die Schnittstellen exakt beschrieben. Dadurch verringert sich die Wahrscheinlichkeit, das Änderungen an einer Schicht eine andere beeinflussen und schlimmstenfalls unerwartete Nebeneffekte erzeugen.

Neben dieser Trennung von Zuständigkeiten, die zu einfacherer Wartbarkeit führt, wird auch die Skalierbarkeit verbessert. So ist es beispielsweise möglich, in der Anlaufphase einer neuen Software mehrere Schichten auf einem einzelnen Rechner zu betreiben. Steigt später die Last, können einzelne Ebenen auf andere Rechner ausgelagert werden, ohne Änderungen an der Software nötig zu machen.


Informationen zum Artikel
Deutsch: Mehrschichtige Softwaresysteme
Englisch: n-tier application
Veröffentlicht: 05.09.2012
Wörter: 247
Tags: #Design
Links: Anwendungsschicht, Apps, Client, Datenbank, Dienst