Chapter 12 Client/Server Systems - PowerPoint PPT Presentation

1 / 51
About This Presentation

Chapter 12 Client/Server Systems


Client/Server Systems Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel – PowerPoint PPT presentation

Number of Views:456
Avg rating:3.0/5.0
Slides: 52
Provided by: All179


Transcript and Presenter's Notes

Title: Chapter 12 Client/Server Systems

Chapter 12Client/Server Systems
Database Systems Design, Implementation, and
Management 4th Edition Peter Rob Carlos Coronel
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
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
  • 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
  • Sophisticated PC-Based End User Application
  • Cost/Performance Advantages of the PC-Based
  • Widespread use of business applications such as
    word processing, spreadsheets, DBMS, and desktop
  • New application development languages such as
  • 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
  • Islands of information
  • Sneaker net
  • Local Area Network
  • Network operating systems (NOS)
  • Powerful PCs
  • Common platform for both end users and MIS

The Evolution of Client/Server IS
  • Computer Landscape of the 1990s
  • Networks tie large numbers of heterogeneous
  • 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

Figure 12.2 The Evolution Of The Computing
Table 12.1 Contrasting Mainframe and
Client/Server Information
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
  • 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
  • Flexibility and adaptability
  • Improved employee productivity
  • Improved company work flow and a way to
    reengineer business operations
  • New opportunities to provide competitive
  • 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
Figure 12.3
An Example Of Client/Server Architecture
Figure 12.4
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
Figure 12.5
Client/Server Architecture
  • Server Components
  • File services
  • Print services
  • Fax services
  • Communications services
  • Database services
  • Transaction services
  • Miscellaneous services

Server Components
Figure 12.6
Client/Server Architecture
  • Characteristics of Server Hardware
  • Fast CPU
  • Fault-tolerant capabilities
  • Expandability of CPU, memory, disk, and
  • 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
  • The logical level deals with the communications
    between client and server processes (process to

Table 12.2 The OSI Network Reference Model
Figure 12.7 Information Flow Through The OSI
Transport Process ID
Figure 12.8
Client/Server Architecture
  • Network Protocols
  • Transmission Control Protocol/Internet Protocol
  • 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
  • Network Basic Input Output System (NetBIOS)
  • Developed by IBM for PC applications
  • Supported by the majority of PC operating systems
    and applications
  • Application Program to Program Communications
  • 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
  • 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
Figure 12.9
Interaction Between Client/Server Middleware
Figure 12.10
Middleware Accessing Multiple Database Servers
Figure 12.11
(No Transcript)
Client/Server Architecture
  • Middleware Classifications
  • Messaging-oriented middleware (MOM)
  • Remote-procedure-call-based (RPC-based) middle
  • Object-based middleware

The Quest for Standards
  • Standard-Setting Organizations
  • IEEE (Institute of Electrical and Electronics
  • 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

Client/Server Options
Figure 12.13
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

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
  • 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
Figure 12.14
Client/Server Architectural Styles
  • Five Functional Logic Components
  • Presentation logic
  • I/O processing logic
  • Application of business logic
  • Data management logic
  • Data manipulation logic

Figure 12.15 Application Functional Logic
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
  • 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
Figure 12.16
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

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
  • HardwareSingle-vendor-dependent ? Integration of
    different hardware platforms
  • SoftwareMainframe, 3GL ? GUI, networks,
  • DataCentralized, single repository ?
    Distributed, multiple formats
  • ProceduresCentralized, rigid, complex ?
    Flexible, decentralized
  • PeopleRequires support and training for new
    skills and technology

Client/Server Implementation Issues
  • Managerial Considerations
  • Management and support of communications
  • 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
  • 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
Write a Comment
User Comments (0)