home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

Mehrschichtige Anwendungen

 

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.

 

Bei der Erstellung von Software-Architekturen werden heute vielfach Drei-Schichten-Architekturen (Three-Tier-Architecture) verwendet. Dabei werden die grafische Benutzeroberfläche (GUI) und das eigentliche fachliche Konzept separiert. Darunter liegt dann wiederum die Datenhaltungsschicht.

 

 

Drei-Schichten Architektur:

·        Das Drei-Schichten-Modell ist eine Software-Architektur, die drei unterschiedliche Schichten - die GUI-Schicht, die Fachkonzeptschicht und eine Datenhaltungsschicht - unterscheidet. 

Das Schichtenmodell verdeutlicht den grundsätzlichen Zusammenhang. Dabei bildet die GUI-Schicht die Funktionalität einer grafischen Benutzeroberfläche - häufig durch die Verwendung eines entsprechenden Frameworks - ab. Die Aufgabe der Fachkonzeptschicht ist die Realisierung der eigentlichen fachlichen Anforderungen. Zudem umfasst diese Schicht entsprechende Schnittstellen zum Zugriff auf die darunterliegende Datenhaltungsschicht, die meist in Form einer Datenbank ausgeführt ist und so für die Speicherung und das Laden der Daten Verantwortung trägt.

 

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, dass Ä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.