Humboldt Universität - Institut für Informatik

 

elab logo

Software-Architektur

3-Tier-Modell

Heutige Webapplikationen werden meist als 3-Tier-Modell entworfen. Dabei stellt der Web-Browsers (oder das WAP-Handy) des Nutzers das erste Tier dar, es dient der Darstellung der Daten und empfängt die Nutzereingaben. Die Java-Webapplikation ist das zweite Tier, es interpretiert die Nutzereingaben, bearbeitet die diese (sog. Buisness-Logic) und bereitet die Daten zur Ausgabe vor. Das dritte Tier ist die Datenbank, hier werden die Daten persistent gespeichert.

Das Modell kann zum n-Tier-Modell ausgebaut werden, indem die die Java-Applikation verteilt erstellt wird. Hier gibt es mehrere Möglichkeiten: eine Load-Balancer (in Hard- oder Software) kann die HTTP-Anfragen an mehrere Rechner verteilen, oder Java-Applikation sorgt selbst etwa über RMI (CORBA à la Java) oder CORBA für eine Verteilung.

Architektur der Java-Applikation

Die von Sun empfohlene Praxis ist die Anwendung des sog. MVC-Modells. MVC bedeutet Modell-View-Controller. Das Modell sind die Daten der Anwendung (z.B. Produkt, Kunden, Bestellungen etc.), Views sind Ansichten dieser Daten (z.B. Produktlisten, Preislisten, Warenkörbe etc.) und der Controller interpretiert die Nutzereingaben, bearbeitet dementsprechend die Daten und sorgt dafür, dass die entsprechende View angezeigt wird.

Für Web-Applikationen bedeutet dies, daß das Modell aus JavaBeans besteht, Views sind JavaServerPages (JSP) und der Controller ist ein oder mehrere Java Servlets. Folgende Abbildung verdeutlicht dies:
Architektur-Modell zur Verwendung von JSP

Der HTTP-Request wird demnach von einem JavaServlet angenommen und von diesem die Buisness-Logic ausgeführt. Zum Zweck der Datenausgabe (in Form von HTML oder WML) wird die Ausführung an eine JSP weitergegeben, die dann die Daten ausgibt. Ziel hierbei sollte sein, sowenig Java-Code wie möglich in die JavaServerPages zu packen, da diese ansonsten zu unübersichtlich werden (Vermischung von Code und HTML).

Alternative XML + XSL

Soll die Webapplikation mehrere Ausgabeformate (wie HTML und WML) haben, so besteht die Möglichkeit, statt zwei JSP (eine für HTML und eine für WML) mit der gleichen Funktionalität die Ausgabe zunächst in einer eigenen, in XML definierte Ausgabesprache zu gestalten. Aus dieser Ausgabe können dann mittels XSL alle anderen Ausgabeformate erstellt werden.


 

(P)+(C) by Erik Pischel
Last modified: Tue Oct 17 14:30:22 CEST 2000