Client Server Systems
Client Server Systems
Rosemarie N. Paglicawan
Albert Macapugay
Ricky Palmeda
MSIT
What Is Client/Server
Computing?
Client/server is a term used to describe a computing model for
the development of computerized systems. This model is
based on the distribution of functions between two types of
independent and autonomous processes; servers and clients.
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, all processing takes place on the
mainframe, and the terminal is used to display the data
screens.
The client/server environment provides a clear separation of
server and client processes.
A Basic Client/Server Computing Model
The Forces That Drive C/S
Systems
The Changing Business Environment
Global market dynamics and competitive pressure
Need for fast, efficient, and widespread data access
The Need for Enterprise Data Access
Need for fast, on-demand data access by decision makers
through easy-to-use interfaces
Rapidly increasing Internet enabled access to external data
through the Internets inherent client/server structure
End User Productivity Gains Based on
the Use of Data Resources
End user demand for better ad hoc data access and data
manipulation, better user interfaces, and better computer
integration
The Forces That Drive C/S
Systems
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
Cost/Performance Advantages of the
PC-Based Platform
Widespread use of business applications such as word
processing, spreadsheets, DBMS, and desktop
publishing
New application development languages such as Java
Internet (Web)-based application development
The Evolution of
Client/Server IS
Mainframes in the 1970s
Complex, proprietary OS
Dumb terminals
Restricted access
Hardware and software dictated IS
Centralized, complex MIS department bureaucracy
Microcomputers in the 1980s
Easy-to-use software (e.g., spreadsheet)
Micro-based database systems
Data still in mainframes
Manual download
The Evolution of Client/Server
IS
Intelligent Terminals
PCs connected to the mainframe
Electronic download
Proliferation of snapshot versions of corporate DB
Islands of information
Sneaker net
Local Area Network
Network operating systems (NOS)
Powerful PCs
Common platform for both end users and MIS specialists
The Evolution of
Client/Server IS
Computer Landscape of the 1990s
Networks tie large numbers of heterogeneous
computers
PC as the common end user station and the point of
access to the entire corporate database
Advanced applications for direct data access
The Internet - Network of networks
The Evolution Of The Computing Environment
Contrasting Mainframe and Client/Server
Information Systems
Managerial Expectations of C/S Systems
Client/Server Benefits
Platform-independent system development
Optimized distribution of processing activities among
different platforms
Use of user friendly, cost effective, and compatible
techniques, methodologies, and specialized tools
Observations
Client/Server computing is a tool, not the goal.
Client/Server computing is not the answer to all data
management problems.
Client/Server computing has its own set of management
problems.
Managerial Expectations of C/S Systems
MIS Expectations of Client/Server Benefits
Reduced development and implementation costs
Reduced development time and increased programmer
productivity
Extended system life cycle through scalability and
portability
Reduced system operational cost
Change of MIS function from development to end user
support
Enhanced information deployment
Managerial Expectations of C/S Systems
Organizational Expectations of
Client/Server Benefits
Flexibility and adaptability
Improved employee productivity
Improved company work flow and a way to reengineer
business operations
New opportunities to provide competitive advantages
Increased customer service satisfaction
Client/Server Architecture
Three Components of 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.
How Client And Server Components Interact
An Example Of Client/Server Architecture
Client/Server Architecture
Client/Server Principles
Hardware independence
Software independence
Operating systems
Network systems
Applications
Open access to services
Process distribution
Process autonomy
Maximization of local resources
Scalability and flexibility
Interoperability and integration
Standards
Client/Server Architecture
Client Components
Powerful hardware
An operating system capable of multitasking
A graphical user interface (GUI)
Communications capability
Client Components
Client/Server Architecture
Server Components
File services
Print services
Fax services
Communications services
Database services
Transaction services
Miscellaneous services
Server Components
Client/Server Architecture
Characteristics of Server Hardware
Fast CPU
Fault-tolerant capabilities
Expandability of CPU, memory, disk, and peripherals
Bus support for multiple add-on boards
Multiple communications options
Server Process Benefits from the Client/Server
Architectural Principles
Location independence
Resource optimization
Scalability
Interoperability and integration
Client/Server Architecture
Communications Middleware Components
The use of database middleware yields
Network independence
Database server independence
Two levels of communications middleware
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).
The OSI Network Reference Model
Information Flow Through The OSI Model
Transport Process ID
Client/Server Architecture
Network Protocols
Transmission Control Protocol/Internet Protocol (TCP/IP)
Official communication protocol of the Internet
Internetwork Packet Exchange/ Sequenced Packet Exchange (IPX/SPX)
Developed by Novell for LAN communications
Supported by the majority of client/server network
applications and major PC operating systems
Network Basic Input Output System (NetBIOS)
Developed by IBM for PC applications
communications
Supported by the majority of PC operating systems
and applications
Application Program to Program Communications (APPC)
Used in IBM mainframe Systems Network
Architecture (SNA) environments
Client/Server Architecture
Database Middleware Components
Application programming interface (API) interfaces
with the client application.
The database translator translates the SQL requests
into the specific database server syntax.
The network translator manages the network
communications protocols.
Three Main Benefits of Using Middleware
Access multiple databases
Database server-independent
Network protocol-independent
Database Middleware Components
Interaction Between Client/Server Middleware Components
Middleware Accessing Multiple Database Servers
Client/Server Architecture
Middleware Classifications
Messaging-oriented middleware (MOM)
Remote-procedure-call-based (RPC-based) middle
ware
Object-based middleware
The Quest for Standards
Standard-Setting Organizations
IEEE (Institute of Electrical and Electronics
Engineers)
Network and hardware
ANSI (American National Standards Institute)
Programming languages (e.g., COBOL, SQL)
ISO (International Standards Organization)
OSI (Open Systems Interconnection) reference
The Quest for Standards
Competing Standards
Client operating systems
Microsoft Windows 96/98/2000 -- De facto
standard
OS/2, Apples Mac OS 8.5, Unix including Linux
Client graphical user interfaces
Microsoft Windows 96/98/2000 -- De facto
standard
OS/2 Presentation Manager, Macintosh, UNIX
(e.g., Notif, OpenLook)
Server operating systems and network protocols
Database servers: Unix, OS/2, Windows NT
Server/2000 Server
Printer and file servers: Novel Netware
LAN protocols: TCP/IP, IPX/SPX, NetBIOS
Middleware
ODBC, IDAPI, DRDA, Q+E
Client/Server Options
Client/Server Databases
Functions of the Client/Server Database
Provide transparent data access to multiple and
heterogeneous clients regardless of the hardware,
software, and network platform.
Allow client requests to the database server over the
network.
Process client data requests at the local server.
Send only the SQL results to the clients over the
network.
Client/Server Databases
Characteristics of Distributed Client/Server
Database Systems
The location of data is transparent to the user.
Data can be accessed and manipulated by the end
user at any time and in many ways.
The processing of data is distributed among multiple
computers.
Client/Server Architectural
Styles
Two Key Questions for the Client/Server
Architecture
How is the division made?
Where in the system should the results of that division be
placed?
Three Application Logic Components
Input/Output (I/O)
Processing
I/O processing logic
Application or business logic
Data management logic
Storage
Application Logic Components
Client/Server Architectural
Styles
Five Functional Logic Components
Presentation logic
I/O processing logic
Application of business logic
Data management logic
Data manipulation logic
Application Functional Logic Components
Client/Server Architectural
Styles
Typical Logic Component Placement
The presentation logic is always placed on the client side.
The I/O processing logic may be placed on the client side or
on the server side, but more commonly on the client side.
The business logic can also go either to the client or the
server, but usually on the client side.
The data management logic can also be placed on either the
client or the server side, but normally on the client side as
part of the application code.
The data manipulation logic is most commonly located on
the server side.
Functional Logic Splitting In Four Client/Server
Architectural Styles
Client/Server Architectural
Styles
Notes on Figure 12.16
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.
Client/Server
Implementation Issues
Client/Server versus Traditional Data
Processing
Major changes brought by client/server computing
From proprietary to open systems
From maintenance-oriented coding to analysis,
design, and service
From data collection to data deployment
From a centralized to a more distributed style of
data management
From vertical, inflexible to more horizontal, flexible
organizational style
Client/Server Implementation
Issues
Changes in the DP Environment
Brought by Client/Server Computing
Hardware
Single-vendor-dependent Integration of different hardware
platforms
Software
Mainframe, 3GL GUI, networks, communications
Data
Centralized, single repository Distributed, multiple formats
Procedures
Centralized, rigid, complex Flexible, decentralized
People
Requires support and training for new skills and technology
Client/Server
Implementation Issues
Managerial Considerations
Management and support of communications
infrastructure
Management and support of applications
Controlling escalating and hidden costs
Managing people and cultural changes
Managing multiple vendor relationships
Client/Server
Implementation Issues
Client/Server Development Tools
GUI-based development
A GUI builder that supports multiple interfaces
Object-oriented development with support for code
reusability
Data dictionary with a central repository for data and
applications
Support for multiple databases
Data access regardless of data model
Seamless access to multiple databases
Client/Server
Implementation Issues
Complete SDLC support from planning to
implementation and maintenance
Team development support
Support for third-party development tools
Prototyping and rapid application development (RAD)
capabilities
Support for multiple platforms
Support for middleware protocols
Multiple network support
Client/Server
Implementation Issues
An Integrated Approach
Six Phases of Client/Server Decision
1. Information systems infrastructure self-study
2. Client/Server infrastructure definition
3. Selecting a window of opportunity
4. Management commitment
5. Implementation
6. Review and evaluation