Wiki

Layer

Ein Layer (englisch für „Schicht“ oder „Ebene“) bezeichnet in der Informatik eine abgegrenzte Funktionseinheit innerhalb eines hierarchisch gegliederten Systems. Sie übernimmt klar definierte Aufgaben und kommuniziert über festgelegte Schnittstellen mit benachbarten Schichten. Das Konzept ermöglicht modulare, wartbare und skalierbare Systemarchitekturen – in Software, Netzwerken und Grafikprogrammen gleichermaßen.

Herkunft und allgemeine Bedeutung

Der Begriff stammt aus dem Englischen und hat sich seit den 1970er Jahren als Fachbegriff in der IT-Branche etabliert. Obwohl „Schicht“ die wörtliche Übersetzung wäre, wird „Layer“ im professionellen Umfeld als Anglizismus bevorzugt.

Die Grundidee hinter dem Layer-Konzept ist die Separation of Concerns (Trennung von Zuständigkeiten). Jede Schicht ist für einen bestimmten Aufgabenbereich zuständig. Sie kennt die Implementierungsdetails anderer Schichten nicht und kommuniziert nur über definierte Schnittstellen. Dies reduziert Komplexität und erleichtert die Wartung. Änderungen in einer Schicht beeinflussen die übrigen Schichten idealerweise nicht.

Layer im OSI-Referenzmodell

Das bekannteste Beispiel für das Layer-Prinzip in der Netzwerktechnik ist das OSI-Referenzmodell (Open Systems Interconnection). Es wurde von der Internationalen Organisation für Normung (ISO) entwickelt. Das Modell gliedert Netzwerkkommunikation in sieben aufeinander aufbauende Schichten. Sie beschreiben gemeinsam, wie Daten von einer Anwendung zu einer anderen transportiert werden.

Die sieben Layer des OSI-Modells im Überblick

Die folgende Tabelle zeigt alle sieben Schichten mit typischen Protokollen und ihrer jeweiligen Kernaufgabe:

Nr. Bezeichnung (DE / EN) Typische Protokolle / Beispiele Kernaufgabe
7 Anwendungsschicht / Application Layer HTTP, FTP, SMTP, DNS Schnittstelle zu Anwendungsprogrammen
6 Darstellungsschicht / Presentation Layer TLS/SSL, JPEG, ASCII Datendarstellung, Verschlüsselung, Komprimierung
5 Sitzungsschicht / Session Layer NetBIOS, RPC Aufbau und Verwaltung von Kommunikationssitzungen
4 Transportschicht / Transport Layer TCP, UDP Ende-zu-Ende-Übertragung, Fehlerkontrolle
3 Vermittlungsschicht / Network Layer IP, ICMP, OSPF Adressierung und Routing von Datenpaketen
2 Sicherungsschicht / Data Link Layer Ethernet, Wi-Fi (802.11), PPP Fehlererkennung, geordneter Rahmentransfer
1 Bitübertragungsschicht / Physical Layer USB, DSL, Koaxialkabel Physikalische Übertragung von Bits

In der Praxis hat das TCP/IP-Modell das OSI-Modell teilweise überlagert. Es fasst die sieben Schichten auf vier funktionale Ebenen zusammen: Netzzugang, Internet, Transport und Anwendung. Dieses Modell bildet die konzeptuelle Grundlage des modernen Internets.

Layer in der Softwarearchitektur

Auch in der Anwendungsentwicklung ist das Layer-Prinzip allgegenwärtig. Klassische mehrschichtige Architekturen werden als N-Tier-Architekturen bezeichnet. Sie gliedern Software in logisch getrennte Ebenen mit klar abgegrenzten Verantwortlichkeiten.

Die verbreitetste Form ist die Drei-Schichten-Architektur. Sie unterscheidet drei Ebenen:

  • Präsentationsschicht: Zuständig für die Benutzeroberfläche. Sie nimmt Eingaben entgegen und gibt Ausgaben aus – etwa ein Webbrowser oder eine mobile App.
  • Geschäftslogikschicht: Enthält die fachliche Logik der Anwendung. Sie verarbeitet Anfragen und koordiniert Datenzugriffe.
  • Datenzugriffsschicht: Kapselt alle Datenbankoperationen. Sie ist die Schnittstelle zwischen Anwendung und Speichersystem.

Dieses Modell fördert Wiederverwendbarkeit und Testbarkeit. Jede Schicht kann unabhängig entwickelt und getestet werden. Moderne Ansätze wie Clean Architecture oder Domain-Driven Design bauen auf denselben Grundprinzipien auf.

