Where is the program running?

The most basic network applications are static Web applications -- a client computer running a Web browser retrieves and displays information stored on server running a Web server program. Retrieving and reading a Wikipedia article or a page from our class Web site are examples of static applications.

Other network applications are dynamic, with a program executing on either the client computer, the server or, most commonly, with programs on both the client and the server.

Nearly all network applications store data on a server, but some data may also be on the client. Some applications keep a copy of the data on the client and on the server. That enables a user to work when off line -- perhaps during a plane flight -- and automatically synchronize the data on the two machines when the client re-connects to the network.

We can characterize network applications by asking where data is stored and where program execution takes place.

Server-side execution: Data on server, program on server
Example: Order a book from Amazon.com. The data -- a description of the book, user reviews and ratings, etc. -- are on a server at Amazon. The programs which search for books and reviews and handle the order process and shopping cart run on the server. The Web browser just displays the results that are sent back.

Downloaded client-side execution: Data on server, client program automatically downloaded
Example: Find directions using Google Maps. The map data is on the server, along with the program for finding and retrieving maps, but the program for scrolling around on the map and zooming in and out executes on the client. It is downloaded automatically when the client requests the map. (For efficiency, only needed parts of the client program are downloaded at first).

Dedicated client-side execution: Data on server, client program installed in advance on client computer
Example: View a Youtube video. The video is retrieved from the server, and displayed on the client by the Adobe Flash player program, which was installed earlier. The Flash player is an extension of or helper for the Web client program.

Non-Web client: Data on server, non-Web client program
Example: View Google Earth. The map data is stored on a server and it is accessed and displayed by a client program which is downloaded and installed in advance. The client program is independent and does not use a Web client.

In practice, few, if any, applications fit the pure client or server-side case -- part of the program executes on the client and part on the server. I can't think of an example of pure client-side execution with no programming on the server.

Finally, note that the term cloud is often used to describe network applications. This comes from the fact that people often draw a cloud to represent the Internet. We can say that data or a program is stored "in the cloud."


Disclaimer: The views and opinions expressed on unofficial pages of California State University, Dominguez Hills faculty, staff or students are strictly those of the page authors. The content of these pages has not been reviewed or approved by California State University, Dominguez Hills.