VIEWS: 2 PAGES: 35 POSTED ON: 2/20/2013
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 Poor Good Poor (limited management of client Excellent (concentrates incoming sessions; can Scale communications links) 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) Yes (via gateways encapsulated by services or Legacy application integration No objects) Internet support Poor Excellent Heterogeneous database support No Yes No (only synchronous, connection-oriented Rich communication choices 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 Intergalactic Era Application Characteristics Client/Server Ethernet Era Client/Server Number of clients per application Millions Less than 100 100,000+ "Server-mania" with many heterogeneous servers performing different Number of servers per application 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 OOUIs, JavaBeans, Webtops, browsers, and Client front-ends 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 44,100 samples/sec, 16-bit per п CD quality 706 Kbit/s sample п Digital phone quality 64 Kbit/s 8,000 samples/sec, 8-bit samples Minimum-quality, full-motion 1024 × 768 pixels, 30 frames/sec video 566 Kbit/s 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
"Client_Server Computing - Dr"