Webanwendung

Aus Foxwiki

topic - Kurzbeschreibung

Beschreibung

Eine Webanwendung (auch Online-Anwendung, Webapplikation oder kurz Web-App) ist ein Anwendungsprogramm nach dem Client-Server-Modell. Anders als klassische Desktopanwendungen werden Webanwendungen nicht lokal auf dem Rechner des Benutzers installiert. Die Datenverarbeitung findet teilweise auf einem entfernten Webserver statt. Die Ergebnisse der Datenverarbeitung werden an den lokalen Client-Rechner des Benutzers übertragen (Thin Client). Genutzt wird eine Webanwendung dabei zumeist über einen Webbrowser. Diese kommuniziert mit dem Webserver meist über das HTTP-Protokoll.

Anders als Desktopanwendungen erfordern Webanwendungen kein spezielles Betriebssystem auf dem Rechner des Benutzers. Manche Web-Apps benötigen jedoch aktuelle Webbrowser oder spezielle Laufzeitumgebungen wie beispielsweise JavaScript.

Teile der Ausführungslogik führt man dennoch möglichst nicht erst auf dem Server, sondern bereits auf dem Client-Rechner aus, vor allem zur vorläufigen Validierung. Eingabefehler werden so bereits lokal erkannt. Rückmeldungen an den Nutzer erfolgen dadurch sofort ohne ein Warten auf die Rückantwort von einem fernen Server. Mittels AJAX-Technik werden nur Teilbereiche der Inhalte im Webclient aktualisiert ohne die Webseite erneut aufrufen zu müssen. Eine solche Verteilung kann bis hin zu einer Fat-Client-Architektur ausgebaut werden (siehe Single-page-Webanwendungen).

Durch die Verbreitung internetfähiger, mobiler Smartphones und Tabletcomputer verbreitet sich die Verwendung der Abkürzung Web-App zunehmend.

Installation

Funktionsweise

Allgemeine Funktionsweise

Datei:Webanwendung client server 01.png
Schematischer Datenfluss bei einer Client-Server-Webanwendung

Man startet eine Webanwendung, indem man z. B. im Browser die URL des Webservers eingibt und damit eine Anfrage (HTTP-Request) sendet. Der Webserver nimmt die Anfrage entgegen und übergibt sie an die Webanwendung. Dieses erzeugt oder lädt den HTML-Quellcode einer Webseite, welche vom Webserver zurück zum Browser des Benutzers geschickt wird (HTTP-Response). Diese Webseite ist die grafische Benutzeroberfläche der Webanwendung. Betrachtet man die Schichtenarchitektur einer Webanwendung, wird die Präsentationsschicht im Webbrowser ausgeführt (Thin Client). Teile der Logikschicht und Datenhaltung werden serverseitig ausgeführt.

Durch Anklicken eines Hyperlinks auf dieser Webseite oder Ausfüllen und Absenden eines Formulars startet man eine erneute Anfrage an den Webserver. Hierbei werden typischerweise weitere Informationen, wie z. B. die in dem Formular getätigten Eingaben (HTTP POST), die Parameter des Links (HTTP GET) und die Daten eines HTTP-Cookie an den Webserver übermittelt und als Eingabe durch die Webanwendung verarbeitet. Über Schnittstellen wie z. B. das Common Gateway Interface oder FastCGI wird die Webanwendung innerhalb des Webservers eingebunden. Auf diese Weise werden Anfragen an die Webanwendung weitergeleitet und die Ausgaben der Webanwendung als Antwort zurückgesendet. Die Abarbeitung eines solchen HTTP-Requests durch die Webanwendung nennt man auch Request Cycle.

Bei der Benutzung von Web-Apps werden Sessiondaten (z. B. Bestelldaten eines Webshops) serverseitig in Datenbanken oder Dateien gespeichert. Benutzerbezogene Daten können auch clientseitig durch HTTP-Cookies gespeichert werden. Serverseitige Sitzungsinformationen verbrauchen – je aktive Benutzersitzung – Serverressourcen. Ebenfalls erschweren serverseitige Sitzungsinformationen eine horizontale Skalierung der Webanwendungen. Alternative Architekturansätze für Webanwendungen wie Single-page-Webanwendungen oder das REST-Paradigma kombinieren daher die serverseitige mit der clientseitigen Ausführung.

Während eine Webanwendung einst nur den HTML-Quellcode der Webseiten erzeugte, werden seither auch Bilder, Animationen, Videos, Audiodateien und PDF-Dokumente erzeugt.

Funktionsweise mobiler Web-Apps

Vorlage:Hauptartikel

Webanwendungen weisen den Vorteil auf, dass sie auf beliebigen Endgeräten betrieben werden können. Das Endgerät benötigt einen Webbrowser, der die erforderlichen Webstandards (wie HTML5 oder JavaScript) unterstützt. Im Bereich von mobilen Anwendungen existieren Plattform-spezifische Schnittstellen zur Anwendungsentwicklung. Hierbei muss für jede Zielplattform eine eigene Implementierung umgesetzt werden. Solche Umsetzungen werden als native App bezeichnet. Webanwendungen können hingegen auf allen Plattformen ausgeführt werden. Sie werden als mobile Web-App bezeichnet.

Anwendung

Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch

Unterseiten

Sicherheit

Dokumentation

RFC
Man-Pages
Info-Pages

Links

Einzelnachweise
Projekt
Weblinks
  1. https://de.wikipedia.org/wiki/Webanwendung
  2. Sicherheit von Webanwendungen. Maßnahmenkatalog und Best Practices vom Bundesamt für Sicherheit in der Informationstechnik (BSI)
  3. Web Security Threat Classification


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5