CH12 - Computer and Information Science

Download Report

Transcript CH12 - Computer and Information Science

Chapter 12
12
Client/Server Systems
Database Systems: Design, Implementation, and Management
4th Edition
Peter Rob & Carlos Coronel
What Is Client/Server Computing?
12
 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
12
Figure 12.1
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
12
 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 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


12



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

12




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

12




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
12

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
12
Figure 12.2 The Evolution Of The Computing Environment
12
Table 12.1 Contrasting Mainframe and Client/Server
Information Systems
Managerial Expectations of C/S Systems
 Client/Server Benefits

12


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
12

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
12

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
12

The client is any computer process that requests
services from the server. It is also known as the frontend 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
12
Figure 12.3
An Example Of Client/Server Architecture
12
Figure 12.4
Client/Server Architecture
 Client/Server Principles
12

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
12

Powerful hardware

An operating system capable of multitasking

A graphical user interface (GUI)

Communications capability
Client Components
12
Figure 12.5
Client/Server Architecture
 Server Components
12

File services

Print services

Fax services

Communications services

Database services

Transaction services

Miscellaneous services
Server Components
12
Figure 12.6
Client/Server Architecture
 Characteristics of Server Hardware

12




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

12

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).
12
Table 12.2 The OSI Network Reference Model
12
Figure 12.7 Information Flow Through The OSI Model
Transport Process ID
12
Figure 12.8
Client/Server Architecture
 Network Protocols

Transmission Control Protocol/Internet Protocol
(TCP/IP)

12

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)



Official communication protocol of the Internet
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
12

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
12
Figure 12.9
Interaction Between Client/Server Middleware Components
12
Figure 12.10
Middleware Accessing Multiple Database Servers
12
Figure 12.11
12
Client/Server Architecture
 Middleware Classifications
12

Messaging-oriented middleware (MOM)

Remote-procedure-call-based (RPC-based) middle
ware

Object-based middleware
The Quest for Standards
 Standard-Setting Organizations

12
IEEE (Institute of Electrical and Electronics
Engineers)


ANSI (American National Standards Institute)


Network and hardware
Programming languages (e.g., COBOL, SQL)
ISO (International Standards Organization)

OSI (Open Systems Interconnection) reference
The Quest for Standards
 Competing Standards

Client operating systems

12


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




Microsoft Windows 96/98/2000 -- De facto standard
OS/2, Apple’s Mac OS 8.5, Unix including Linux
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
12
Figure 12.13
Client/Server Databases
 Functions of the Client/Server Database
12

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
12

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

12

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
12
Figure 12.14
Client/Server Architectural Styles
 Five Functional Logic Components
12

Presentation logic

I/O processing logic

Application of business logic

Data management logic

Data manipulation logic
12
Figure 12.15 Application Functional Logic Components
Client/Server Architectural Styles
 Typical Logic Component Placement
12

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
12
Figure 12.16
Client/Server Architectural Styles
 Notes on Figure 12.16
12

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

12
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
12

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
12

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
12

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
12

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
12

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