What is the difference between a web application and a client/server application?
Asked Answered
C

5

9

I took this from another question I had.

Under appropriate uses for sqlite it has:

Situations Where SQLite Works Well

•Websites

SQLite usually will work great as the database engine for low to medium traffic websites (which is to say, 99.9% of all websites). The amount of web traffic that SQLite can handle depends, of course, on how heavily the website uses its database. Generally speaking, any site that gets fewer than 100K hits/day should work fine with SQLite. The 100K hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.

Situations Where Another RDBMS May Work Better

•Client/Server Applications

If you have many client programs accessing a common database over a network, you should consider using a client/server database engine instead of SQLite. SQLite will work over a network filesystem, but because of the latency associated with most network filesystems, performance will not be great. Also, the file locking logic of many network filesystems implementation contains bugs (on both Unix and Windows). If file locking does not work like it should, it might be possible for two or more client programs to modify the same part of the same database at the same time, resulting in database corruption. Because this problem results from bugs in the underlying filesystem implementation, there is nothing SQLite can do to prevent it.

A good rule of thumb is that you should avoid using SQLite in situations where the same database will be accessed simultaneously from many computers over a network filesystem.


My Question:

I'm going to show my ignorance here but what is the difference between these two?

Champac answered 3/4, 2009 at 18:16 Comment(2)
This is not really a question about client/server. It's a question about where/when to use SQL Lite.Bump
I disagree. It could be both. It is mostly about the former, in my mind.Champac
P
23

A "Web Application" is one in which a browser is commonly used as the client. A Web application IS A Client/Server Application. In other words, you could think of a client/server application as a superclass, where the web application is a child class.

Peepul answered 3/4, 2009 at 18:37 Comment(1)
Although I agree completely, I think that there is a (generally incorrect IMHO) perception that using a web browser some how excludes web applications from being "client / server" applications.Steno
V
9

"web" applications imply the browser is the client

Client/Server apps imply a custom client app. Think Outlook hooked up to exchange, while it may use the web to connect, it is its own client to the exchange server.

EDIT:

More specific to the sqlite text you posted, what they mean is that client applications shouldn't be accesing your sqllite DB directly, and instead should be using some sort of server side interface (i.e. a json web service)

But that rule of thumb, in my opinion, applies to ALL database engines. If I were using SQL Server or Oracle, I would DEFINIETLY avoid having client apps connect directly to the DB, this has many potential problems, the first being security.

Vector answered 3/4, 2009 at 18:19 Comment(3)
sane DB servers have far better security frameworks than any custom webappBadderlocks
Javier I think you are missing the point. For a client app to connect to a DB directly, it needs a login to that DB, which means login credentials (no matter how restriceted that login may be) are still stored client side, which is a big no noVector
No sane DBA would allow a coder to put a db login in a client side app.Vector
S
7

There are a few differences of note:

Web Applications assume the client is a web browser and that communication between the client and server is stateless (HTTP). It also tends to assume that the client is "thin" and very little processing of information is done in the browser.

Client-Server Applications assume the client is a "thick" client and that communication between the client and server maintains state (this isn't necessarily true). Communication can be pretty much any protocol. The old-fashioned client-server, or 2-tier application does have each client connect to the database directly - I would advise against this for various reasons, number one being security. This is probably what the source you posted meant when saying SQLite isn't appropriate.

A 3+tier type of application could still have a with-state client-server communication, but the middle-tier would handle the actual database communication. In this case, latency on the network isn't important and SQLite could work (because it is more like a web app).

Shandeigh answered 3/4, 2009 at 18:37 Comment(1)
What does you mean "maintains state" in the second paragraph?Champac
L
1

Difference b/n Client /server application and web application server

1)Client server applications follow up Two tier architecture, but web server applications follows Three tier or 'n'tier architecture.

2)In client server application we will not use Web servers, but in web server applications same will be used.

3)Client server applications Majorly used in Intranet areas,but web server applications used in Internet areas.

4)Securiry issues are very less in client server as there are Minimum users,but in Web server Security issues are Maximum as end users are more.

5)Performance issues will not be taken in to consideration in client server, but consideration will be done web server applications.

Labor answered 26/5, 2013 at 8:20 Comment(0)
B
0
  1. Web apps runs on a browser, client-server apps runs as .exe.
  2. Web applications run on server, Client-Server apps run on client side.
  3. Web application is thin client, client-server app is thick client.
  4. Web application does not need to be installed in client system, Client-server apps need to be installed in client system 5.Web apps need low maintenance, client-server apps need high maintenance

http://webvsclientserverbysujan.blogspot.in/2014/01/WebVsDesktoApppbysujan.blogspot.com.html

Burkes answered 30/1, 2014 at 8:43 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.