client/server computing ajay kumar shrivastava. what is client/server clients and servers are...

35
Client/Server Computing Ajay Kumar Shrivastava

Upload: arnold-woods

Post on 22-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Client/Server Computing

Ajay Kumar Shrivastava

What is Client/Server

• Clients and servers are separate logical entities that work together over a network to accomplish a task

Characteristics

• Service• Shared resources• Asymmetric protocols• Transparency of location• Mix-and-match• Message based exchanges• Encapsulation of services• Scalability• Integrity

Types of Servers

• File Servers

Types of Servers

• Database Servers

Types of Servers

• Transaction Servers

Types of Servers

• Groupware Servers

Types of Servers

• Object Servers

Types of Servers

• Web Servers

Fat Servers or Fat Clients

Fat Servers: Groupware, Transaction & Web Fat Clients: File & Database

2-Tier Versus 3-Tier

Comparison b/w 2-Tier & 3-Tier2-Tier 3-Tier

System administration Complex (more logic on the client to manage) Less complex

Security Low (data-level security) High

Encapsulation of data Low (data tables are exposed) High (the client invokes services or methods)

Performance Poor Good

ScalePoor (limited management of client communications links)

Excellent (concentrates incoming sessions; can distribute loads across multiple servers)

Application reuse Poor (monolithic application on client) Excellent (can reuse services and objects)

Ease of development High Getting better

Server-to-server infrastructure No Yes (via server-side middleware)

Legacy application integration NoYes (via gateways encapsulated by services or objects)

Internet support Poor Excellent

Heterogeneous database support No Yes

Rich communication choicesNo (only synchronous, connection-oriented RPC-like calls) Yes

Hardware architecture flexibility Limited (you have a client and a server) Excellent

Availability Poor Excellent

Components: When 3-Tier Is N-Tier

Advantages of Component based Middle Tier

• You can develop big applications in small steps• Applications can reuse components• Clients can access data and functions easily

and safely• Custom applications can incorporate off-the-

shelf components• Component environments don't get older—

they only get better

When Should You Use 3-Tier?

• More than 50 applications• Written in different languages or by different

organizations • Heterogeneous data sources• Life longer than three years• Many modifications or additions• A high-volume workload• Significant inter-application communication• Expectation of growing the application

When Should You Use 3-Tier?

Web C/S Versus Traditional C/S

Application CharacteristicsIntergalactic Era Client/Server Ethernet Era Client/Server

Number of clients per application Millions Less than 100

Number of servers per application

100,000+ "Server-mania" with many heterogeneous servers performing different roles 1 or 2

Geography Global Campus-based

Server-to-server interactions Yes No

Middleware ORBs on top of Internet SQL and stored procedures

Client/server architecture 3-tier (or N-tier) 2-tier

Transactional updates Pervasive Very infrequent

Multimedia content High Low

Mobile agents Yes No

Client front-endsOOUIs, JavaBeans, Webtops, browsers, and shippable places Fat GUI clients

Timeframe 1998 and beyond 1985 till present

What Do We Need

• Rich transaction processing• Roaming agents• Rich data management• Intelligent self-managing entities• Intelligent middleware

Basic building blocks

Client/Server for Tiny Shops and Nomadic Tribes

Client/Server for Small Shops and Departments

Client/Server for Intergalactic Enterprises

Client/Server for a Post-Scarcity World

Personal Agents

Inside the Building Blocks

• The client building block • The server building block • The middleware building block

The Client/Server Software Infrastructure

Middleware

• A hodgepodge of s/w technologies• A buzzword• A key to developing client/server applications

• Middleware is a vague term that covers all the distributed software needed to support interactions b/w clients and servers.

Middleware continue

• Starts with API• Covers transmission from request to result

• Not includes-S/w that provide the actual service- Database- User interface.

Pipes and Platform

Classes of Pipes• General pipes • Service-specific pipes

-Database-specific-OLTP-specific-Groupware-specific -Object-specific-Internet-specific -System management

Server-to-Server Middleware

The Transport Stacks Middleware

• The stack sandwich• The logical network driver• The transport-independent APIs

The Transport Stacks Middleware

The protocol matchmakers

Boundless Bandwidth: How Much Is Enough?

Content Bandwidth Requirements Remarks

Audio

п CD quality 706 Kbit/s44,100 samples/sec, 16-bit per sample

п Digital phone quality 64 Kbit/s 8,000 samples/sec, 8-bit samplesMinimum-quality, full-motion video 566 Kbit/s

1024 × 768 pixels, 30 frames/sec 3 colors; 8 bits each

TV-quality, full-motion video

п Uncompressed 96 Mbit/s

п MPEG-2 compression 6 Mbit/s

Data requirements 2 Mbit/s For LAN-speed responsiveness