Network architectures: Client/server - PowerPoint PPT Presentation

Loading...

PPT – Network architectures: Client/server PowerPoint presentation | free to download - id: 54ae68-YWE4N



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Network architectures: Client/server

Description:

& CLIENT-SERVER ARCHITECTURES ... OLE/ActiveX World Wide Web CONTENT (4) ... Slave terminals, Mono-technology, Mono OS, proprietaries systems , Non ... – PowerPoint PPT presentation

Number of Views:971
Avg rating:3.0/5.0
Slides: 45
Provided by: Oba73
Learn more at: http://www.oocities.org
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Network architectures: Client/server


1
INE4481 DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
  • Chapter 3.
  • Network architectures Client/server middleware

2
CONTENT
  • Networks architectures
  • Client/Server
  • The middleware 
  • RPC model  
  • Gateways 
  • Transparency 
  • Client server requirements 

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
3
CONTENT (1)
  • Networks architectures
  • Yesterday
  • Today

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
4
Network architectures
  • Historically you had
  • Centralized architecture
  • Slave terminals, Mono-technology, Mono OS,
    proprietaries systems ,
  • Non-relational DB IDS2, DB2,..
  • Strutural Programing Languages COBOL,

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
5
Networks architectures (2)
  • Then came distributed architecture
  • Networks, more powerful PC, open OS.
  • Standards and API Interfaces,
  • relational DB
  • Query Languages 4GL SQL,
  • Development tools.
  • Transport (communications) tools.
  • Client/Server.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
6
CONTENT (2)
  • Networks architectures
  • Client/Server
  • Client/Server Model
  • Client?
  • Server?
  • Request ?
  • Response?
  • Examples?

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
7
Client/Server Model
  • Client
  • Process that request a server process to compute
    an operation, by sending a message containing
    details on the operation to compute. After a
    request is sent, the client waits the server
    response.
  • Server
  • Process that receives clients request, compute
    the demanded operation and send back a response
    to the requester.
  • Request
  • Message transmitted from a client to a server,
    and containing a description of the tasks to be
    executed on behalf of (or for ) this client.
  • Response
  • Message transmitted back by a server to a client
    after the requested operation has been executed,
    and containing the return status of the
    operation.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
8
Client/Server Model (2)
  • The most popular models are
  • Peer to peer
  • Filter (gateway, firewall, proxy, )
  • Client Server

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
9
CONTENT (2)
  • Networks architectures
  • Client/Server
  • Client/Server Model
  • Client/Server architectures
  • Fat vs thin

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
10
Client/Server architectures
The model
Many clients, one server
Application
Client
Server
One client, many servers
One client, One server
Client
Server
Client
Server
Server
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
11
Fat vs thin
  • Clients and servers may be fat'' or thin''
    (no normal size?)
  • Fat clients use up space on each client they run
    on, may have complex installation requirements,
    etc (e.g. Netscape 3.0)
  • Thin clients have reduced functionality, but are
    easier to manage(e.g cell phone browser and
    applications)
  • The network computer model favours thin clients.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
12
Client or server oriented C/S
  • Fat Client
  • Stores data and application on localhost, and
    server stores updating files,
  • Client makes a lot of processing tasks e.g DB
    server, file server
  • Server are often lightened.
  • Fat Server
  • The maximum processing load is on the server e.g
    groupware, transactions, objects, servers.
  • Easier to manage, since features may be added on
    server side without changing and side-effects on
    clients.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
13
Client or server oriented C/S (2)
  • Thin Client
  • Client with very little functionnalities
    X-Terminals, workstations without hard-disk,
    Network Appliances, Network Computer, Networked
    PC,
  • Maximum load on server side

