Client Server-Anwendung vs. Webanwendung
Eine Anwendung, die auf der Clientseite ausgeführt wird und auf den Remote-Server zu Informationen zugreift, wird als Client / Server-Anwendung bezeichnet, während eine Anwendung, die vollständig in einem Webbrowser ausgeführt wird, als Webanwendung bezeichnet wird. Der Client-Server stellt immer Anfragen an den Remote-Server, um Informationen zu erhalten. Die Benutzerinteraktion mit dem Server erfolgt immer über eine Benutzeroberfläche oder Anwendung auf der Clientseite. Die Benutzerinteraktion in einer Webanwendung erfolgt über einen Webbrowser. Eine Client-Server-Anwendung kann abhängig von der verwendeten Programmiersprache sowohl plattformspezifisch als auch plattformübergreifend sein. Eine Webanwendung ist plattformunabhängig, da nur ein Webbrowser erforderlich ist. Die plattformübergreifende Sprache lässt eine Anwendung nativ zur Plattform oder zum Betriebssystem des Clients aussehen.
Die Client / Server-Anwendung wird im Gegensatz zu einer Webanwendung immer auf dem Computer des Clients installiert. Webanwendungen können direkt auf den Browsern ausgeführt werden und erfordern daher keine Installation. Eine Client-Server-Anwendung verwendet eine zweischichtige Architektur, während eine Webanwendung eine mehrschichtige Architektur verwendet, die aus folgenden Elementen besteht: Benutzer-Client, Mittelschicht und Anwendungsserver. Eine Webanwendung verwendet ein Einzelbenutzersystem, im Gegensatz zu einer Client-Server-Anwendung, die zwei Benutzer verwendet: Client und Server.
Eine Webanwendung wird in einer vom Browser kontrollierten Umgebung gehostet oder oft in einer Sprache programmiert, die den Browser unterstützt. JavaScript ist die am häufigsten verwendete, vom Browser unterstützte Sprache. In Client / Server-Anwendungen ist der Server-Computer ein Host, auf dem Programme mit einem oder mehreren Servern ausgeführt werden, die ihre Ressourcen mit Clients gemeinsam nutzen. Ein Client fordert immer Informationen oder Inhalte von einem Server an, ohne seine Ressourcen gemeinsam zu nutzen.
In einer Client / Server-Anwendung ist es schwierig, Skriptfehler zu testen, während in Webanwendungen Skriptfehler einfach getestet werden können. Bestimmte Arten von Clients, die in einem Client / Server-Modell verwendet werden, sind Webbrowser, E-Mail-Clients und Online-Chat-Clients. Die verwendeten Servertypen sind: Webserver, FTP-Server, Anwendungsserver, Datenbankserver, Namenserver, Dateiserver, Mailserver, Terminal- und Druckserver.
In einem Client / Server-Modell wird der Server häufig mit der Anzahl gleichzeitiger Clientanforderungen überlastet. In einer Webanwendung ist dieses Problem ausgeschlossen, da nur ein kompatibler Webbrowser erforderlich ist, um die Webanwendung zum Laufen zu bringen. Beispiele für Webanwendungen sind: Yahoo Mail, Gmail, WebOffice, Google Apps, Microsoft Office Live, WebEx usw.
Zusammenfassung:
1. Eine Client / Server-Anwendung verwendet eine zweischichtige Architektur, während eine Webanwendung eine mehrschichtige Architektur verwendet.
2. In einer Client / Server-Anwendung erfolgt die Benutzerinteraktion mit dem Server hauptsächlich über eine Benutzeroberfläche, während in einer Webanwendung die Benutzerinteraktion über einen kompatiblen Webbrowser erfolgt.
3. Eine Client / Server-Anwendung weist keine Robustheit auf, da bei einem Serverausfall die Anforderungen nicht abgeschlossen werden können, während eine Webanwendung robust ist.
4. Eine Client / Server-Anwendung erfordert die Installation auf dem Client-Computer, während eine Webanwendung direkt über einen kompatiblen Webbrowser ausgeführt werden kann.
5. In einem Client / Server-Modell kann der Server mit den steigenden Clientanforderungen überlastet werden, was zu einer geringen Leistung führt, während mehrere Benutzer gleichzeitig eine Webanwendung verwenden können und zudem eine überlegene Leistung bieten.