You are on page 1of 30

Client / Server

Presentation Objective
 Understand what is Client/Server (C/S)
 Understand typical C/S architectures
 Understand how Object Technology helps
C/S development
 Understand the benefits of C/S
C/S Has Lots of Meanings
 Its a topic that has confused many
 Some think is has to with databases, Unix
or Windows
 Others think it is related to OO
All of these are part of the C/S domain, and is much more...
So What is Client/Server?
 A computational architecture that
separates an application into atleast two
1. One process plays the role of the client, the
other plays the role of the server
2. In this architecture, the client process
requests services from server process
Why Do We Build C/S
 Fosters modular programming
o Smaller module are easier to maintain
o Each role can be customized for its
 Separation of computational logic from
interface-oriented logic
The Nature of A Client
 Client process is implemented on
hardware and software environments
better suited for humans
 A Client can request services from one or
more servers
 Client executes in a different address
space from the server
The Nature of the Server
 A server is a supplier of services to
 Serves one or more clients
 Each client can be on different plaform
 E.g RDBMS is a specialized server for
running on a plaform which supports
multiple concurrent requests
A Typical Client
 Usually manages the GUI
 E.g. Windows, OS/2, workstation Unix
 Manages the display of data
 Performs data input and validation
 Dispatches requests to server(s)
 Manages local environment
 Display
 Keyboard
A Typical Server
 A program that carries out client requests
o E.g. Unix, OS/2, Windows N/T, Mainframe
 Usually manages some unique resource
o Printer
o Business Logic
o Files
Middleware Connects Clients to
 Think of middleware as the “/” in C/S
 All the software that supports
connectivity between clients and servers
 Middleware controls
 Communication
 Authentication
 Message delivery
Middleware Isolates Platform
 Location
 C & S can be on different nodes on the network
 Communication Protocol
 C & S do not depend on a particular protocol
 Operating System
 C & S can be ported to any platform
There Are Many C/S Architectural
 Responsibility of the client and the server
 Thin client/fat server
 Fat client/thin server
 2-tier or 3-tier architecture
 Selection of middleware components
Simple Two-Tier Architecture
 Client requests services directly from the server
 Small number of users (<50)
 Examples
 Client requesting printing services
 C, C++, Powerbuilder application requesting services
from Oracle, Sybase or Informix

Client Oracle
Three-Tier Architecture is Better
 The client requests services through an agent
 Agent typically provides
 Translation services - connectivity to the mainframe
 Intellegent agent services - to coordinate requests
 A place to localize business logic

Client Agent Server

Characteristics of C/S
 Separation of service into client and server
 A server permits sharing of resources by
many clients
 Clients always initiate the requests with
the server
Characteristics of C/S (cont.)
 One server serves many clients
 Server is independent of the client, such
that it may reside on the same or different
 Clients and servers are independent of
hardware or operating systems
 Clients and servers are loosely coupled
and communicate via messages
Characteristics of C/S (cont.)
 The server is a “specialist” and determines
“how” the service should be provided.
 The architecture that scales horizontally
 Adding or removing clients will only have a
slight performance impact
Characteristics of C/S (cont.)
 The architecture that scales vertically
 Servers can be migrated for faster or many
server machines
 Server code and data are centrally
managed for better maintenance
capabilities and integrity of shared
Examples of Servers
 File servers are simple where
records are written across the
network Database
 Database servers provide
access to data via specialized
language such as SQL

Examples of Servers (cont.)
 Transaction server provide access to
remote procedures that act on data with
guarantee of transaction integrity
 Information servers provide access to
information across the Internet
Business Requirements Demand
 Applications need to be integrated with
 Users want quicker and friendlier
responses from their application
 Applications require easy extension
because business needs change often
Business Requirements Demand
Client/Server (cont.)
 User demand more functionality from
 Businesses want flexibility to purchase
from more than one vendor
Business Benefits of C/S
 Independence from single source vendors
 Ability to leverage low cost server
machines and user interface machines
 Ability to distribute computation closer to
the users
Business Benefits
 Ability to share information across multiple
applications or departments
 Improvement of maintenance since it can
be done in one place
Client / Server Security
Client / Server Security
 The Control techniques to increase the
C/S security
 Floppy Drive should be disabled (Preventive)
 Use diskless workstations (Preventive)
 Use startup batch files / login scripts
 Network Monitoring (Detective) techniques to
be used
 Data Encryption techniques
Client / Server Security
 Authentication systems for login
 Use of smart card
 Build in Application controls for limited access
Client / Server Risk & Issues
 Weak Access Controls if authentication
rules are not followed
 Non availability of Network can have a
serious impact on business
 PSTN route is a great risk to unauthorised
 Inaccurate, unapproved an unauthorised
changes to data and system
Client / Server Risk & Issues
 Unauthorised user can play havoc with business
 Since the network is wide spread it is more
venerable to threats
 Change control & management procedures are
generally weak. Since such management tools
are sophisticated hence require high level of
skills of user and technical knowledge
 Unauthorised use of out dialing modems is a
very big risk.
Thank you