Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure Evolution of Client/Server Architecture ...

Post on 13-Jan-2016

267 views 3 download

Transcript of Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure Evolution of Client/Server Architecture ...

Unit – I

CLIENT / SERVER

ARCHITECTURE

Unit Structure

Evolution of Client/Server ArchitectureClient/Server ModelCharacteristics of Client/Server ModelClient/Server Architecture in the WebTypes of ServersTypes of Client/Server Models Advantages & Disadvantages of

Client/Server Model

Evolution of Client/Server Architecture

Mainframes Dumb Terminals All processing/data storage on mainframe computer Large number of users Expensive

Personal Computers Single User system Word Processing, Data Analysis using Spreadsheet Multimedia Applications & Games

Evolution of Client/Server Architecture

Clients & Server on different computer systems Local Area Network for Server and Client

connectivity Multiple Users Distributed computation, analysis, and presentation

between PCs Evolved during 1980s Heterogeneous hardware and software Provides greater usability, flexibility, scalability and

interoperability

CLIENT / SERVER MODEL

Model or architecture describes the relationship between two computer programs – Client & Server

Client is the requester that makes a service request

Server fulfills the request or services the request

Multiple client programs share the services of a common server program

CLIENT / SERVER MODEL

Servers typically contain data files & applications accessed by multiple clients

Client & Server share the processing loadClient / Server can be on same computer

system or on different computer systemsClient/Server model - a convenient way to

interconnect programs distributed across different locations

CLIENT / SERVER MODEL

Client initiates request

Server services request

SERVER CLIENT

CLIENT / SERVER MODEL

Server can range from PCs to mainframesStandard Server hardware

Support for large amount of RAM Fast input and output Fast network cards Ability to support multiple processors Support for fault tolerance

Characteristics of Client/Server Model

Asymmetrical protocolsEncapsulation of servicesLocation transparencyMessage-based exchangesModular, Extensible designPlatform IndependenceScalabilitySeparation of Client/Server Functionality Shared resources

Characteristics of Client/Server Model

Benefits Provided by Server Optimization Centralization Data Integity Security Back-up

Function of Client / Server Client

Initiates requests Waits for and receives replies Can connect to several servers at the same time Typically interacts directly with end-users using a

Graphical User Interface (GUI) Server

Waits for requests from clients Upon receipt of requests, processes them and then serves

replies Usually accepts connections from a large number of

clients Typically does not interact directly with end-users

Transaction Processing Example

Transaction –Get Balance in a Bank Account Steps

User initiates request giving bank account number (Client program )

Main Server at Bank (Server program) services the request by contacting the Database server

o Sends a request (Client Program) to the Database Server along with the bank account number

o Database Server (Server Program) retrieves the bank balance using the bank account number and returns the value

Main server at Bank (Server Program) returns the balance amount to the user (Client Program)

AU Distance Education – DMC1754 - Middleware Technologies - Unit I

CLIENT / SERVER Transaction Processing

CLIENT

MAIN SERVER

DATABASE SERVER

1

2

3

4

CLIENT/SERVERARCHITECTURE IN THE WEB

World Wide Web (WWW) or Web revolves around the client/server architecture

Client computer system uses Browsers ( like Internet Explorer, Netscape Navigator, Mozilla etc. ) to interact with Internet servers using Protocols

Protocols help in the accurate transfer of data - requests from browser & responses from server

Commonly used protocols : HTTP (Hyper Text Transfer Protocol) FTP (File Transfer Protocol) SMTP (Simple Mail Transfer Protocol)

Client / Server Model Static HTML Pages

Client / Server Model Dynamic HTML Pages

Client / Server Model Server – side Scripting

Types of Servers

File ServerDatabase ServerApplication ServerWeb ServerObject ServerOthers – Chat Server, Fax Server, Mail

server, News Server …

FILE SERVER

FILE SERVER

Objectives of File Server To promote sharing of files (computer

programs and/or data) To encourage indirect or implicit (via

programs) use of remote computers To shield a user from variations in file storage

systems among hosts To transfer data reliably and efficiently

Database Server

A computer in a LAN dedicated to database storage and retrieval

The database server holds the Database Management System (DBMS) and the databases

Upon requests from the client machines, it searches the database for selected records and passes them back over the network

Database Server - Example

Software Project Team – sharing a database

APPLICATION SERVER

Application server runs the programs and processes the data

Application servers are typically used for complex transaction-based applications

Application server performs the business logic functions and some data access

An application server provides middle tier processing between the user's machine and the database management system (DBMS)

Web Server

Web Server delivers web pages to browsers

Client/Server Application

Has three functional units: Presentation logic or user interface (for example,

ATM machines) Business logic (for example software that enables

a customer to request an account balance) Data (for example, records of customer accounts)

Functional units can reside on the client or on multiple servers

Middleware is the software that connects / communicates between client and server

Two-Tier Architecture

Two-Tier Architecture - Internet

Three -Tier Architecture

Three -Tier Architecture

The Middle Tier can be A Transaction Processing Monitor A Message Server An Application Server An Object Server

Three -Tier Architecture - Internet

Multi -Tier Architecture

Multi -Tier Architecture

Multi -Tier Architecture

Advantages of Client/Server

Distribution or sharing of processing load among several independent computers

Centralized data storage on server, hence easy to implement security of data access

Clients with the appropriate permissions may be permitted to access and change data

Centralized data. Hence easy to administer Is capable of functioning with multiple

different clients each with different capabilities

Disadvantages of Client/Server

Traffic congestion on the network (number of simultaneous client requests to a server) can cause a server to become overloaded and unable to service client’s requests

Under client-server, should a critical server fail, clients’ requests cannot be fulfilled. Hence, lack of robustness is a cause for concern

Summary

The following concepts have been covered Evolution of client / server architecture Client / Server architecture Characteristics of client / server model Different types of servers Client / server on the Internet Different types of client/server models Advantages and Disadvantages of Client/Server

Architecture