28
CLIENT SERVER COMPUTING CLIENT SERVER COMPUTING Definition: A simple definition of CS is A simple definition of CS is server software accepts requests server software accepts requests for data from client software and for data from client software and returns the results to the client” returns the results to the client”

CLIENT SERVER COMPUTING

  • Upload
    hinto

  • View
    54

  • Download
    1

Embed Size (px)

DESCRIPTION

CLIENT SERVER COMPUTING. Definition: A simple definition of CS is “ server software accepts requests for data from client software and returns the results to the client”. CLIENT SERVER COMPUTING. - PowerPoint PPT Presentation

Citation preview

Page 1: CLIENT SERVER COMPUTING

CLIENT SERVER COMPUTINGCLIENT SERVER COMPUTING

Definition:

A simple definition of CS is A simple definition of CS is

“ “ server software accepts requests for data from client server software accepts requests for data from client software and returns the results to the client”software and returns the results to the client”

Page 2: CLIENT SERVER COMPUTING

CLIENT SERVER COMPUTINGCLIENT SERVER COMPUTING

Client-Server computing is the logical extension of Client-Server computing is the logical extension of modular programming with fundamental assumption modular programming with fundamental assumption that separation of a huge program into its constituent that separation of a huge program into its constituent parts ("modules") can create the possibility for further parts ("modules") can create the possibility for further modification, easier development and better modification, easier development and better maintainability.maintainability.

The main emphasis of Client-Server Architecture is The main emphasis of Client-Server Architecture is to allow large application to be split into smaller tasks to allow large application to be split into smaller tasks and to perform the tasks among host (server machine) and to perform the tasks among host (server machine) and desktops (client machine) in the networkand desktops (client machine) in the network

Page 3: CLIENT SERVER COMPUTING

Network

Reque

st

Result

Elements of C-S Computing

a client, a server, and network

ClientServer

Client machineServer machine

Page 4: CLIENT SERVER COMPUTING

Where Operations are DoneWhere Operations are Done

In CS Relationship “most of the application In CS Relationship “most of the application processing is done on a computer (processing is done on a computer (client sideclient side), ), which obtains application services (such as database which obtains application services (such as database services) from another computer (services) from another computer (server sideserver side) in a ) in a master slave configurationmaster slave configuration

Page 5: CLIENT SERVER COMPUTING

GOAL OF THE CLIENT SERVERGOAL OF THE CLIENT SERVER

The goals of Client-Server Computing are to allow The goals of Client-Server Computing are to allow every networked workstation (Client) and host every networked workstation (Client) and host (Server) to be accessible, as needed by an application, (Server) to be accessible, as needed by an application, and to allow all existing software and hardware and to allow all existing software and hardware components from various vendors to work together. components from various vendors to work together.

When these two conditions are met, the benefits of When these two conditions are met, the benefits of client/server computing, such as cost savings, client/server computing, such as cost savings, increased productivity , flexibility, and resource increased productivity , flexibility, and resource utilization, can be realized. utilization, can be realized.

Page 6: CLIENT SERVER COMPUTING

FUNCTIONS OF CLIENTFUNCTIONS OF CLIENT

The client's responsibility is usually to: The client's responsibility is usually to: Handle the user interface. Handle the user interface. Translate the user's request into the desired protocol. Translate the user's request into the desired protocol. Send the request to the server. Send the request to the server. Wait for the server's response. Wait for the server's response. Translate the response into "human-readable" results. Translate the response into "human-readable" results. Present the results to the user. Present the results to the user.

Page 7: CLIENT SERVER COMPUTING

FUNCTIONS OF SERVERFUNCTIONS OF SERVER

The server's functions include: The server's functions include: Listen for a client's query. Listen for a client's query. Process that query. Process that query. Return the results back to the clientReturn the results back to the client

Page 8: CLIENT SERVER COMPUTING

A typical client/server interaction goes like this:A typical client/server interaction goes like this: The user runs client software to create a query. The user runs client software to create a query. The client connects to the server. The client connects to the server. The client sends the query to the server. The client sends the query to the server. The server analyzes the query. The server analyzes the query. The server computes the results of the query. The server computes the results of the query. The server sends the results to the client. The server sends the results to the client. The client presents the results to the user. The client presents the results to the user. Repeat as necessary. Repeat as necessary.

Page 9: CLIENT SERVER COMPUTING

Typical Client/Server Interaction Typical Client/Server Interaction AND Butler Pyramid Model of AND Butler Pyramid Model of

Client-Server ComputingClient-Server Computing

