Was ist eine Webanwendung?
Was ist eine Webanwendung?
Eine Webanwendung ist eine Anwendung im Internet oder einem privaten Netz innerhalb eines Unternehmens. Anwendungen können für die breite Öffentlichkeit verfügbar sein oder mittels Benutzerauthentifizierung (Benutzerkennung und Passwort oder fortschrittlichere Authentifizierungen) nur ausgewählten Benutzern zur Verfügung gestellt werden.
Webanwendungen sind mit dem PC oder dem Handy abrufbar. Dafür werden sie “responsive” aufgebaut, das heißt, die Anwendung passt sich automatisch an die Bildschirmgröße an und stellt die Inhalte sinnvoll dar, unabhängig ob großer Monitor oder kleines Handydisplay.
Dynamische Webseite
Webanwendungen sind dynamische Webseiten. Dynamisch heißt, dass sie nicht nur aus feststehendem Inhalt bestehen, sondern Inhalte in Abhängigkeit vom Benutzer, von individuellen Parametern, von der Tageszeit oder dem Wetter abhängen.
Datenverarbeitung zentral
Bei Webanwendungen findet die Datenverarbeitung typischerweise nicht oder nur in geringem Maße auf dem Computer des Anwenders statt, sondern auf zentralen Servern, die im Internet oder Intranet verfügbar sind. Das hat den großen Vorteil, dass Daten zentral gespeichert werden und somit allen autorisierten Nutzern unmittelbar zur Verfügung stehen. Zusätzlich muss auch nur eine zentrale Datensicherung erfolgen, um die Daten vor Zerstörung zu schützen. Damit es aber jederzeit zur Verfügung steht, werden diese Systeme fehlertolerant ausgelegt.
Schichten der Webanwendung
Typischerweise sind Webanwendungen dreiteilig, in drei Schichten, aufgebaut:
- Die Benutzeroberfläche ist der Teil der Software, die der Anwender zu Gesicht bekommt. Diese Teile der Webanwendung werden im Browser (z.B. Internet Explorer, Firefox) dargestellt. Sie ist die oberste Anwendungsschicht.
- Die Anwendungsschicht beinhaltet die Anwendungslogik. Hier finden Berechnungen und Prüfungen statt. An dieser Stelle wird auch sichergestellt, welche Daten der Anwender geliefert bekommt. Moderne Webanwendungen teilen veröffentlichen Ihre Anwendungsschicht in Form von REST Schnittstellen, wodurch die Logik und Daten nicht bloß innerhalb einer Anwendung genutzt, sondern auch von anderen technischen Anwendungen abgefragt werden können. Außerdem ist dadurch die Benutzeroberfläche stärker von anderen Teilen entkoppelt und kann einfacher ausgetauscht werden, um z. B. neuen Anforderungen an Funktion und Gestaltung gerecht zu werden.
- In der Datenschicht werden die Anwendungsdaten zentral gespeichert. Typischerweise handelt es sich um SQL-Datenbanken.
Der Aufruf erfolgt von der oberen Schicht zur unteren, d.h. die Benutzeroberfläche fragt eine Berechnung an der Anwendungsschicht an. Die Anwendungsschicht wiederrum fragt die Daten in der Datenschicht an. Somit ist die Basis für eine klare Architektur gelegt, in der die Komponenten nur lose gekoppelt sind.
Was unterscheidet Webanwendungen von Desktopanwendungen?
Desktopanwendungen sind der Klassiker. Sie bieten viel Funktionalität und in der Entwicklung viele Freiheitsgrade. Gerade, wenn spezifische Hardwarekomponenten angesprochen werden, kommt man um eine Desktopanwendung nicht herum. Allerdings erfordern sie viel Aufmerksamkeit: Sie müssen auf jedem PC installiert werden und bei neuen Versionen aktualisiert werden.
Webanwendungen sind zentral auf wenigen Servern installiert. Der Anwender greift über das Netz (Internet oder Unternehmensnetz) auf die Anwendung zu, so dass auf dem PC keine Installation nötig ist. Die Anwendung ist immer so aktuell, wie die Installation auf dem Server.
In der Desktopanwendung sind die Daten häufig lokal gespeichert. Ist die PC defekt, sind häufig auch die Daten verloren.
Von Webanwendungen, die auf gesicherten Servern laufen, werden regelmäßige Datensicherungen (Backups) erzeugt.
Desktopanwendungen müssen für jedes Betriebssystem mindestens angepasst, im schlechtesten Fall neu entwickelt werden. Verwenden manche Mitarbeiter Windows und andere Apple? Dann müssten separate Anwendungen entwickelt und gepflegt werden. Für Mobilgeräte wie Handys und Tabletts gilt dasselbe.
Bei Webanwendungen achten wir darauf, dass sie von vorneherein “responsive” entwickelt werden, d. h. für diverse Browser mit verschiedenen Displaygrößen ausgelegt sind. So brauchen Sie sich um unterschiedliche Betriebssysteme und Geräte nicht zu sorgen.