Client_Server Computing - Dr

Document Sample
Client_Server Computing - Dr Powered By Docstoc
					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
•   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
• 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
Client/Server for Intergalactic
Client/Server for a Post-Scarcity
Personal Agents
      Inside the Building Blocks

• The client building block
• The server building block
• The middleware building block
The Client/Server Software
• 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
     -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
Content                         Bandwidth Requirements   Remarks
                                                         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

Shared By: