Professionelle Webentwicklung | © GAL Digital GmbH
Durchdacht.

WEBANWENDUNGEN

Webentwicklung
Premium Webseiten GAL Digital GmbH

PROJEKTE MIT TOLLEN KUNDEN.

Nächstes Element Nächstes Element
room it! E-Commerce ROOM-IT Individuelle E-Commerce Anwendung auf Shopware-Basis
VDMA Umfrage-Plattform VDMA Umfrage-Plattform für eine der größten Industrieverbände
Bihler Responsive Relaunch BIHLER Responsive Relaunch inkl. Produktdatenbank
Barksdale Online Angebotsgenerator BARKSDALE Online Angebotsgenerator mit Systemintegration
Schwind PIM-Lösung SCHWIND Internetpräsenz mit Ärzteportal in einer PIM-Lösung
Was ist eine Webanwendung und welche anderen Begriffe gibt es dafür? Bei der klassischen Webanwendung, die auch als Client-Server-Anwendung oder Webapplikation bezeichnet wird, handelt es sich um ein Anwendungsmodell, das auf dem Prinzip des Client-Server-Modells basiert. Dementsprechend wird eine solche Anwendung nicht auf dem Rechner des Benutzers installiert – stattdessen findet die Datenverarbeitung auf einem externen Webserver statt. Die Ergebnisse der Datenverarbeitung werden anschließend an den Rechner des Anwenders, den sogenannten Thin Client, übertragen. Prinzipiell erfolgt die Übertragung über einen Webserver, der auf das HTTP-Protokoll für die Kommunikation setzt. Als großer Vorteil einer Webanwendung gilt die universelle Abrufbarkeit. Das heißt, dass sich die Daten über einen Webbrowser und somit unabhängig vom installierten Betriebssystem abrufen lassen. Die einzige Limitierung einer Webanwendung ist der Bedarf einer speziellen Laufzeitumgebung – hier gilt JavaScript als führend. Zusätzlich zählen Webanwendungen zu den asynchronen Applikationen. Durch den HTTP-Request sowie den anschließenden HTTP-Respond entsteht ein Zyklus – dieser wird auch als Request-Cycle bezeichnet.

Die grundsätzliche Strukturierung einer Webanwendung erfolgt mithilfe von HTML. Hier können die Entwickler neben der Struktur auch die Inhalte der finalen Webapplikation definieren. Für das Design wird dahingegen auf CSS gesetzt. Durch den Einsatz von JavaScript lassen sich zudem die Möglichkeiten von HTML und CSS erweitern. Des Weiteren sind oftmals SQL-Datenbanken und komplexere Programme in PHP in modernen Webanwendungen vorzufinden. Eine besondere Relevanz nehmen mittlerweile die responsiven Websites ein. Diese passen sich automatisch auf die verschiedenen Anforderungen des Endgeräts an und ermöglichen somit eine Darstellung auf typischen Computern und mobilen Endgeräten. Einen Schritt weiter geht zudem die Progressive Web App (PWA), die Merkmale besitzt, welche klassischerweise einer nativen Applikation vorbehalten waren. Eine PWA ermöglicht es Unternehmen, auf die Entwicklung einer autarken App für mobile Endgeräte zu verzichten. Stattdessen kann ein Nutzer die Website via URL aufrufen und auf ausgewählte Offline-Funktionalitäten zurückgreifen. Ermöglicht wird dieser Ansatz durch die Caching-Funktion der Service-Worker.
Mehr
Wie funktionieren Webanwendungen? Grundsätzlich lässt sich eine Webanwendung durch die Eingabe einer URL in den Webbrowser abrufen. Durch die Eingabe und Bestätigung der URL wird eine Anfrage an den Webserver gestellt, der diese entgegennimmt und an die Webanwendung übergibt. Im Anschluss wird der HTML-Quelltext der Zielwebsite geladen und an den anfragenden Browser weitergeleitet. Die Anfrage wird als HTTP-Request und die anschließende Antwort als HTTP-Response bezeichnet. Bei der geladenen Website handelt es sich um die Benutzeroberfläche der Webanwendung. Ein genauerer Blick auf die Schichtenarchitektur einer Website verdeutlicht zudem, dass lediglich die Präsentationsschicht im Browser des Anwenders ausgeführt wird. Dahingegen sind die Logistikschicht und die wichtige Datenhaltung Bestandteile der Serveraufgaben.

Jede weitere Interaktion auf der Website, etwa das Ausfüllen eines Formulars, führt zu einem erneuten HTTP-Request. Im klassischen Fall erfolgt hierbei die Übertragung der gemachten Eingaben mit dem HTTP POST. Die Übertragung der Linkparameter erfolgt als HTTP GET – auch die Übergabe der HTTP-Cookies an den Webserver für die weitere Verarbeitung findet hier statt. Des Weiteren muss eine Webanwendung über Schnittstellen wie Fast CGI verfügen, um eine Anbindung zum Webserver zu ermöglichen. Nur mithilfe einer solchen Schnittstelle lassen sich Anfragen an die Webanwendung weiterleiten und Ausgabewerte senden. Eine besondere Relevanz bei Webanwendungen nehmen die Sessiondaten ein. Diese lassen sich beispielsweise mithilfe von HTTP-Cookies speichern und in eine Datenbank schreiben. Durch den Einsatz dieser Cookies können Betreiber die Interaktionen des Nutzers mit der Webanwendung nachvollziehen – aufgrund der EU-DSGVO muss hier ein besonderes Augenmerk auf dem Datenschutz liegen. Ein Nachteil solcher Cookies ist der Ressourcenverbrauch, der eine horizontale Skalierung der Anwendung erschwert. Bei skalierbaren Anwendungen kommt deshalb oft das REST-Paradigma zum Einsatz, welches die server- und clientseitige Ausführung der Webanwendung ermöglicht.
Mehr
Was sind die Vorteile einer Webanwendung? Die Nutzung einer Webanwendung kann einige Vorteile aufweisen. So gelten Webanwendungen als betriebssystemunabhängig. Für den Zugriff auf eine solche Webapplikation wird im Regelfall lediglich ein Webbrowser vorausgesetzt – dieser ist auf den meisten Betriebssystemen bereits vorinstalliert. Zudem muss der Benutzer nicht aktiv werden und eine Software installieren, denn die Bearbeitung der Anfragen erfolgt durch die Client-Server-Anwendung. In einigen Fällen bedarf die Benutzung einer Webanwendung allerdings eines Browser-Plugins – als renommiertes Beispiel ist Flash anzuführen. Doch die Nutzung von Flash verzeichnet seit dem Aufkommen mobiler Endgeräte einen starken Rückgang, sodass den Webapplikationen ein hoher Grad an Plattformunabhängigkeit zuzuschreiben ist.

Ein besonderer Vorteil einer Client-Server-Anwendung ist die einfache Wartbarkeit. Die Anpassungen erfolgen grundsätzlich auf dem Webserver– hierdurch sinken die Wartungskosten. Eine weitere Folge dieses Ansatzes sind auch Sicherheitsvorteile. Durch die einfache Anpassung der Webanwendung lassen sich Sicherheitslücken schnell und unmittelbar schließen. Zusätzlich führt auch das Kompromittieren einer kompletten Webanwendung nicht zu weiteren Sicherheitslücken, denn das Anwender-System – der Webserver – hostet im Regelfall keine weiteren Anwendungen.
Mehr
Was sind die Nachteile einer Webanwendung? Das Benutzen einer Webanwendung geht auch mit einigen Nachteilen einher, die bereits vor der Entwicklung zu berücksichtigen sind. Grundsätzlich kann eine Webapplikation nur dann funktionieren, wenn diese eine Verbindung zu einem Webserver besitzt. Ist diese Verbindung nicht vorhanden, ist ein Austausch der HTTP-Requests und HTTP-Responds zwischen der Client-Server-Anwendung und dem Server nicht möglich. Des Weiteren spielt auch die Datenrate der bestehenden Verbindung eine Rolle, denn diese muss stets den Anforderungen der Webapplikation genügen. Durch diese Limitierung ist der Einsatz von Webanwendungen im mobilen Offline-Betrieb grundsätzlich nicht möglich.

Ein weiterer Nachteil einer Webanwendung ist die Interaktion mit einem Browser. Standardmäßig sollte eine Webapplikation mit einem Browser problemlos interagieren können. In der Realität ist dies jedoch nicht gegeben, da die Browser den HTML-Code unterschiedlich interpretieren. Auch Standards wie W3C schaffen hier keine Abhilfe. Ersichtlich sind die Unterschiede bereits bei der Darstellung der Applikationen – hier treten oftmals Abweichungen zwischen den Browsern auf. Diese rein optischen Abweichungen sind dabei oftmals unerheblich. Wichtiger sind die fehlerhaften Interpretationen des JavaScript-Quellcodes. Durch diese eklatanten Unterschiede müssen Webanwendungen mit Ausnahmebehandlungen für Browser und deren Versionen versehen werden. Schlussendlich spielt auch der Request-Cycle bei der Entwicklung einer Webapplikation eine entscheidende Rolle. Das bedeutet, dass der Webserver und die Anwendungen asynchron kommunizieren und somit die Echtzeitverarbeitung von Daten nicht möglich ist.
Mehr
Welche Frameworks gibt es zur Erstellung von Webanwendungen? Bei einem Webframework, kurz auch als Framework bezeichnet, handelt es sich um eine Software, welche die Entwicklung von Webanwendungen ermöglicht. Durch die Nutzung eines Frameworks lassen sich die Entwicklung erleichtern und die Selbstdokumentation optimieren. Zudem bieten Webframeworks vordefinierte Klassen wie für die Authentifizierung oder den Mailversand. Neben den Frameworks sind auch die entsprechenden Libraries zu berücksichtigen.

Die folgenden Webframeworks haben sich in der Praxis etabliert:
- Bootstrap: Hierbei handelt es sich um ein freies Frontend-CSS-Framework mit Gestaltungsvorlagen auf Basis von HTML und CSS. Bootstrap bietet unter anderem auch optionale JavaScript-Erweiterungen.
- Neos Flow: Dieses Framework basiert auf PHP und wurde für das CMS TYPO3 Neos entwickelt. Es dient grundsätzlich für die Entwicklung von PHP-Applikationen.
- CakePHP: Auch dieses Framework basiert auf PHP und folgt dem Schema des Model View Controller (MVC). Dieses Framework stellt nur geringe Anforderungen an den Webserver und erfordert keine eigene Datenbank.
- .NET Framework: Dieses Framework ist ein Bestandteil der Microsoft Software-Plattform .NET und umfasst zahlreiche Schnittstellen und Werkzeuge für die App-Entwicklung.
Mehr
Wie sicher sind Webanwendungen? Eine der Grundsatzfragen bei der Entwicklung einer Webapplikation ist die nach der Sicherheit der Anwendung. Grundsätzlich gibt es hier zahlreiche Möglichkeiten, die zur Analyse der Sicherheit einer Webanwendung dienen. Hervorzuheben sind jedoch die grundlegenden Angriffsmöglichkeiten, welche im direkten Zusammenhang mit Webanwendungen stehen. Bereits während der Implementierung einer solchen Applikation lassen sich Sicherheitslücken vermeiden. Allerdings gibt es vielfältige Angriffsmöglichkeiten bei Client-Server-Applikationen zu berücksichtigen, die vom Browser bis zum SSL-Protokoll reichen. In der Praxis ist es nahezu unmöglich, dass während der Einführung keinerlei Exploits entstehen. Aus diesem Grund sollten die Entwickler und Anbieter den Fokus auf den Schutz der Anwender legen.

Eine etablierte und sinnige Herangehensweise bei der Gewährleistung der Anwendungssicherheit ist das Testen. Der Secure Software Development Lifecycle kann hierbei zur Identifikation von Sicherheitsproblemen zu unterschiedlichen Zeitpunkten dienen. Auch eine statistische Auswertung des Quellcodes offenbart schnell Sicherheitslücken. Auch dynamische Tests können konkrete Fehler aufzeigen – allerdings ist in der Planung ein hoher Zeitaufwand zu veranschlagen. In der Praxis sind umfangreiche Tests oftmals nicht möglich, da der Zugriff auf den Quellcode eingeschränkt oder die Zeit zum Testen zu knapp ist. Aus diesem Grund stellen Web Application Firewalls (WAFs) eine Möglichkeit zur Reduktion der Sicherheitsrisiken in einer Webanwendung dar. Diese wird vor die eigentliche Webanwendung geschaltet. Zu berücksichtigen sind hierbei jedoch die Auswirkungen auf die Performance sowie die hohen Anforderungen an die Entwickler. Vor allem bei geringen Zeitfenstern oder nicht ausreichenden Testkapazitäten stellen WAFs eine echte Alternative dar.
Mehr

Wissenswert.

Nächstes Element Nächstes Element