44
Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Embed Size (px)

Citation preview

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

Chapter 3.Network architectures:

Client/server & middleware

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 2: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT

1. Networks architectures

2. Client/Server

3. The middleware 

4. RPC model  

5. Gateways 

6. Transparency 

7. Client server requirements 

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 3: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (1)

1. Networks architectures Yesterday Today

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 4: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 5: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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.

Rules

Applications Applications

DBMSOS

Applications

Company network

DB

Request Response

Server

Clients

Windows OS/2 Unix

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 6: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2)

1. Networks architectures

2. Client/Server Client/Server Model

Client?Server?Request ?Response?Examples?

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 7: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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 client’s 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

Page 8: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 9: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2)

1. Networks architectures

2. Client/Server Client/Server Model Client/Server architectures Fat vs thin

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 10: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server architectures

One client, One server:

Many clients, one server:

The model:

Hardware

Op. System

Client process

Client

Hardware

System

Server process

Server

Application

Client Server

Client Master

Slave Slave

Client

One client, many servers:

Client Server Server

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 11: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 12: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 13: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Local process, Caching, …

Thin Client

Data and applications

Server

Applet, data

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 14: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2)

1. Networks architectures

2. 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

a. Blocking tasks

b. Non blocking tasks Communication examples 

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 15: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server communication

Request

Response

Client

Server

Service Primitives:SendRequest()ReceiveResponse()ReceiveRequest()SendResponse() SendRequest()

ReceiveResponse()

SendResponse()

ReceiveRequest()

Session

Transport

Session

Transport

Network

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 16: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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, …)

REQRESP

REQ

ACK

S C SACK

RESP

REQ

ACK

C S

ACK

RESP

AYA

IAA

C

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 17: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Presentation

Session

Presentation

Session

Transport

TranslationMarshalling

Translation Unmarshalling

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 18: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

C/S communication mode

Synchronous mode :Doesn’t 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

Page 19: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

System call

Reading

Copy in the buffer

MiddlewareResume

read()

Blocking tasks

The process will stop untill the task ends:

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 20: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

System call

System call

System call

WOULD BLOCK

WOULD BLOCK

Resume

read()

loop

Waiting for data

Copy in the buffer

Non blocking tasks

Activate SIGIO

System call

Resume

SIGIO Signal

Resume

signal()

handler() read()

Waiting for data

Copy in the buffer

Events Signals

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

The process will not stop between two tasks:E.g: Multithreading

Page 21: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

A communication example

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Procedure call (RPC or local) : Blocking tasks ordinary procedure call dynamic link library procedure call remote procedure call

Page 22: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2)

1. Networks architectures

2. Client/Server Client/Server Model Client/Server architectures Fat vs thin Client/Server communication

Designing a C/S application

a. 2 tiers Client/server

b. Components distribution  

c. 3 tiers Client/server 

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 23: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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 application’s data.

Data access :• Data store and query: DB, Web documents,…

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 24: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

2 tiers Client/server

• Gartner model for 2-tiers systems:

Presentation

Logic

Data

Data

Presentation

Logic

Data

Presentation

Logic

Logic

Data

Presentation

Logic

Data

Distributed DB Class 1

Remote DataClass 2

Distributed Transactions

Class 3

RemotePresentations

Class 4

Presentation

Logic

Data

Distributed Presentations

Class 5

Presentation

Client

Server

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 25: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Components distribution

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CGI, HTTPD, SERVLETS

• Distributed DB:

Presentation

Logic

Data

Data

Class 1

• Web:

Presentation

Logic

Logic

Data

HTML, JAVA, JSP

Class 3

• File Service:

Presentation

Logic

Data

Class 2

This allows remote clients acess to a shared file system

Page 26: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Components distribution

• Envelop

Presentation

Logic

Data

Presentation

Original application

X Wrapper

• Terminals emulation

Presentation

Logic

Data

telnetd

Class 4

Class 5

• X Window

Presentation

Logic

Data

Presentation

Class 5

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

This allows a remote system to act as a normal terminal on a local system This acts as a wrapper around

a classical system, either to provide an X Window interface or an alternative character-based one

This decouples application view of windowing and display view of windowing

Page 27: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

3 tiers Client/server

• Gartner Model for 3-tiers systems:

Client

Middle-tierServer

Server

Presentation

Logic

Data

Presentation

Logic

Data

Logic

Presentation

Logic

Data

Logic

Presentation

Logic

Data

Logic

Data

Data

Logic

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 28: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (3)

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

1. Networks architectures

2. Client/Server

3. The middleware  The middleware : definitions The middleware in networks Types of middleware  Middleware Model  Middleware Components  Middleware position  Middleware services Middleware functionnalities 

Page 29: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 30: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 31: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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.

Mid

dlew

are

ServerClient

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 32: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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, …

Mid

dlew

are

Client ServerM

iddl

ewar

e

Gat

eway

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 33: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware Model

Distributed management

GUI

Logic

OS

Client

Distributed management

DBMS

Logic

OLPT

OS

Server

Distributed management

Transport

Network OS

SpecificServices

Middleware

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 34: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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 channelMakes 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

Page 35: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 36: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware services

Specifiic service middleware

SQL/API TxRPC Mail ORB/COM

Distributed management

CMIP SNMP DME

Network OS

RPC NFS directories, Security, Message service

Transport

TCP/IP IPX/SPX NetBIOS SNA

Network, Data Link, Physical

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 37: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware functionnalities

Connexion establishment procedureProcess requests Return resultsClose connexionInitiation of processes at different computers Directory services to allow clients to locate servers Remote data accessConcurrency control to allow servers to handle multiple clients Security integrityMonitoring Termination of processes both local and remote Caching resultsCaching requestsSession management

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 38: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 39: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (4)

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

1. Networks architectures

2. Client/Server

3. The middleware 

4. RPC model  

5. Gateways 

6. Transparency 

7. Client server requirements 

Page 40: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

RPC model

Marshalling Unmarshalling

SendRequest() ReceiveResponse()

Application

ProcedureCall

Procedure return

Marshalling Unmarshalling

SendResponse() ReceiveRequest()

Procedure

ReturnProcedure

RunProcedure

Client Stub Server Stub

Client RPC Server

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 41: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 42: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 43: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

Page 44: Chapter 3. Network architectures: Client/server & middleware INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server requirements

Reliability

Performance

Responsiveness

Scalability

Capacity

Security

A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES