Startseite
Themen
Was ist dreischichtige Architektur?
Eine dreischichtige Architektur ist eine etablierte Softwareanwendungsarchitektur, die Anwendungen in drei logische und physische Datenverarbeitungsschichten aufteilt: die Darstellungsschicht oder Benutzerschnittstelle; die Anwendungsschicht, wo Daten verarbeitet werden; und die Datenschicht, in der die mit der Anwendung verbundenen Daten gespeichert und verwaltet werden.
Der Hauptvorteil der dreischichtigen Architektur besteht darin, dass jede Schicht auf ihrer eigenen Infrastruktur ausgeführt wird, jede Schicht gleichzeitig von einem eigenen Entwicklungsteam entwickelt und bei Bedarf aktualisiert oder skaliert werden kann, ohne die anderen Schichten zu beeinträchtigen.
Jahrzehntelang war eine dreischichtige Architektur die vorherrschende Architektur für Client-Server-Anwendungen. Heute sind die meisten dreischichtigen Anwendungen Ziele für Modernisierung, unter Verwendung von cloudnativen Technologien wie Containern und Mikroservices, und für Migration in die Cloud.
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.
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.
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.
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.
Der Hauptvorteil der dreischichtigen Architektur ist die logische und physische Trennung der Funktionalität. Jede Schicht kann auf einem separaten Betriebssystem und einer separaten Serverplattform (z. B. Web-Server, Anwendungsserver, Datenbankserver) ausgeführt werden, die den funktionalen Anforderungen am ehesten entspricht. Und jede Schicht wird auf mindestens einer dedizierten Server-Hardware oder einem virtuellen Server ausgeführt, sodass die Services jeder Schicht ohne Auswirkungen auf die anderen Schichten angepasst und optimiert werden können.
Weitere Vorteile (im Vergleich zu ein- oder zweischichtiger Architektur):
In der Webentwicklung haben die Schichten unterschiedliche Namen, führen aber ähnliche Funktionen aus:
Während die dreischichtige Architektur einfach die am weitesten verbreitete mehrschichtige Anwendungsarchitektur ist, gibt es andere, denen Sie bei Ihrer Arbeit oder Forschung möglicherweise begegnen.
Die zweischichtige Architektur ist die ursprüngliche Client-Server-Architektur, die aus einer Darstellungsschicht und einer Datenschicht besteht. Die Geschäftslogik ist in der Darstellungsschicht, der Datenschicht oder beiden enthalten. In einer zweischichtigen Architektur hat die Darstellungsschicht – und damit der Endbenutzer – direkten Zugriff auf die Datenschicht, und die Geschäftslogik ist oft eingeschränkt. Eine einfache Kontaktmanagementanwendung, in der Benutzer Kontaktdaten eingeben und abrufen können, ist ein Beispiel für eine zweischichtige Anwendung.
N-schichtige Architektur (auch mehrschichtige Architektur genannt) bezieht sich auf eine beliebige Anwendungsarchitektur mit mehr als einer Schicht. Aber Anwendungen mit mehr als drei Schichten sind selten, weil zusätzliche Schichten wenige Vorteile bieten und die Anwendung langsamer, schwieriger zu verwalten und teurer in der Ausführung werden kann. Daher sind n-schichtige Architektur und mehrschichtige Architektur in der Regel Synonyme für eine dreischichtige Architektur.
Migrieren Sie schneller in die Cloud mit Lösungen von IBM® Cloud Pak auf Red Hat OpenShift-Software – integrierte, offene, containerisierte Lösungen, die von IBM zertifiziert sind.
Nahtlose Modernisierung Ihrer VMware-Workloads und -Anwendungen mit IBM® Cloud.
Modernisieren Sie, erstellen Sie neue Anwendungen, senken Sie Ihre Kosten und maximieren Sie Ihren ROI.
Erfahren Sie, was Anwendungsmodernisierung ist, welche Vorteile und Herausforderungen sie mit sich bringt und wie Sie mit ihr beginnen können.
Erfahren Sie, wie relationale Datenbanken funktionieren und wie sie im Vergleich zu anderen Datenspeicheroptionen aussehen.
Lernen Sie cloudnative Anwendungen kennen und erfahren Sie, wie sie Innovation und Geschwindigkeit innerhalb Ihres Unternehmens vorantreiben.