Page 10: CLIENT SERVER COMPUTING

Layer 1 - Infrastructure Layer:Layer 1 - Infrastructure Layer: The infrastructure layer is composed of all the The infrastructure layer is composed of all the

components which are passive and do not perform a components which are passive and do not perform a business function. Examples are computer operating business function. Examples are computer operating systems, networks, user interfaces and database systems, networks, user interfaces and database management systemsmanagement systems

Layer 2 - Middleware :Layer 2 - Middleware : Middleware allows applications to transparently Middleware allows applications to transparently

communicate with other programs or processes communicate with other programs or processes regardless of location. It is the means of mapping regardless of location. It is the means of mapping applications to the resources they use. It is the key to applications to the resources they use. It is the key to integrate heterogeneous hardware and system integrate heterogeneous hardware and system software environments, providing the level of software environments, providing the level of integrationintegration

Page 11: CLIENT SERVER COMPUTING

Layer 3 – Applications:Layer 3 – Applications: Applications are the active components which execute Applications are the active components which execute

work for the organization.work for the organization.

Layer 4 – Repository:Layer 4 – Repository: Role of repository is to isolate a business Role of repository is to isolate a business

model/specification from the tools technology which model/specification from the tools technology which is used to implement it (client-server strategy). is used to implement it (client-server strategy).

Layer 5 - Business Models:Layer 5 - Business Models: Business model should be independent to all the Business model should be independent to all the

technologies that are used to implement it, and be technologies that are used to implement it, and be transportable to whichever hardware and software transportable to whichever hardware and software environment is most appropriate. It will increasingly environment is most appropriate. It will increasingly be based on object oriented methodsbe based on object oriented methods

Page 12: CLIENT SERVER COMPUTING

CHARACTERISTICS OF A CLIENT:CHARACTERISTICS OF A CLIENT: Request sender is known as client Request sender is known as client Initiates requests Initiates requests Waits for and receives replies. Waits for and receives replies. Usually connects to a small number of servers at one Usually connects to a small number of servers at one

time time Typically interacts directly with end-users using a Typically interacts directly with end-users using a

grapical user interfacegrapical user interface

Page 13: CLIENT SERVER COMPUTING

CHARACTERISTICS OF A SERVER:CHARACTERISTICS OF A SERVER: Receiver of request which is sent by client is known Receiver of request which is sent by client is known

asas server server Passive (slave) Passive (slave) Waits for requests from clients Waits for requests from clients Upon receipt of requests, processes them and then Upon receipt of requests, processes them and then

serves replies serves replies Usually accepts connections from a large number of Usually accepts connections from a large number of

clients clients Typically does not interact directly with end-users Typically does not interact directly with end-users

Page 14: CLIENT SERVER COMPUTING

ADVANTAGES OF CLIENT SERVER ADVANTAGES OF CLIENT SERVER COMPUTINGCOMPUTING

Centralization –access, resources, and data security Centralization –access, resources, and data security are controlled through the server.are controlled through the server.

Scalability –any element can be upgraded when Scalability –any element can be upgraded when needed.needed.

Flexibility – new technology can be easily integrated Flexibility – new technology can be easily integrated into the system.into the system.

Interoperability- all components (clients, network, Interoperability- all components (clients, network, servers) work together.servers) work together.

Accessibility- server can be accessed remotely and Accessibility- server can be accessed remotely and across multiple platformsacross multiple platforms

Ease of application development.Ease of application development. Lower total cost & User friendly.Lower total cost & User friendly.

Page 15: CLIENT SERVER COMPUTING

DISADVANTAGES OF CLIENT SERVER DISADVANTAGES OF CLIENT SERVER

COMPUTINGCOMPUTING Dependability – when the server goes down, Dependability – when the server goes down,

operations cease.operations cease. Lack of mature tool – it is a relatively new Lack of mature tool – it is a relatively new

technology and needed tools are lack.technology and needed tools are lack. e.g. Automated client software distribution.e.g. Automated client software distribution. Lack of scalability – network operating system Lack of scalability – network operating system

( e.g.. Novell Netware, Windows NT server) are not ( e.g.. Novell Netware, Windows NT server) are not very scalable. very scalable.

Higher than anticipated costs.Higher than anticipated costs. Can cause network congestionCan cause network congestion

Page 16: CLIENT SERVER COMPUTING

EXAMPLES OF CLIENT-SERVEREXAMPLES OF CLIENT-SERVER

Clients are most often web browsers.Clients are most often web browsers. Servers typically include web servers, database Servers typically include web servers, database

