26.4 Das dreistufige Webanwendungsdesign
 
26.4.1 Darstellungsschicht
 
Die erste Stufe der Webprogrammierung ist die Darstellungsschicht. Dies stellt auch immer noch die weit verbreiteteste Schicht dar. Der Webbrowser fordert mit dem HTTP-Protokoll eine Datei vom Webserver an. Der Webserver schickt dem Browser anschließend diese Datei, was meistens die Darstellung einer einfachen Webseite ist. Zur Darstellungsschicht gehört das ganze Look & Feel einer Seite, wie etwa Mausklicks, Lesevorgänge usw., eben einfach alle Interaktionen des Nutzers. Die Darstellungsschicht wird mithilfe von Webscripting-Sprachen wie z.B. HTML oder Javascript erarbeitet. Dabei handelt es sich um interpretierte Sprachen, die erst beim Zugriff der Webseite auf den Webserver analysiert werden.
Hinweis Um Webseiten darzustellen, müssen die Regeln befolgt werden, die ein Webbrowser erwartet. Damit eine Webseite richtig dargestellt wird, sucht der Webbrowser nach einer bestimmten Struktur, die durch HTML geliefert wird. Die Hypertext Markup Language (HTML) ist eine Seitenbeschreibungssprache, die verwendet wird, um Webdokumente zu erzeugen, die Verknüpfungen zu anderen Webdokumenten (Hyperlinks oder einfache Links) enthalten. HTML ist keine Programmiersprache, sondern eine bestimmte Menge von Regeln, mit denen eine Webseite formatiert wird.
|
Hinweis Als Webprogrammierer sollten Sie HTML verstehen. Egal, ob Sie Ihre Webseiten mit Skriptsprachen wie Perl, PHP oder der Programmiersprachen C/C++ schreiben, Sie werden dabei immer wieder in Berührung mit HTML kommen. Zwar besteht ein beträchtliches Maß der Arbeit eines Webprogrammierers in der gleich folgenden Verarbeitungs- und Speicherschicht, dennoch werden Sie häufiger in die Verlegenheit kommen, dynamische Dokumente in der Darstellungsschicht zurückzuliefern.
|
Häufig kann es auch sein, dass die Darstellungsschicht ebenfalls nur aus dynamischen Dokumenten besteht. Es muss sich also nicht immer um eine statische Webseite handeln. Da aber dieses Buch solche Bedingungen nicht voraussetzen kann, wurden die Beispiele so geschrieben, dass HTML-Ausgaben in Funktionen unterteilt sind. Und zwar so, dass Ihnen im Prinzip egal sein kann, was diese Funktion ausgibt. Sie müssen den Funktionen lediglich die richtigen Argumente übergeben.
|
26.4.2 Verarbeitungsschicht
 
In der Verarbeitungsschicht finden Vorgänge wie Fehlerprüfungen, Plausibilitätsprüfung und Auswertung der Formularfelder statt. Wird z.B. eine E-Mail aus einer Webanwendung verschickt, wird in der Verarbeitungsschicht überprüft, ob die Eingaben richtig sind. Danach wird koordiniert, mit welchem E-Mail-Programm diese Mail versendet wird. In der Verarbeitungsschicht werden natürlich noch eine Menge anderer Arbeiten verrichtet. Dazu erfahren Sie ja im Laufe dieses Kapitels mehr. Die Verarbeitungsschicht wird häufig mit interpretierten Scripting-Sprachen wie Perl, PHP, ASP und Programmiersprachen wie C/C++ erledigt. Interpretierte Sprachen sind bei gewissen Verarbeitungsvorgängen recht langsam und werden daher auf der Serverseite ausgeführt. Und um nochmals auf das Beispiel mit dem E-Mail-Programm zurückzukommen: Auf Serverseite ist dabei sichergestellt, dass die E-Mail mit einem bestimmten Programm (meistens mit dem Programm sendmail) versendet wird. Auf Seite des Clients würde das wiederum voraussetzen, dass der Nutzer dieses Programm auf seinem Computer installiert hat. Das ist nicht unbedingt benutzerfreundlich.
 26.4.3 Speicherschicht
 
Irgendwann werden Sie auch Daten speichern wollen. Es gibt viele Gründe, Daten zu speichern, seien es Statistiken, Berechnungen oder Registrierungsdaten. Und je komplexer und umfangreicher die Daten werden, die Sie zu speichern beabsichtigen, umso besser muss die Lösung sein. Für einen simplen Besucherzähler reicht eine Textdatei aus, da sich darin immer nur eine Zahl befindet. Aber sobald Sie Anwendungen wie einen Online-Shop erstellen wollen, kommen Sie um eine Datenbank nicht mehr herum. Denn müssen Sie dabei Daten ändern, löschen oder Teile der Daten extrahieren, ist dies bei einer Datenbank häufig mit wenig Code zu bewerkstelligen. Heutzutage stehen auch eine Menge Datenbanklösungen für herstellerspezifische Erweiterungen zur Verfügung. Und vor allem, viele dieser Lösungen kosten kaum Geld. Mehr dazu erfahren Sie in Kapitel 27, MySQL und C.
|