Vous êtes sur la page 1sur 19

Chapter 12: Client/Server Systems

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.

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.

Variations on Client Server

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.

Basic Client Server 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 fast, on-demand data access by decision makers through easy-to-use


interfaces
 Rapidly increasing Internet enabled access to external data through the
Internet's 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 Issues of the PC-Based Platform

Savings

 Widespread use of PC-based business applications such as word processing,


spreadsheets, DBMS, and desktop publishing
 New application development environments
 Economies of scale for purchased software

Costs

 More rapid upgrade cycle than traditional systems


 Management costs for client systems
 Many costs shifted to end-users (fiddle factor)

Client Server Architectures


Fat Server/Thin Client

Mainframes in the 1970s

 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

Client Server Architectures


Fat Server/Thin Client

Modern Reinterpretation

 Application server (NT, Unix)


 Processing: Server, Data: Server, Display Client
 Intelligent terminals
o X-term, WinTerm, Web browser, Sun's Sun Ray

 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.

The Evolution of Client/Server IS


Microcomputers in the 1980s

Easy-to-use software (e.g., spreadsheet)


Micro-based database systems
Data still in mainframes
Manual download
Sneakernet

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 or FTP up and down

Client Server Architectures


Server/Traditional Fat Client

The LAN model

 Common model (e.g. McMurry)


 Network operating systems (NOS)
 Powerful PCs

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.

Client Server Architectures


Fat Server/Expandable client

The Network Computer Model

 Variant of thin client


 Processing: client, Data: server, Display: client
 Network Computers, Browsers with ActiveX/Java
 Pros: as in thin server

Cons:

1. immature,
2. Clients usually not standalone
 Not cheaper than fat clients to buy (but the real issue is management not
upfront costs).

Client Server Architectures


Server/Managed Fat Client

 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

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: move away from Fat Clients towards Thin
Client 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.

Interaction of Client and Server Components

Client/Server Architecture

Client/Server Principles (ideals not Reality!)

Hardware independence
Software independence

o Operating systems
o Network systems
o Applications

Open access to services

Client/Server Architecture

Client/Server Principles (ideals not Reality!)

Process distribution

o Process autonomy
o Maximization of local resources
o Scalability and flexibility
o Interoperability and integration

Standards:

o many traditional client server installations are built around proprietary


standards.
o This is one reason for the rise of intranets, internal client server systems
built around nonproprietary (internet) 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

Characteristics of Server Hardware

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

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).

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
 Declining

Network Basic Input Output System (NetBIOS)

 Developed by IBM for PC applications communications, adopted by Microsoft


for LANMAN, NT based networks
 Supported by the majority of PC operating systems and applications
 Declining

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 Components

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)

o Network and hardware

ANSI (American National Standards Institute)

o Programming languages (e.g., COBOL, SQL)


IETF

o Internet Related Standards

W3C

o Web related Standards (HTML, XHTML, CSS, XML

The Quest for Standards


Competing Standards

Client operating systems

o Microsoft Windows 96/98/2000 -- De facto standard


o OS/2, Apple's Mac OS 8.5, Unix including Linux

Client graphical user interfaces

o Microsoft Windows 96/98/2000 -- De facto standard


o OS/2 Presentation Manager, Macintosh, UNIX (e.g., Motif, OpenLook,
KDE)
o Web browsers (another standards war)

Server operating systems and network protocols

o Database servers: Unix/Linux, OS/2, Windows NT Server/2000 Server


 Printer and file servers:
o Novel Netware, MS NT, 2000, Unix/Linux

Middleware

o ODBC, IDAPI, DRDA, ADO, OLE/DB

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
o I/O processing logic
o Application or business logic
o 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.

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 (But Traditional Client/Server contains many


proprietary components
 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

Vous aimerez peut-être aussi