Einsatz in der Grafikbearbeitung

Im grafischen Umfeld bezeichnet ein Layer eine transparente, eigenständige Zeichenfläche. Mehrere solcher Ebenen lassen sich übereinander stapeln. Änderungen an einer Ebene beeinflussen die anderen nicht.

Pionier dieser Technik war Adobe Photoshop. Das Programm führte Layers ab Version 3.0 im Jahr 1994 ein. Heute ist das Prinzip in nahezu allen professionellen Grafikprogrammen Standard. Dazu zählen Adobe Illustrator, Affinity Photo und GIMP. Auch webbasierte Tools wie Figma oder Canva nutzen das Ebenen-Konzept.

Designer können so einzelne Elemente eines Layouts – Texte, Hintergründe, Formen – separat bearbeiten. Sie lassen sich ein- und ausblenden oder mit Transparenz versehen. Das Gesamtbild bleibt dabei erhalten.

Im Webdesign spielt das Layer-Konzept auch in der CSS-Eigenschaft z-index eine Rolle. Sie bestimmt die Stapelreihenfolge von HTML-Elementen entlang der Z-Achse. Damit überträgt sie das Schichtungsprinzip auf die Anzeigeebene des Browsers.

Layer in Blockchain und dezentralen Systemen

Mit dem Aufkommen der Blockchain-Technologie hat der Begriff eine zusätzliche Bedeutung erhalten. Er beschreibt hier die Skalierungsebenen dezentraler Netzwerke. Unterschieden werden vor allem drei Ebenen:

  • Layer 1 (Basisschicht): Das eigentliche Blockchain-Netzwerk mit seinem Konsensmechanismus. Bekannte Beispiele sind Bitcoin und Ethereum. Sicherheit und Dezentralisierung haben hier höchste Priorität.
  • Layer 2 (Skalierungsschicht): Protokolle, die auf einer Layer-1-Blockchain aufsetzen. Sie bündeln Transaktionen außerhalb der Hauptkette. Dadurch steigen Geschwindigkeit und Kosteneffizienz. Bekannte Beispiele sind das Lightning Network für Bitcoin und Polygon für Ethereum.
  • Layer 3 (Anwendungsschicht): Anwendungsspezifische Protokolle und dezentrale Applikationen (dApps). Sie setzen auf Layer-2-Lösungen auf und realisieren Nutzungsfälle wie dezentrales Finanzwesen (DeFi) oder Non-Fungible Tokens (NFTs).

Das Blockchain-Schichtmodell orientiert sich konzeptionell an den Schichtmodellen der Netzwerktechnik. Es überträgt deren Prinzip klar definierter Verantwortlichkeiten auf dezentrale Systeme.

Abgrenzung zu verwandten Konzepten

Das Layer-Konzept ist eng mit dem Begriff Modul verwandt. Der Unterschied liegt in der Struktur: Ein Modul ist eine eigenständige, wiederverwendbare Funktionseinheit ohne zwingende hierarchische Ordnung. Ein Layer hingegen impliziert stets eine vertikale Stapelungsbeziehung mit definierten Abhängigkeitsrichtungen.

Schichten kommunizieren in der Regel nur mit der direkt benachbarten Schicht. Dieses Prinzip heißt Strict Layering. In weniger strikten Modellen – Relaxed Layering – ist auch die Kommunikation mit nicht-benachbarten Schichten möglich.

Auch der Begriff Tier wird häufig synonym mit Layer verwendet. Technisch meint er jedoch oft physisch getrennte Rechnereinheiten, etwa Datenbankserver und Anwendungsserver. Ein Layer bezeichnet dagegen primär eine logische Trennung.

Das Layer-Prinzip gilt als eines der grundlegendsten Strukturierungsprinzipien der modernen Softwaretechnik. Es findet sich von der physikalischen Netzwerkschicht über Betriebssystemkerne bis hin zu Web-Frameworks wie Django oder Spring, die strikt zwischen Routing-, Logik- und Datenhaltungsschichten trennen.

Literaturempfehlungen

  • Andrew S. Tanenbaum, David J. Wetherall: Computernetzwerke. Pearson, München, 5. Auflage 2012, ISBN 9783863263553.
  • Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice. Addison-Wesley, Boston, 3. Auflage 2012, ISBN 9789332502307.
  • Robert C. Martin: Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall, Upper Saddle River 2017, ISBN 9780134494326.