servers and mail servers. servers and mail servers. Online gaming is usually client-server too. Online gaming is usually client-server too. Most transactions that occur on the Internet are

client/server based. Some examples include:

FTP (file transfer protocol), WWW (World Wide Web) and and E-MAIL

Page 17: CLIENT SERVER COMPUTING

Categories of ServersCategories of Servers

File ServerFile Server Data ServerData Server Compute ServerCompute Server Database ServerDatabase Server Communication ServerCommunication Server Video ServerVideo Server

Page 18: CLIENT SERVER COMPUTING

File ServerFile Server File Servers manage a work group’s application and File Servers manage a work group’s application and

data files, so that they may be shared by the group.data files, so that they may be shared by the group.

Very I/O orientedVery I/O oriented

Pull large amount of data off the storage subsystem Pull large amount of data off the storage subsystem and pass the data over the networkand pass the data over the network

Requires many slots for network connections and a Requires many slots for network connections and a large-capacity, fast hard disk subsystem.large-capacity, fast hard disk subsystem.

Page 19: CLIENT SERVER COMPUTING

Compute ServerCompute Server

Performs Application logic processingPerforms Application logic processing Compute Servers requires Compute Servers requires

processors with high performance capabilities processors with high performance capabilities large amounts of memory large amounts of memory relatively low disk subsystemsrelatively low disk subsystems

By separating data from the computation processing, the By separating data from the computation processing, the compute server’s processing capabilities can be optimizedcompute server’s processing capabilities can be optimized

Page 20: CLIENT SERVER COMPUTING

Cluster as Compute Server Cluster as Compute Server

Page 21: CLIENT SERVER COMPUTING

Data ServerData Server Data-oriented; used only for data Data-oriented; used only for data

storage and managementstorage and management Since a data server can serve more than Since a data server can serve more than

one compute server, compute-intensive one compute server, compute-intensive applications can be spread among applications can be spread among multiple seversmultiple severs

Does not prefer any application logic Does not prefer any application logic processingprocessing

Performs processes such as data Performs processes such as data validation, required as part of the validation, required as part of the data management function.data management function.

Requires fast processor, large amount of Requires fast processor, large amount of memory and substantial Hard disk memory and substantial Hard disk capacity.capacity.

Data Server

ComputeServer

Page 22: CLIENT SERVER COMPUTING

Cluster as High Availablity Cluster as High Availablity Data ServerData Server

Data Server

ComputeServer

Page 23: CLIENT SERVER COMPUTING

Database ServerDatabase Server

Most typical use of technology in client-serverMost typical use of technology in client-server Accepts requests for data, retrieves the data from its Accepts requests for data, retrieves the data from its

database(or requests data from another node)and passes database(or requests data from another node)and passes the results back.the results back.

Compute server with data server provides the same Compute server with data server provides the same functionality.functionality.

The server requirement depends on the size of database, The server requirement depends on the size of database, speed with which the database must be updated, number speed with which the database must be updated, number of users and type of network used.of users and type of network used.

Page 24: CLIENT SERVER COMPUTING

Communication ServerCommunication Server

Provides gateway to other LANs, networks & Provides gateway to other LANs, networks & ComputersComputers

E-mail Server & internet serverE-mail Server & internet server

Modest system requirementsModest system requirements multiple slotsmultiple slots fast processor to translate fast processor to translate

networking protocolsnetworking protocols

Page 25: CLIENT SERVER COMPUTING

Internet ServerInternet Server

Internet ServerPC client

UNIX workstations

Local AreaNetwork

Page 26: CLIENT SERVER COMPUTING

S Q L *Forms

SQL *NetTCP/IP

SQL *NetTCP/IP

ORACLE

UNIX Server

SQL *NetTCP/IP

SQL *Forms

ORACLE

Distributed processing application connects to remote database

Distributed database application connects to local database which connects to remote database

Database Configurations

Page 27: CLIENT SERVER COMPUTING

Fileservers

groupwareDistributed

objects

Databaseservers

TP

monitors

19981994199019861982

First Wave Third WaveSecond Wave

Intergalactic eraclient/server

Ethernet eraclient/server

Page 28: CLIENT SERVER COMPUTING

Front-end and Back-endFront-end and Back-end

For software applications, front end is the same as For software applications, front end is the same as user interfaceuser interface

In client/server applications, the client part of the In client/server applications, the client part of the program is often called the front end and the server program is often called the front end and the server part is called the back endpart is called the back end