You are on page 1of 19

Introduction To Client Server

ITC 224: Client Server Computing

1
Introduction
• Server
– Those machines that provide services (like Web servers or FTP servers)
to other machines are servers
– A server machine may provide one or more services
– Service provider
– E.G. web server, FTP server, www.yahoo.com , Teacher, etc
• Client
– The machines that are used to connect to the services are clients.
– Service Seeker
– E.G. End User, GUI, workstation, Student, etc
• Network
– A network is a group of two or more computer systems linked
together in order to share resources.
– Linked through cables, telephone lines, radio waves, satellites, etc.

2
Introduction To Client Server
• A network architecture in which each computer
or process on the network is either a client or a
server.
• Logical entities that work together over a network
to finish certain task.
• Processing and Functionality are divided
• Centralized Control
• Components of CSC:-
– Clients,
– Server and
– Network

3
Peer-to-Peer Architecture VS
Client Server architecture

4
Client Server Architecture
• Two-tier Architecture
– The user interface runs on the client and the database is stored on the
server.
– The actual application logic (Business and Data access Logic) can run
on either the client or the server.
– Presentation Logic runs on client.

5
Client Server Architecture
• Three-tier Architecture
– Consist of three well-defined and separate processes, each running on
a different platform: Presentation Tire, Logic Tire and Data Tire

6
Three-tier Architecture Continue
• Presentation Tire:-
– The top most level of the application is the user interface
– The main function of the interface is to translate the tasks and results to something that the user can
understand.
– Client only display the GUI and data, but has no part in producing results.
– E.G. DHTML
• Logic Tire:-
– This layer coordinates the application commands, makes logical decisions and evaluations and
performs calculations.
– The bulk of the business application logic is stored in one or more servers
– It also moves and processes data between the two surrounding layers.
– E.G. IIS or Apache, web server
• Data Tier:-
– Information is stored and retrieved from a database or a file system.
– The information is passed back to the logical tire for processing and then eventually back to the user.
– E.G. Database server

7
Two-tier Architecture vs.
Three Tire Architecture
2- Tire 3- Tire
System Administration Complex (more logical on Less Complex
the client to manage)
Security Low (Data level Security) High
Encapsulation Of Data Low (Data Table are High (The client invokes
exposed) services or methods)
Performance Poor( many query are set Good (only the requests
over the network ; and responses are sent
Selected data must me between the client and
downloaded for analysis server)
on the client)
Scale Poor (Limited management Excellent
of client communication
links)
Application Reuse Poor Excellent (Can reuse
services and objects) 8
Characteristics
– Service
• The server process is a provider of service and the client is consumer of
service.
• Client server provides a clean separation of functions based on the idea of
service.
– Shared Resources
• Server can provide service to many clients at the same time it can regulate
the access of client to shared resources.
– Asymmetrical Protocols
• Many to one relationship between client and server
• Client initiate the communication by requesting a service
• Servers passively response to the clients query
– Transparency of Location
• The server process can reside on the same machine as the client or on a
different machine across a network
• Client server usually masks the location of the server from the clients by
redirecting the service when needed.
• A program can either be client or server or both.
9
Characteristics
– Mix and Match
• Ideal client server software is independent of hardware or operating system
platform
– Message- based exchanges
• Loosely coupled system that interact through a message passing mechanism
• Message is the delivery mechanism for the service requests and replies
– Encapsulation of services
• Server are specialist; a message tells a server what service to request
• Server determine how to get the job done and it determine how to transfer
the data to client
– Scalability
• Scaled horizontally(adding or removing client with only slight performance
impact) or vertically(migrating to a larger and faster server or distributing the
processing load across multiple servers)
– Integrity
• Server code and data are centrally managed
• Cheaper maintenance of guarding the shared data
• The clients remains personal and independent
10
Benefits
• Improved information access
– Client server provides user with easy access to all the information
– User friendly front-end ( easy to use)
– Has powerful features that enables the user to further analyze the retrieved
information.
– Can manipulate the information to answer “ what if” question
• Increased productivity
– By providing users with the tools to complete their tasks faster and more easily.
– Automatically validates information, performs calculations, and reduces
duplicate data entry.
– Client server technology can integrated with other technology such as email etc
• Automated Business Processes
– Eliminating a great deal of manual labor and enabling processes to be completed
sooner with fewer errors
– Client server can automate process and accomplish it in a fraction of time.

11
Benefits
• Improved customer service
– Provides fast answer to customer query.
– Minimize the number of times that a customer has to connect to the
company for information.
• Rapid Application Development
– Client Server development tools enables programmers to create
applications by taking the advantage of OOP techniques.
• Cost Reductions and Savings
– Replaced the mainframe system with client server
– Online information access reduced the paper associated costs (such as
purchase, storage and distribution costs)
– Number of employees can be reduced

12
Benefits
• Powerful Reporting capabilities
– The information can be easily queried for reporting purposes
– Enable end user to create their own reports and customize existing
one with out writing complex codes.
– It enables user to save huge amount of time.
• Increased Revenue
– Clients server system does not generate revenue itself, but provides
crucial information for generating revenue such information are
• Enables a new product to be developed faster so that it can hit the
market sooner
• Enables a company to spot sales opportunities faster
• Identifies which marketing campaigns to use
• Identifies what type of the product and feature does customer wants
• Identifies sales trends

13
Moving To Client Server
Computing
• Downsizing
• Not Replacing, But Integrating
• Upsizing
• Adjusting to Client server changes

14
Client Server Models
• Model 1: Distributed Presentation
– Both client and the server machine formats the
display presented to end user.
• Model 2: Remote Presentation
– Server sends raw data stream to the client and the
client formats the data and present it to the end user.
– Some program logic such as validation resides on the
client whereas the core program logic resides on
server.

15
Client Server Models
• Model 3: Distributed Logic
– Client server application splits the logic of the
application between the client and the server
processes.
– GUI application on client controls the application
flow where as logic on the server centrally execute
the business and database rule.
– Client and server process can communicate to each
other using Middleware tools, RPC , data query etc.

16
Client Server Models
• Model 4: Remote Data
– The client handles all the application logic and end-user presentation,
and server provides only the data.
– Client typically use remote SQL or DBC to access the data from the
server.
• Model 5: Distributed Data
– This model uses the data distributed across the multiple network.
– Data source may be distributed between client and the server or the
multiple servers.
– This model requires an additional security and integrity across the
multiple platforms.
– Most complex model to use

17
Fat Vs. Thin
• Thin Client (lean or slim client)
– is a computer or a computer program which depends heavily on
some other computer to fulfill its traditional computational roles.
– easily maintaining computational services at a reduced total cost
of ownership
– modern thin client is a low-end computer terminal which
concentrates solely on providing a graphical user interface to the
end-user.
– operating system, is provided by the server
– Thin clients are used by medical offices, airline ticketing, schools,
governments, manufacturing plants

18
Fat Vs. Thin
• FAT Client (heavy, rich, or thick client)
– A fat client is a computer (client) in client–server
architecture or networks that typically provides
rich functionality independent of the central
server.
– It perform the bulk of the processing in
client/server applications.

19

You might also like