Data and applications
Applet, data
Local process, Caching,
Thin Client
Server
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
14
CONTENT (2)
  • Networks architectures
  • Client/Server
  • Client/Server Model
  • Client/Server architectures
  • Fat vs thin
  • Client/Server communication
  • Client/Server messages
  • C/S messages exchange
  • C/S communication mode
  • Blocking tasks
  • Non blocking tasks
  • Communication examples 

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
15
Client/Server communication
Server
Client
Request
Service Primitives SendRequest() ReceiveResponse
() ReceiveRequest() SendResponse()
Response
SendRequest()
SendResponse()
ReceiveRequest()
ReceiveResponse()
Session
Session
Transport
Transport
Network
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
16
Client/Server messages
  • Three types of messages in general REQ, RESP,
    and ACK.
  • Others types could exist.
  • AYA (Are You Alive)
  • Used by the client to avoid retransmission when
    the server is late in its answer.
  • IAA (I Am Alive)
  • Used by the server to delay client waiting (e.g
    the server is busy in a long task)
  • The client could make a timeout and stop
    refreshing requests after many tryings.
  • TA (Try Again)
  • Used by the server when the REQ message can not
    be accepted (e.g mail box over flow, unknown
    destination address, )

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
17
C/S messages exchange
  • In an heterogenous environment, an adaquate data
    presentation is necessary
  • Data translation XDR (SUN) , ASN.1(CCITT),
  • Marshalling parameters sent
  • Unmarshalling received parameters

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
18
C/S communication mode
  • Synchronous mode
  • Doesnt use waiting queue
  • Messages are sent with no delay
  • Blocking mode (ex. RPC).
  • Asynchronous mode
  • Uses waiting queue
  • Non blocking mode (ex. FIFO, email, ).
  • Uses Multithreading.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
19
Blocking tasks
  • The process will stop untill the task ends

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
20
Non blocking tasks
Events
Signals
  • The process will not stop between two tasks
  • E.g Multithreading

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
21
A communication example
  • Procedure call (RPC or local) Blocking tasks
  • ordinary procedure call
  • dynamic link library procedure call
  • remote procedure call


A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
22
CONTENT (2)
  • Networks architectures
  • Client/Server
  • Client/Server Model
  • Client/Server architectures
  • Fat vs thin
  • Client/Server communication
  • Designing a C/S application
  • 2 tiers Client/server
  • Components distribution  
  • 3 tiers Client/server 

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
23
Designing a C/S application
  • A C-S application must include the following
    components
  • Presentation
  • Textual interfaces or GUI, interactions, data
    retrieving, validation,
  • Application Logic
  • Process in relation with the client/server
    applications data.
  • Data access
  • Data store and query DB, Web documents,

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
24
2 tiers Client/server
  • Gartner model for 2-tiers systems

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
25
Components distribution
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
26
Components distribution
  • Envelop
  • Terminals emulation

