Was ist der Unterschied zwischen einer Webanwendung und einer Client / Server-Anwendung?

7

Ich nahm das von einer anderen Frage , die ich hatte.

Bei entsprechender Verwendung für sqlite gilt:

  

Situationen, in denen SQLite gut funktioniert

     

• Websites

     

SQLite funktioniert in der Regel gut als   Datenbankmodul für niedrig bis mittel   Verkehrswebsites (das heißt,   99,9% aller Websites). Der Umfang des Web-Datenverkehrs, mit dem SQLite umgehen kann   hängt natürlich davon ab, wie stark die   Website verwendet seine Datenbank. Allgemein   Sprechen, jede Seite, die weniger bekommt   als 100K Hits / Tag sollte gut funktionieren   mit SQLite. Die 100K-Treffer / Tag-Zahl   ist eine vorsichtige Schätzung, nicht schwer   obere Grenze. SQLite wurde   demonstriert mit 10 mal zu arbeiten   diese Menge an Verkehr.

     

Situationen, in denen ein anderes RDBMS Mai   Arbeite besser

     

• Client / Server-Anwendungen

     

Wenn Sie viele Client-Programme haben   Zugriff auf eine gemeinsame Datenbank über eine   Netzwerk sollten Sie in Erwägung ziehen,   Client / Server-Datenbankmodul stattdessen   von SQLite. SQLite funktioniert über a   Netzwerk - Dateisystem, aber wegen der   Latenz, die mit dem meisten Netzwerk verbunden ist   Dateisysteme, Leistung wird nicht sein   groß. Auch die Dateisperrlogik von   viele Netzwerk-Dateisysteme   Implementierung enthält Fehler (auf beiden   Unix und Windows). Wenn Datei gesperrt wird   funktioniert nicht wie es sollte, könnte es   für zwei oder mehr Kunden möglich sein   Programme, um denselben Teil von zu modifizieren   die gleiche Datenbank zur gleichen Zeit,   was zu einer Beschädigung der Datenbank führt.   Weil dieses Problem von Fehlern herrührt   im zugrunde liegenden Dateisystem   Implementierung, da ist nichts   SQLite kann dies verhindern.

     

Eine gute Faustregel ist, dass Sie   sollte vermeiden, SQLite in   Situationen, in denen die gleiche Datenbank   wird gleichzeitig von abgerufen   viele Computer über ein Netzwerk   Dateisystem.

Meine Frage:

Ich werde hier meine Unwissenheit zeigen, aber was ist der Unterschied zwischen diesen beiden?

    
johnny 03.04.2009, 18:16
quelle

5 Antworten

16

Eine "Web-Anwendung" ist eine Anwendung, in der ein Browser häufig als Client verwendet wird. Eine Webanwendung ist eine Client / Server-Anwendung. Mit anderen Worten, Sie könnten sich eine Client / Server-Anwendung als Superklasse vorstellen, bei der die Webanwendung eine Kindklasse ist.

    
hmcclungiii 03.04.2009, 18:37
quelle
7

"Web" -Anwendungen implizieren, dass der Browser der Client ist

Client / Server-Apps implizieren eine benutzerdefinierte Client-App. Denken Sie daran, Outlook angeschlossen zu tauschen, während es das Web verwenden kann, um eine Verbindung herzustellen, ist es ein eigener Client zum Exchange-Server.

BEARBEITEN:

Spezifischer für den sqlite-Text, den Sie gepostet haben, bedeutet dies, dass Client-Anwendungen nicht direkt auf Ihre sqllite-DB zugreifen dürfen und stattdessen eine Art serverseitige Schnittstelle (dh einen json-Web-Service) verwenden sollten >

Aber diese Faustregel gilt meiner Meinung nach für ALLE Datenbank-Engines. Wenn ich SQL Server oder Oracle verwende, würde ich DEFINIETLICH vermeiden, Client-Apps direkt mit der DB verbinden zu lassen, dies hat viele potentielle Probleme, das erste ist Sicherheit.

    
Neil N 03.04.2009 18:19
quelle
5

Es gibt einige Unterschiede:

Web-Anwendungen gehen davon aus, dass der Client ein Webbrowser ist und dass die Kommunikation zwischen Client und Server zustandslos (HTTP) ist. Es neigt auch dazu, anzunehmen, dass der Client "dünn" ist und nur sehr wenige Informationen im Browser verarbeitet werden.

Client-Server-Anwendungen nehmen an, dass der Client ein "dicker" Client ist und dass die Kommunikation zwischen dem Client und dem Server den Zustand beibehält (dies ist nicht unbedingt der Fall). Kommunikation kann so ziemlich jedes Protokoll sein. Die altmodische Client-Server- oder 2-Tier-Anwendung lässt jeden Client direkt mit der Datenbank verbinden - ich würde aus verschiedenen Gründen davon abraten, die Nummer eins ist die Sicherheit. Dies ist wahrscheinlich, was die Quelle, die Sie gepostet haben, bedeutet, dass SQLite nicht angemessen ist.

Ein 3 + Tier-Anwendungstyp könnte weiterhin eine Client-Server-Kommunikation im Status haben, aber die mittlere Schicht würde die eigentliche Datenbankkommunikation handhaben. In diesem Fall ist die Latenz im Netzwerk nicht wichtig und SQLite könnte funktionieren (weil es mehr wie eine Web-App ist).

    
Technical Bard 03.04.2009 18:37
quelle
1

Differenz b / n Client / Server-Anwendung und Webanwendungsserver

1) Client-Server-Anwendungen folgen Zwei-Ebenen-Architektur, aber Web-Server-Anwendungen folgen Three-Tier- oder 'n'tier-Architektur.

2) In der Client-Server-Anwendung werden wir keine Web-Server verwenden, aber in Webserver-Anwendungen werden dieselben verwendet.

3) Client-Server-Anwendungen Hauptsächlich in Intranet-Bereichen, aber Webserver-Anwendungen, die in Internet-Bereichen verwendet werden.

4) Securicy-Probleme sind sehr gering im Client-Server, da es Minimale Benutzer gibt, aber im Web-Server Sicherheitsprobleme sind Maximum, da Endbenutzer mehr sind.

5) Performance-Probleme werden im Client-Server nicht berücksichtigt, aber es werden Web-Server-Anwendungen in Betracht gezogen.

    
jia 26.05.2013 08:20
quelle
0
  1. Web-Apps werden in einem Browser ausgeführt, Client-Server-Anwendungen werden als .exe ausgeführt.
  2. Webanwendungen werden auf dem Server ausgeführt, Client-Server-Anwendungen werden auf der Clientseite ausgeführt.
  3. Web-Anwendung ist Thin Client, Client-Server-App ist Thick Client.
  4. Web-Anwendung muss nicht im Client-System installiert werden, Client-Server-Anwendungen müssen im Client-System installiert werden 5.Web-Apps müssen wartungsarm sein, Client-Server-Apps müssen sehr gepflegt sein.

Ссылка

    
Sujan 30.01.2014 08:43
quelle