Chapter 7: Client/Server Computing

Preview:

DESCRIPTION

Chapter 7: Client/Server Computing. Business Data Communications, 5e. What is Client/Server?. Client Server Network How is client/server different from other distributed computing? Heavy reliance on user-friendly applications Emphasis on centralizing databases and management functions - PowerPoint PPT Presentation

Citation preview

Chapter 7:Client/Server Computing

Business Data Communications, 5e

What is Client/Server?

• Client• Server• Network• How is client/server different from other

distributed computing?– Heavy reliance on user-friendly applications– Emphasis on centralizing databases and management

functions– Commitment to openness/modularity– Networking fundamental to operation

Client-Server Environment

Why is Client-Server Different?

• Emphasis on user-friendly client applications

• Focus on access to centralized databases

• Commitment to open and modular applications

• Networking is fundamental to the organization

Client/Server Applications

• Emphasis on GUI for users

• Database Example– Database on server, applications for access on

client, “glue” (like SQL) enables requests)– Application logic can be client-only, or split

between client and server

Classes of Client-Server Applications

• Host-based processing

• Server-based processing

• Client-based processing

• Cooperative processing

• “Fat client” vs “fat server”

3-Tier Client/Server Architecture

Middleware

• Standardized interfaces and protocols between clients and back-end databases

• Hides complexity of data sources from the end-user

• Compatible with a range of client and server options

• All applications operate over a uniform applications programming interface (API).

Middleware Architecture

Logical View of Middleware

Basic Message Passing Primitives

Message Passing Issues

• Reliability vs Unreliability– Reliable facilities guarantee delivery, provide error-

checking, retransmission, etc– Alternatively, the message can be sent without

success/failure; reduces complexity and overhead, passes responsibility for confirmation to application

• Blocking vs Nonblocking– Non-blocking more efficient, but difficult to test and

debug programs– Blocking (synchronous) retains control until

acknowledgment is received

Remote Procedure Call Mechanism

Client/Server Binding

• Nonpersistent binding– Does not maintain state information,

connections re-established as necessary– Inappropriate for RPCs used frequently by

same caller

• Persistent binding– Connection sustained until procedure return– Useful for applications making repeated calls

to remote procedures

Object-Oriented Mechanisms

• Clients and servers ship messages between objects.

• May rely on an underlying message or RPC structure or be developed directly on top of object-oriented capabilities in the operating system

• Success depends on standardization of the object mechanism, but competing models exist– COM, OLE, CORBA

Intranets

• Implementation of internet-based client/server technology within an organization, rather than for global connectivity

• Immensely successful in corporate computing contexts

Advantages of Intranets

• Rapid prototyping• Scales effectively• Little training

required• Can be implemented

on variety of systems• Open architecture

allows interaction across platforms

• Supports a range of distributed servers

• Allows integration of legacy systems on client and server side

• Supports a range of media types

• Inexpensive to implement

The Intranet Web

• Web Content– The web can be used to effectively distribute content

in a way that requires no new training for end-users

• Web/Database Connectivity– Multiple tools exist to serve as middleware between

web servers and data sources

• Electronic Mail• Network News

Web/Database Connectivity

• Advantages– Ease of administration

– Deployment

– Development speed

– Flexible information presentation

• Disadvantages– Limited functionality

– Stateless operation makes tracking difficult

Intranet Disadvantages

• Long development cycles• Difficulty in partitioning applications, and

modifying based on user feedback• Effort in distributing upgrades to clients• Difficult in scaling servers to respond to

increased load• Continuous requirement for more powerful

desktop machines

Other Intranet Technologies

• Electronic Mail– Closed internal mail systems (delivery

verification, etc)– Internal mailing lists

• Network news (USENET)– Can be adopted for internal intranet uses

The Extranet Web

• Extends the intranet concept to provide information and services to selected outside populations, such as customers and suppliers

• Enables the sharing of information between companies

• A TCP/IP enabled form of EDI

Advantages of Extranets

• Reduced costs

• More marketable products

• Increased productivity

• Enhanced profits

• Reduced inventories

• Faster time to market

Methods for Converting Intranets to Extranets

• Long-distance dial-up access• Internet access to intranet with security• Internet access to an external server that

duplicates some of a company’s intranet data• Internet access to an external server that

originates database queries to internal servers• Virtual private network

Recommended