ClientServer Computing - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

ClientServer Computing

Description:

The representative model of distributed computing. Characteristics of Client/Server Systems ... What Is Client/Server?(2/2) Transparency of server location ... – PowerPoint PPT presentation

Number of Views:4728
Avg rating:3.0/5.0
Slides: 31
Provided by: kmhY
Category:

less

Transcript and Presenter's Notes

Title: ClientServer Computing


1
Client/Server Computing
  • Basics

2
Contents
  • Welcome to Client/Server Computing
  • What is client/server?
  • Various client/server systems
  • Fat servers or fat clients
  • 2-tier versus 3-tier
  • Client/Server Building Blocks
  • A one-size-fits-all model
  • Inside the building blocks
  • Middleware

3
Welcome to Client/Server Computing
4
What Is Client/Server?(1/2)
  • Client/Sever Computing
  • The representative model of distributed computing
  • Characteristics of Client/Server Systems
  • Clean separation of services
  • Server service provider
  • Client service consumer
  • Resources are shared by many clients
  • Asymmetrical protocols
  • Clients always initiate the dialog
  • Servers are passively awaiting requests

5
What Is Client/Server?(2/2)
  • Transparency of server location
  • Mix-and-match of HW or OS-independent SW
    platforms
  • Message-based exchanges for client/server
    interaction
  • Encapsulation of services
  • Servers determine how to process clients
    requests
  • Servers can be upgraded without affecting the
    clients
  • Scalability
  • Integrity by centrally managing the server code
    and data

6
Various Client/Server Systems (1/8)
  • File Server
  • A very primitive form of data service
  • Require many message exchanges over the network
  • Useful for sharing files across a network

7
Various Client/Server Systems (2/8)
  • DB Servers
  • The client passes SQL requests to the DB server
  • The server uses its own computing power to find
    the requested data
  • Useful for data warehousing

8
Various Client/Server Systems (3/8)
  • Transaction Servers
  • The client invokes servers remote procedures,
    which execute a group of SQL statements
  • A single request/reply message (vs. one
    request/reply message for each SQL statement in
    DB server)
  • The client component includes a GUI
  • The server component consists of SQL transactions
    called OLTP
  • TP-Lite Based on the stored procedures provided
    by DB vendors
  • TP-Heavy Based on the TP monitors provided by
    OLTP vendors

OnLine Transaction Processing
9
Various Client/Server Systems (4/8)
10
Various Client/Server Systems (5/8)
  • Groupware Servers
  • Manage semi-structures information (e.g., text,
    image, mail, bulletin boards, and the flow of
    work), so that people can contact directly with
    other people
  • The communication middleware is typically
    vendor-specific
  • Recently, the Internet is becoming the middleware
    platform as in Netscape and IBM/Lotus

11
Various Client/Server Systems (6/8)
  • Object Application Servers
  • The client/server application is written as a set
    of communication objects using an Object Request
    Broker(ORB)
  • The client invokes a method on a remote object
  • The ORB locates an object instance, invoke the
    method and return the results
  • Server objects support concurrency and sharing
  • The ORB and CORBA Application Servers
  • Examples of commercial ORBs complying OMGs CORBA
    standard Ionas Orbix, JavaSofts Java IDL,
    BEAs ObjectBroker, IBMs SOM
  • CORBA application servers (Also called OTMs) like
    BEAs M3
  • DCOM
  • Distributed Component Object Model(DCOM) by MS
  • COM is the latest name for this technology

12
Various Client/Server Systems (7/8)
13
Various Client/Server Systems(8/8)
  • Web Application Servers
  • Augment standard HTTP servers with server-side
    component frameworks
  • Functionally, very similar to object servers

14
Fat Servers or Fat Clients?(1/2)
  • Client/Server Application
  • Can be differentiated by how the distributed
    application is split between the client and the
    server

15
Fat Servers or Fat Clients?(2/2)
  • Fat Client Applications
  • The more traditional form of client/server
  • The bulk of the application runs on the client
    side
  • The clients know how the data is organized and
    stored on the server side
  • Examples file server and database servers
  • Fat Server Applications
  • Most of the code runs on the servers
  • Easier to manage and deploy on the network
  • Minimize network interchanges by creating more
    abstract levels of service by encapsulation
  • The client provides the GUI and interacts through
    method invocation
  • Example groupware, transaction, and Web servers

16
2-tier versus 3-tier(1/7)
  • 2-tier, 3-tier, and N-tier?
  • The same basic idea with fat clients and fat
    servers
  • All about how to split the client/server
    application into functional units
  • The most typical functional units
  • Presentation logic user interface
  • Business(/Application) logic actual task
  • Data logic shared data
  • Many possible variations of multi-tier
    architecture depending on
  • How to split the application
  • The middleware to communicate between the tiers

