Schichtenarchitektur: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
Zeile 52: | Zeile 52: | ||
Medium:VCLSD-Schichtenarchitektur 01.png|[[Logic-Data-View-Controller-Service-Paradigma#VCLSD-Paradigma|VCLSD-Paradigma]] | Medium:VCLSD-Schichtenarchitektur 01.png|[[Logic-Data-View-Controller-Service-Paradigma#VCLSD-Paradigma|VCLSD-Paradigma]] | ||
</gallery> | </gallery> | ||
Neben der strikten 3-Schichten-Architektur | |||
„Web-Server → Anwendungs-Server → Daten-Server“ kommen bei der Implementierung von Web-Server | |||
häufig auch nicht-strikte Schichtenarchitekturen zu Einsatz. | |||
Ein sehr bekannter Vertreter ist die [[Model-View-Controller-Paradigma#CVM-Paradigma|CVM-Schichtenarchitektur]], | |||
die im Web-Umfeld meist „Model 2“ genannt wird. | |||
<gallery perrow="3" heights="200px" widths="150px"> | <gallery perrow="3" heights="200px" widths="150px"> | ||
Medium:CVM-Schichtenarchitektur 01.png|[[Model-View-Controller-Paradigma#CVM-Paradigma|CVM-Paradigma]] | Medium:CVM-Schichtenarchitektur 01.png|[[Model-View-Controller-Paradigma#CVM-Paradigma|CVM-Paradigma]] |
Version vom 27. Juli 2011, 11:50 Uhr
Vorlage:Schichtenarchitektur:Menü
Definition
-
3-Schichtenarchtektur
-
strikte 3-Schichtenarchitektur
Als n-Schichtenarchitektur oder -paradigma (engl. Multitier architecture oder n-tier architecture manchmal auch layer architecture) bezeichnet man ein Architekturmuster, bei der eine Anwendungs-Komponente in mehrere eigenständige Module unterteilt wird, die schichtenförmig angeordnet sind: Layer 1, Layer 2, ..., Layer n.
Eine Ebenen i darf direkt mit tieferen Ebenen j<i kommunizieren. Tiefere Ebenen können dagegen mit höheren Ebenen nur indirekt kommunizieren (z.B. mittels Multicast-Nachrichten, Broadcast-Nachrichten Antworten auf Methodenaufrufen oder auch mittels Callback-Routinen).
Bei einer strikten Architektur darf eine Ebene i nur mit der unter ihr liegenden Ebene i-1 direkt kommunizieren. Und eine indirekte Kommunikation einer Ebene i ist nur mit der direkt darüber liegenden Ebene i+1 möglich.
Innerhalb eine Ebene ist stets jede Kommunikationsart zulässig.
Beispiele für Schichtenarchtekturen
Verteilte Anwendungen
Der Begriff „Multitier Architecture“ („Mehrschichten-Architektur“) wurde ursprünglich für verteilte Anwendungen (CORBA, Java RMI, SOAP, JSP, EJB etc.) eingeführt.[1] Bei verteilten Anwendungen handelt es sich im Allgemeinen um strikte Schichtenarchitekturen. Jede Schicht kann auf einem eigenen Rechner laufen (= Verteilung). Die klassische 2-Schichtenarchitektur „Client-Server“ wurde zunächst zu einer 3-Schichtenarchitektur erweitert. Zwischen Client und Server wurde eine Mittelschicht („Middleware“) als zusätzliche Abstraktionsschicht eingefügt.[2]
Theoretisch kann es beliebig viele weitere Schichten geben. Web-Anwendungen werden häufig als 4-Schichtenanwendungen realisiert: Browser, Web Server, Application Server und Datenserver. Die strikte Architektur verbietet es hier beispielsweise, dass der Web Server direkt mit dem Daten Server kommuniziert. Die Kommunikation muss immer über den Application Server erfolgen.
-
Zweischichten-Architektur: Client/Server-Architektur
-
Dreischichten-Architektur: Client-Server-Architektur mit Middelware
-
Vierschichten-Architektur: Web-Server-Architektur
MVC
Model-View-Controller-Architekturen können – müssen aber nicht! – ebenfalls als Mehrschicht-Architekturen umgesetzt werden. Hierbei kommen allerdings normalerweise nicht-strikte Schichtenarchitekturen zum Einsatz.
Neben der strikten 3-Schichten-Architektur „Web-Server → Anwendungs-Server → Daten-Server“ kommen bei der Implementierung von Web-Server häufig auch nicht-strikte Schichtenarchitekturen zu Einsatz. Ein sehr bekannter Vertreter ist die CVM-Schichtenarchitektur, die im Web-Umfeld meist „Model 2“ genannt wird.
OSI-Schichtenmodell
Das OSI-Schichtenmodell oder OSI-Referenzmodell ist ein Beispiel für eine nicht-strikte 7-Schichtenarchitektur.
Quellen
- ↑ Schneider, Werner (2001)
- ↑ Eckerson, Wayne W. “Three Tier Client/Server Architecture: Achieving Scalability, Performance, and Efficiency in Client Server Applications.” Open Information Systems 10, 1 (January 1995): 3(20)
- Kowarschick, W.: Multimedia-Programmierung
- WikipediaEN:Multitier architecture
- Wikipedia:Schichtenarchitektur