Docstoc

Client Server

Document Sample
Client Server Powered By Docstoc
					Client-Server Computing1
 Peer-to-peer networking allows large or small computers to initiate interaction and to interact arbitrarily with other computers.  Distributed computing refers to any interaction among computers that share access to a peer-to-peer network.  The client-server model solves the rendezvous problem by asserting that in any pair of communicating applications, one side must start execution and wait (indefinitely) for the other side to contact it.  The client-server paradigm uses the direction of initiation to categorize whether a program is a client or a server. - In general, an application that initiates peer-to-peer communication is called a client. - By comparison, a server is any program that waits for incoming communication requests from a client.

1

Source: Computer Networks, Third Edition by Andrew S. Tanenbaum, Prentice-Hall

 Program vs. Process A process is an execution of a program. Multiple processes may run the same program.  When completion of a task takes multiple processes, interprocess communications are required. In a distributed environment such as the client/server architecture, each process may reside on a different machine.

1

Computing Tasks
   User Interface

Application Logic

Database Management

2

Distribution of Computing Tasks


Depending on how we distribute the computing tasks among various platforms, we can think of several forms of the client/server architecture. Two-tier client/server architecture Three-tier client/server architecture Multi-tier client/server architecture Distributed database systems Distributed application servers

    

3

Two-Tier C/S Architecture

User Interface

Application Logic Database Management

User Interface Application Logic

Database Management (Application Logic)*

* e.g., stored procedures in database systems

4

Generalized Two-Tier C/S Architecture
C1 D1

C2

D2

Cm

Dn

5

Advantages and Disadvantages of Two-Tier C/S Architecture
   It is relatively simple to implement. If application logic is large, clients tend to be fat. The same application logic is installed and maintained on every client.

6

Three-Tier C/S Architecture
Database Management

User Interface

Application Logic

7

Generalized Three-Tier C/S Architecture

C1

A1

D1

C2

A2

D2

Cl

Am

Dn

8

Infrastructure in the Three-Tier C/S Architecture
      Connectivity Process/Thread Management Database Connection Management Distributed Transaction Processing Security Directory Services

9

Multi-tier Client/Server Architecture

Process1

Process2

Process n

10

Benefits of Client/Server Architecture
 Flexibility and Scalability - Flexibility of C/S architecture allows the implementation of business reengineering. - Depending on the changing business environment, the technical architecture of your business can be implemented accordingly.

 End User Productivity - Provide data access to the user and let them do their work.  Centralized Control - In the two-tier architecture, enterprise-wide database can be developed and maintained.  Cost Savings This can be true in the long term, but training cost can be more than savings at least in the short term.

11


				
DOCUMENT INFO