17
2-tier versus 3-tier (2/7)
18
2-tier versus 3-tier (3/7)
  • 2-tier
  • Good for creating departmental applications
  • Quick and simple application development with
    visual builder tool
  • Example small-scale groupware, simple Web
    publishing application
  • The business logic is embedded either inside the
    user interface or within the DB on the server (or
    both)
  • Intrinsic problems of 2-tier C/S
  • Not scalable
  • Unmanageable when being deployed beyond the
    departmental LAN

2-tier hits a brick wall
19
2-tier versus 3-tier (4/7)
  • 3-tier to the Rescue
  • The business logic is in the middle-tier
  • managed and deployed separately from the GUI and
    the DB
  • Meet the requirements of large-scale Internet and
    intranet client/server applications
  • Integrate data from multiple sources
  • Easier to manage and deploy on the network
    especially with Java applets and beans
  • Minimize network interchanges by creating
    abstract levels of services
  • Provide better security by not exposing the DB
    schema to the client

20
2-tier versus 3-tier (5/7)
  • When Should We Use 3-tier?

2-tier and 3-tier compared (source GantnerGroup)
21
2-tier versus 3-tier(6/7)
  • Should use 3-tier if an application has any of
    following characteristics (according to
    GatnerGroup)
  • Many application services or classes ( gt 50)
  • Applications programmed in different languages or
    written by different organizations
  • Two or more heterogeneous data sources
  • An application life that is longer than 3 years
    especially with many modifications or additions
  • A high-volume workload (transactions/day gt 50,000
    or concurrent users on the same system accessing
    the same DB gt 300 )
  • Significant inter-application or inter-enterprise
    communication like EDI

22
2-tier versus 3-tier(7/7)
  • The Middle-tier in Most 3-tier Applications
  • is not implemented as a monolithic program
  • Instead, is implemented as a collection of
    components
  • So, most of the time 3-tier is really N-tier
  • Component
  • Automates a relatively small business function
  • Call other components to help it implement a
    request
  • Clients frequently combine several middle-tier
    components within a single business transaction
  • Some components may act as gateway that
    encapsulate legacy applications running on
    mainframe

23
Client/Server Building Block
24
A One-Size-Fits-All Model
  • Client/Server Model Has a Wide Spectrum from the
    Tiny to the Intergalactic
  • Three Basic Building Blocks of Client/Server
    Model
  • Client
  • Server
  • Middleware

Server
Client
25
Inside the Building Blocks(1/2)
  • Inside the Client Building Block
  • GUI, OOUI(Object Oriented UI)
  • Thin clients require a Web browser to download
    JavaBeans and applet on demand
  • The OS most often pass the non-local services to
    the middleware building block
  • The client also runs a component of the
    DSM(Distributed System Management) element
  • Inside the Server Building Block
  • The five server platform
  • SQL DB servers, TP monitors, groupware servers,
    object servers, Web
  • The server also runs a DSM component

26
Inside the Building Blocks(2/2)
  • Inside the Middleware Building Block
  • Run on both the client and server sides of an
    application
  • 3 categories Transport stack, NOSs,
    Service-specific MW

27
Middleware(1/4)
  • Definition
  • All the distributed software needed to support
    client/server interactions
  • The glue that lets a client obtain a service from
    a server
  • Scope
  • Start with the API set on the client side
  • Cover the transmission of the request and the
    resulting response
  • Does not include the software that provides the
    actual service nor the database
  • Does not include the user interface

28
Middleware(2/4)
  • The Role of Middleware in N-tier World
  • As a platform and pipes
  • Pipes
  • Provide the inter-component (and
    inter-application) communication services
  • Example RPCs, MOMs, and ORBs
  • Platforms
  • The application servers that run the server-side
    components
  • Used across multiple OSs to provide a unified
    view of the distributed environment
  • Example TP Monitors, Object Transaction
    Monitors, Web Application Servers

29
Middleware (3/4)
  • Types of pipes
  • General pipes
  • Include the communication stacks, distributed
    directories, authentication services, network
    time, RPCs, distributed file and print services
  • Commercial products DCE, TCP/IP, IPX/SPX,
    NetBIOS
  • Service-specific pipes
  • Provide a particular client/server type of
    service
  • DB-specific middleware ODBC, JDBC, Oracle
    SQLNet
  • OLTP-specific middleware Tuxedos ATMI,
    X/Opens TxRPC, CORBAs OTS, MSs DTC and TIP
  • Groupware-specific middleware MAPI, SMTP, POP3,
    IMAP, Lotus Notes calls

30
Middleware (4/4)
  • Object-specific middleware OMGs CORBA/IIOP,
    MSs COM, and JavaSofts RMI-over-IIOP
  • Internet-specific middleware HTTP, CGI, XML
  • System management-specific middleware SNMP,
    CMIP, RMON, and ORBs
Write a Comment
User Comments (0)
About PowerShow.com