Client/Server Computing - Dr. Ajay Kumar Shrivastava

advertisement
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 Clients: File & Database
Fat Servers: Groupware, Transaction & Web
2-Tier Versus 3-Tier
Comparison b/w 2-Tier & 3-Tier
2-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
Scale
Poor
Poor (limited management of client
communications links)
Good
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
Legacy application integration
No
Yes (via server-side middleware)
Yes (via gateways encapsulated by services or
objects)
Internet support
Poor
Excellent
Heterogeneous database support
Yes
Rich communication choices
No
No (only synchronous, connection-oriented
RPC-like calls)
Hardware architecture flexibility
Limited (you have a client and a server)
Excellent
Availability
Poor
Excellent
Yes
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-theshelf 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 Characteristics
Number of clients per application
Intergalactic Era
Client/Server
Ethernet Era Client/Server
Less than 100
Number of servers per application
Millions
100,000+ "Server-mania" with many
heterogeneous servers performing different
roles
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
No
Client front-ends
Yes
OOUIs, JavaBeans, Webtops, browsers, and
shippable places
Timeframe
1998 and beyond
1985 till present
1 or 2
Fat GUI clients
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
п CD quality
706 Kbit/s
44,100 samples/sec, 16-bit per
sample
п Digital phone quality
Minimum-quality, full-motion
video
64 Kbit/s
Audio
566 Kbit/s
8,000 samples/sec, 8-bit samples
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
Download