Presentation
Presentation
X Wrapper
Presentation
Logic
telnetd
Logic
Data
Original application
Data
Class 4
This allows a remote system to act as a normal
terminal on a local system
Class 5
This decouples application view of windowing
and display view of windowing
This acts as a wrapper around a classical
system, either to provide an X Window interface
or an alternative character-based one
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
27
3 tiers Client/server
  • Gartner Model for 3-tiers systems

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
28
CONTENT (3)
  • Networks architectures
  • Client/Server
  • The middleware 
  • The middleware definitions
  • The middleware in networks
  • Types of middleware 
  • Middleware Model 
  • Middleware Components 
  • Middleware position 
  • Middleware services
  • Middleware functionnalities 

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
29
The middleware definitions
  • Set of software services built on top a transport
    protocol to enable and hide C/S
    requests/responses.
  • Makes the connexion between server (e.g DB ) and
    development tools on client device.
  • Middleware services are a set of distributed
    softwares that exist between the OS, the
    application and network services on a particular
    node.
  • Middleware examples
  • CORBA, RMI, DCOM, .NET

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
30
The Middleware in networks
  • The network services include things like TCP/IP
  • The middleware layer is application-independent
    s/w using the network services
  • Examples of middleware are DCE, RPC, Corba
  • Middleware may only perform one function (such as
    RPC or many (such as DCE)

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
31
Types of middleware
  • General purpose middleware
  • Message-Oriented Middleware (MOM) which provides
    program-to-program data exchange, enabling the
    creation of distributed applications.
  • Communication protocols between shared
    directories, authentication services, time
    service, RPC, FIFO, ...
  • NOS(network OS) type distributed services File
    services, printing services.
  • E.g DCE, Netware, Named Pipes, LAN Server, LAN
    Manager, Vines, TCP/IP, NetBios.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
32
Types of middleware (2)
  • Specific types
  • Databases Middleware ODBC, IDAPI,DRDA, EDA/SQL,
  • Transaction processing (TP) monitors which
    provide tools and an environment for developing
    and deploying distributed applications.
  • E.g. ATMI (Tuxedo), Transactional RPC (Ensina),
  • Groupeware MAPI, Lotus Notes,
  • Object Request Brokers (ORBs) which enable the
    objects that comprise an application to be
    distributed and shared across heterogeneous
    networks. E.g. Corba ORB,...
  • Network management SNMP,

Middleware Gateway
Server
Client
Middleware
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
33
Middleware Model
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
34
Middleware Components
  • Channels
  • Communication services between components and
    applications
  • DCE RPC (synchronous), ORB (synchronous), MOM
    (Message Oriented Middlware) (asynchronous).
  • Support for communication services
  • Corba SSL, directories (LDAP).
  • Platforms
  • Application servers. Running on server side.
  • Offers communication channel
  • Makes dispatching (distributed OS), load
    balancing, transactions integrity,
  • E.g TP Monitors, OTM, Web based application
    servers,

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
35
Middleware position
  • Examples
  • Primitives services terminals emulators, file
    transfer, email,
  • Basic services RPC
  • Integrated services DCE, SE distributed by
    O/S.
  • Distributed objects CORBA, COM/DCOM,
    OLE/ActiveX
  • World Wide Web

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
36
Middleware services
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
37
Middleware functionnalities
  • Connexion establishment procedure
  • Process requests
  • Return results
  • Close connexion
  • Initiation of processes at different computers
  • Directory services to allow clients to locate
    servers
  • Remote data access
  • Concurrency control to allow servers to handle
    multiple clients
  • Security integrity
  • Monitoring
  • Termination of processes both local and remote
  • Caching results
  • Caching requests
  • Session management

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
38
Middleware examples
  • Primitive services such as terminal emulators,
    file transfer, email
  • Basic services such as RPC
  • Integrated services such as DCE, Network O/S
  • Distributed object services such as CORBA,
    OLE/ActiveX
  • World Wide Web

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
39
CONTENT (4)
  • Networks architectures
  • Client/Server
  • The middleware 
  • RPC model  
  • Gateways 
  • Transparency 
  • Client server requirements 

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
40
RPC model
Client
RPC Server
Procedure
Application
Return Procedure
Run Procedure
Procedure Call
Procedure return
Server Stub
Client Stub
Marshalling
Marshalling
Unmarshalling
Unmarshalling
ReceiveRequest()
SendRequest()
ReceiveResponse()
SendResponse()
A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
41
Gateways
  • A gateway is a generic term for an entity used to
    connect two or more networks
  • A repeater operates at the physical level copies
    the information from one subnet to another
  • A bridge operates at the data link layer level
    and copies frames between networks
  • A router operates at the network level and not
    only moves information between networks but also
    decides on the route
  • A proxy operates at the application level

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
42
Transparency
  • Networks Transparency
  • Support of different type of networks LAN, WAN,
    TCP/IP, ISO, SNA,
  • Servers Transparency
  • Support of different type of servers SGBD
    (Oracle, DB2, ), applications,
  • Data Transparency
  • Data formats translation XDR, ASN.1,
  • Localisation Transparency
  • By using directory service.

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
43
Client/Server points of failure
  • The client side of the application could crash
  • The client system may have h/w problems
  • The client's network card could fail
  • Network contention could cause timeouts
  • There may be network address conflicts
  • Network elements such as routers could fail
  • Transmission errors may lose messages
  • The client and server versions may be
    incompatable
  • The server's network card could fail
  • The server system may have h/w problems
  • The server s/w may crash
  • The server's database may become corrupted

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
44
Client/Server requirements
  • Reliability
  • Performance
  • Responsiveness
  • Scalability
  • Capacity
  • Security

A.Obaid-Wilfried Probst Rufin Soh INE4481
DISTRIBUTED DATABASES CLIENT-SERVER
ARCHITECTURES
About PowerShow.com