Client Server
Client Server
Basic Components
A client is any process that requests specific services from server processes.
A server is a process that provides requested services for clients.
Both clients and servers can reside in the same computer or in different
computers connected by a network.
The key to client/server power is where the requested processing takes place.
In mainframe systems and Application Server based systems all processing
takes place on the server, and the client is used to display the data screens.
With PC and File servers all processing takes place on the PC and the server is
used only for storage
There are many variations of these models today (see below)
The client/server environment provides a clear separation of server and client
processes.
End user demand for better ad hoc data access and data manipulation, better
user interfaces, and better computer integration
Technological Advances
Microprocessor Technology
Data Communication and the Internet
Database Systems
Operating Systems and Graphical User Interfaces (GUIs)
Sophisticated PC-Based End User Application Software
Savings
Costs
Cons
Complex, proprietary OS
Dumb terminals
Restricted access
Hardware and software dictated IS
Centralized, complex MIS department bureaucracy
Pros
o With less expensive systems (e.g. Minis, Unix, Linux, multiuser versions
of DOS) this can be the least expensive way to go
o Low management costs
Modern Reinterpretation
Pros:
o Simpler to maintain client
o Less client obsolescence
Cons
o Expensive server
o Requires high bandwidth network
o Complete dependent on server uptime
o Relatively immature
Note: sometimes the thin client is run on a fat client.
Pros:
1. Capable client
2. Not dependent on Server uptime
3. May use thin (inexpensive) servers
Cons:
4. Management expense
5. Not powerful or stable enough for Enterprise Systems
6. The majority of LAN servers are limited to File and Print Services
7. Servers proliferate.
Cons:
1. immature,
2. Clients usually not standalone
Not cheaper than fat clients to buy (but the real issue is management not
upfront costs).
The biggest problem with Server/Traditional Fat client model is managing the
client.
This model is intended to address that.
Pros:
1. Reduces client management expense
2. More capable clients
Cons:
1. Real Soon now (possibly Windows 2000, Novell Zenworks, etc).
2. Not well standardized (vendor dependent solutions
3. Requires Fat server
Expensive
Observations
Client/Server Architecture
The client is any computer process that requests services from the server. It is
also known as the front-end application.
The server is any computer process providing services to the clients. The server
is also known as the back-end application.
The communication middleware is any computer process(es) through which
clients and servers communicate. It is also known as middleware or
communications layer.
Client/Server Architecture
Hardware independence
Software independence
o Operating systems
o Network systems
o Applications
Client/Server Architecture
Process distribution
o Process autonomy
o Maximization of local resources
o Scalability and flexibility
o Interoperability and integration
Standards:
Client/Server Architecture
Client Components
Powerful hardware
An operating system capable of multitasking
A graphical user interface (GUI)
Communications capability
Manageability!
Client/Server Architecture
Server Components
File services
Print services
Communications services (e.g. (Internet Gateway)
Database services
Transaction services
Miscellaneous services
Client Components
Client/Server Architecture
Fast CPU
Large, fast storage capabilities
Fault-tolerant capabilities
Expandability of CPU, memory, disk, and peripherals
Bus support for multiple add-on boards
Multiple communications options
Server Components
Server Process Benefits from the Client/Server Architectural Principles
Location independence
Resource optimization
Scalability
Interoperability and integration
Client/Server Architecture
The physical level deals with the communications between client and server
computers (computer to computer).
The logical level deals with the communications between client and server
processes (process to process).
Middleware Classifications
W3C
Middleware
Client/Server Databases
Functions of the Client/Server Database
Input/Output (I/O)
Processing
o I/O processing logic
o Application or business logic
o Data management logic
Storage
Presentation logic
I/O processing logic
Application of business logic
Data management logic
Data manipulation logic
The file server architectural style reflects a setup in which the client does most
of the processing, whereas the server side only manages the data storage and
retrieval.
The data management logic is split between the client and the server computers
in the database server architectural style.
The transaction server architectural style permits the sharing of transaction
details between the client and the server.
The application server architecture makes it possible to enjoy the benefits of
client/server computing even when the client computers are not powerful
enough to run some of the client/server applications.
Hardware
Software
Data
Procedures
People
GUI-based development