Was ist eine Webanwendung?

Die Frage, was eine Webanwendung ist, kann ganz allgemein beantwortet werden. Und diese Antwort ist auch nicht schwer. Prinzipiell findet man eine ausreichende Erklärung bei Wikipedia. Dabei könnte man es natürlich belassen. Mache ich hier aber nicht. Den Begriff Webanwendung möchte ich erstmal in die beiden Bestandteile zerlegen.

Web

„Web“ bedeutet hier Netzwerk, nicht Internet. Beim Begriff Web findet man sich umgangssprachlich sehr schnell im „www“ wieder, also world wide web. Das ist hier aber nicht gemeint. Denn eine Webanwendung kann auch immer dann gemeint sein, wenn es sich um eine Anwendung handelt, die sich in einem bestimmten Netzwerk befindet und beispielsweise auch nur daraus aufgerufen werden kann. Charakterisierend ist also, dass der Benutzer der Anwendung nicht direkt vor dem Rechner (besser Server) sitzt, auf dem die Anwendung läuft.

Zur Beschreibung einer Webanwendung gehört auch die Abgrenzung zu einer Desktopanwendung. Dabei handelt es sich nämlich um eine Anwendung, die auf dem Rechner läuft, vor dem man sich befindet. Ausgenommen sind z.B. Thin-Clients oder andere Remote-Möglichkeiten. Eine Desktopanwendung kann hingegen auch mit einem Server kommunizieren und Daten abrufen. Das macht die Anwendung aber noch nicht zur Webanwendung.

Anwendung

Was ist nun eine „Anwendung“? Eine Anwendung impliziert einen Anwender. D.h. es gibt eine Person, die ein Softwareprogramm (die Anwendung) bedient. Im Zuge der Automatisierung ist eine Anwendung nun nicht mehr zwangsweise so zu verstehen, dass es unbedingt einen Anwender gibt. Die Frage, wozu es einen Anwender geben sollte, wurde früher oft so beantwortet, dass er das Programm bedient und damit als Auslöser für die Aktionen innerhalb der Anwendung gilt. Allerdings gibt es mittlerweile viele weitere „Trigger“, also Auslöser für Aktionen. Bestimmte Dinge können zeitgesteuert ausgelöst werden, andere durch eine Zustandsänderung eines Objektes innerhalb des Programms. Auch die Kommunikation mit anderen Systemen kann Auslöser sein.

Die Anwendung führt Dinge aus. Was denn für Dinge? Na ja, alles Mögliche. Was die Anwendung halt machen soll 🙂 Beispiele für Webanwendungen: Ressourcenplanung, Produktmanagement-Tools, Enterprise-Resource-Planning (ERP), …

Architekturen von Webanwendungen

Siehe Wikipedia 🙂

Ergänzung: Bei der Planung einer Webanwendung kommt es irgendwann an den Punkt, bei dem man die Architektur entscheidet. Manchmal passiert das nicht aktiv… sollte es aber. Eine Planung der Architektur und ein Schaubild davon sind Gründe für eine gute Zusammenarbeit bei der Erstellung von Webanwendungen. Wenn eine Architektur erstmal erstellt ist, wird sie vermutlich längere Zeit auch verwendet. Nichtsdestotrotz gibt es Situationen, die eine Änderung der Architektur verlangen. Veränderungen in der Entwicklung sollten diesbezüglich beachtet werden.

Noch eine wichtige Ergänzung: Eine Webanwendung kann als Monolith oder mit mehreren Microservices erstellt werden. Zu diesem Thema gibt es schon viele Artikel, daher wird das Thema hier nicht weiter vertieft.

Technologien

Welche Technologie bei einer Webanwendung verwendet wird, liegt häufig begründet in den Kenntnissen der Entwickler. Oftmals spielt es für die Anwendung auch keine Rolle, da zum Beispiel keine Performance-kritischen Themen dabei sind. Dennoch sollte bei der Auswahl der Technologie auch geprüft werden, ob es Dinge in der Webanwendung gibt, die für eine bestimmte Technologie sprechen. Bei Unsicherheit gilt „fail early“.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.