Darstellungsschicht
Die Darstellungsschicht ist die Benutzerschnittstelle und die Kommunikationsschicht der Anwendung, in der der Endbenutzer mit der Anwendung interagiert. Ihr Hauptzweck ist die Anzeige von Informationen für den Benutzer und die Erfassung von Informationen vom Benutzer. Diese Schicht der höchsten Ebene kann beispielsweise in einem Web-Browser, als Desktopanwendung oder als grafische Benutzerschnittstelle (GUI) ausgeführt werden. Webdarstellungsschichten werden in der Regel mit HTML, CSS und JavaScript entwickelt. Desktopanwendungen können je nach Plattform in einer Vielzahl von Sprachen geschrieben werden.
Anwendungsschicht
Die Anwendungsschicht, die auch als logische Schicht oder Mittelschicht bezeichnet wird, ist das Herz der Anwendung. In dieser Schicht werden Informationen verarbeitet, die in der Darstellungsschicht erfasst werden (manchmal gegenüber anderen Informationen in der Datenschicht), unter Verwendung von Geschäftslogik, einem bestimmten Satz von Geschäftsregeln. Die Anwendungsschicht kann auch Daten in der Datenschicht hinzufügen, löschen oder ändern.
Die Anwendungsschicht wird in der Regel mit Python, Java, Perl, PHP oder Ruby entwickelt und kommuniziert mit der Datenschicht über API-Aufrufe.
Datenschicht
In der Datenschicht, die manchmal als Datenbankschicht, Datenzugriffsebene oder Back-End bezeichnet wird, werden die von der Anwendung verarbeiteten Informationen gespeichert und verwaltet. Dies kann ein relationales Datenbankverwaltungssystem wie PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix oder Microsoft SQL Server oder ein NoSQL-Datenbankserver wie Cassandra, CouchDB oder MongoDB sein.
In einer dreischichtigen Anwendung durchläuft die gesamte Kommunikation die Anwendungsschicht. Die Darstellungsschicht und die Datenschicht können nicht direkt miteinander kommunizieren.
Schicht im Vergleich zu Ebene
In Gesprächen über dreischichtige Architektur wird der Begriff Ebene häufig synonym – und fälschlicherweise – für Schicht verwendet, wie in „Darstellungsebene“ oder „Geschäftslogikebene“.
Sie sind jedoch nicht austauschbar. „Ebene“ bezieht sich auf einen funktionalen Bereich der Software, wohingegen sich „Schicht“ auf einen funktionalen Bereich der Software bezieht, die auf einer von den anderen Bereichen getrennten Infrastruktur ausgeführt wird. Die App „Kontakte“ auf Ihrem Telefon ist beispielsweise eine Anwendung mit drei Ebenen, jedoch eine einschichtige Anwendung, weil alle drei Ebenen auf Ihrem Telefon ausgeführt werden.
Der Unterschied ist wichtig, denn Ebenen bieten nicht die gleichen Vorteile wie Schichten.