Upload
hinto
View
55
Download
1
Tags:
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
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”
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
Network
Reque
st
Result
Elements of C-S Computing
a client, a server, and network
ClientServer
Client machineServer machine
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
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.
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.
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
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.
Typical Client/Server Interaction Typical Client/Server Interaction AND Butler Pyramid Model of AND Butler Pyramid Model of
Client-Server ComputingClient-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
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
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
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
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.
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
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
Categories of ServersCategories of Servers
File ServerFile Server Data ServerData Server Compute ServerCompute Server Database ServerDatabase Server Communication ServerCommunication Server Video ServerVideo Server
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.
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
Cluster as Compute Server Cluster as Compute Server
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
Cluster as High Availablity Cluster as High Availablity Data ServerData Server
Data Server
ComputeServer
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.
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
Internet ServerInternet Server
Internet ServerPC client
UNIX workstations
Local AreaNetwork
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
Fileservers
groupwareDistributed
objects
Databaseservers
TP
monitors
19981994199019861982
First Wave Third WaveSecond Wave
Intergalactic eraclient/server
Ethernet eraclient/server
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