Quickwords - Vocabulary used in this article


Application Layers

If you think that a client is a businessperson's typical customer, a server is someone who waits on tables at your local Denny's, or LAN is a Vietnamese name, you're absolutely right on all three counts.

Application Layers

Fig. 1: Layers of an Application

But then, what do all these have to do with distributed computing? Recall that distributed computing spreads the workload across several different computers. Typical applications, like Corel WordPerfect, can run on one computer without a hitch. Other applications, though, are so computer-intensive that they need to use distributed computing, lest it chug along at a sluggish pace. How can a programmer split the application?

Application Split!

Presentation Layer - Sira orders some noodles

It turns out that applications are typically composed of three layers (please see Figure 1), according to Will Fastie of PC Magazine. The presentation layer handles the basic user input and output. It is responsible for providing the graphical user interface, recording the keystrokes, and tracking the user's mouse movement. At a fancy restaurant, the waiter handles this "presentation layer" by providing the customer with a menu — the interface — and writes down the customer's order, similar to Figure 2. A bowl of noodles, perhaps.

Fig. 2: The presentation layer.

The application or business logic is the actual core of the application. It takes the user's input and interprets it accordingly. If the user makes a request through the presentation layer — say, if he clicks on a "Delete This File" button — the application logic would interpret that. It also tells the presentation layer what to output. Back to our restaurant: the waiter gives the order to the head waiter, who then proceeds to the kitchen with the order, read it, then shout to the chef that a customer wants a bowl of noodles.

The Application/Business Logic

Fig. 3: The application or business logic layer.

The Bottom Layer

The bottom layer provides the basic services for the application logic, taking care of printing, communications, files, and databases. The request would be handed down to this bottom layer for processing. After fulfilling the request, the layer hands it to the application logic. In the restaurant analogy, the chef would prepare some noodles, place it in a bowl, and hand it to the head waiter, or the application logic. The head waiter would give the noodles to the regular waiter, who presents the fulfilled request to the customer.

A small restaurant could run this just fine with one customer, one waiter, one head waiter, and one chef. If there were fifty customers each with a food request — or one customer with fifty food requests — then the employees would get a bit bogged down. This sounds like a good time to hire more waiters and chefs!

Similarly, a regular home computer can run one application to do one task, whether it be opening or printing a document. If the computer has to fulfill fifty commands from the user at once — or opening fifty files at once — then the computer would get a bit bogged down too and crash in the confusion. This, too, sounds like a good time to purchase some more computers!

Fig. 4: The Bottom Layer

Previous Next View Printer-Friendly Version

©2000 Team DC (Thinkquest Team C007645). Hosted by ThinkQuest.