N- Tier Architecture

The Client/Server Architecture

Client/Server describes the relationship between two computer programs where one program the client makes request from another program the sever which fulfils the request.Each web server has a daemon that continually waits for requests to come in from Web clients and their users.

Although the client/server idea can be used by programs within a single computer, it is a more common solution for networks.

The client server architecture evolved out of older architectures as a means of a solution to the conundrum of how to handle centralized data control and widespread data accessibilty.

Non Client server Architecture

Mainframe architecture

With mainframe software architectures all intelligence is within the central host computer. Users interact with the host through a terminal that captures keystrokes and sends that information to the host.

One of the advantages of Mainframe is that Mainframe software architectures are not tied to a hardware platform. User can interact using PCs and UNIX workstations.

Limitation of mainframe software architectures is that However In the last few years, mainframes have found a new use as a server in client/server architectures .

File sharing architecture The original PC networks were based on file sharing architectures, where the server downloads files from the shared location to the desktop environment. The requested user job is then run (including logic and data) in the desktop environment.
Disadvantage of File sharing architectures is it could only work efficiently if shared usage is low, update contention is low, and the volume of data to be transferred is low. One of the advantages is that they used PC's which could be hooked up to LANS and supported GUI's.

The Client/server architecture emerged as a result of the limitations of file sharing architectures,
This approach introduced a database server to replace the file server. Using a relational database management system (DBMS), user queries could be answered directly. The client/server architecture reduced network traffic by providing a query response rather than total file transfer. It improves multi-user updating through a GUI front end to a shared database. In client/server architectures, Remote Procedure Calls (RPCs) or standard query language (SQL) statements are typically used to communicate between the client and server.

Client Server Architectures are commonly composed of various tiers.

  1. A Single_Tier:
    A single tier architecture has both the interface, buisness logic and database highly coupled. Any changes made to one program requires changes being made to all others. It lacks flexibility
    Single Tier
  2. Two_Tier Architecture:
    With two tier client/server architectures the user system interface(Client) is usually located in the user's desktop environment and the database management services are usually in a server that is a more powerful machine that services many clients. Processing management is split between the user system interface environment and the database management server environment. The client performs most of the buisness logic as well as the presentation, updating shared data by communication with the database using sql. What are the disadvantages:

    Two Tier

  3. Three_Tier Architecture:
    In the three tier architecture, a middle tier was added between the user system interface client environment and the database management server environment. There are a variety of ways of implementing this middle tier, such as transaction processing monitors, mail servers, or application servers. The middle tier can perform queuing, application execution. For example, if the middle tier provides queuing, the client can deliver its request to the middle layer and disengage because the middle tier will access the data and return the answer to the client. In addition the middle layer adds scheduling and prioritization for work in progress. The three tier client/server architecture has been shown to improve performance for groups with a large number of users (in the thousands) and improves flexibility when compared to the two tier approach. A limitation with three tier architectures is that the development environment is reportedly more difficult to use than the visually-oriented development of two tier applications.Recently, mainframes have found a new use as servers in three tier architectures.

    Three Tier

Middleware is the term used to describe the buisness logic present in an application server.

Relative to the internet , your web browser is a client program that request services (sending of web pages/files) from a Web(Http)Server in another computer somewhere on the internet.
Computer A may be the client that gets a form from Computer B.The information is filled out the form is posted back to Computer B for processing then stored at Computer C where the database resides.