26
O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

Embed Size (px)

Citation preview

Page 1: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

O Paradigma Cliente/Servidor

Prof. Carlos A. Maziero, PhD

PPGIA PUCPR

Page 2: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

2

Sistema centralizado

Computador central (mainframe)+ conjunto de terminais+ recursos centralizados

mainframe

recursos

terminais

Page 3: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

3

Sistema distribuído

Grupo de computadores+ suporte de comunicação+ recursos compartilhados

C1 C3C2

rede

recursos

Page 4: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

4

Relações entre entidades

Peer-to-peer(não hierárquico)

Filtros

Cliente/servidor

A A’cooperação

B CAdadosdados

SCresposta

pedido

Page 5: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

5

O paradigma cliente/servidor

O servidorO servidor:– oferece um serviço aos clientes– passivo: responde aos pedidos dos clientes– efetua um processamento específico

O clienteO cliente:– ativo: submete pedidos ao servidor– implementa a interface com o usuário

O serviçoO serviço:– constitui o contrato entre as partes

Page 6: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

6

Middleware

Infra-estrutura para:– Execução (sistema operacional)– Comunicação (protocolos)– Gerenciamento (ferramentas de suporte)

Presente no cliente E no servidor Baseado em padrões abertos Estruturado em camadas

Page 7: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

7

Arquitetura cliente/servidor

Cliente Serv. A

pedidoresposta

Serv. B

Middleware Middleware

Suporte de comunicação

Máquina BMáquina A

Usuário

Page 8: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

8

Características dos sistemas C/S

ContratoContrato entre cliente e servidor EncapsulamentoEncapsulamento do serviço Comportamento assimétricoassimétrico TransparênciaTransparência de localização IndependênciaIndependência de plataforma Interações por mensagensmensagens EscalabilidadeEscalabilidade horizontal e vertical

Page 9: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

9

Vantagens dos sistemas C/S

Melhor relação preço/desempenhopreço/desempenho equipamentos mais baratos

Maior facilidade de expansãoexpansão expansão incremental dos serviços

É possível adotar soluções abertassoluções abertas integrar soluções de diferentes fabricantes

Menor impacto das falhasfalhas falhas afetam somente parte do sistema mais fácil replicar servidores

Page 10: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

10

Desvantagens dos sistemas C/S

Software mais complexocomplexo é preciso quebrar a aplicação em partes

Problemas de saturação da redesaturação da rede Maior dependência do meio de comunicação interações devem ser bem projetadas

Aspectos de segurançasegurança mais críticos dados confidenciais circulam na rede necessidade de criptografia

Page 11: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

11

Nível: aplicação ou sistema ?

C/S a nívelde aplicação

C/S a nívelde sistema Hardware

SistemaAplicação

Hardware

Sistema

Aplicação

Hardware

Sistema

Aplicação

Hardware

Sistema

Page 12: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

12

Sistemas cliente/servidor típicos

Servidores de arquivos/impressão

cliente

cliente

Acessos a arquivos

servidorJobs de impressão

Page 13: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

13

Sistemas cliente/servidor típicos

Servidores de bancos de dadoscliente

cliente

Chamadas SQLservidor

DBMS

Page 14: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

14

Sistemas cliente/servidor típicos

Servidor de cálculo (Unix / X-Windows)

terminal (comandos)

Servidor de cálculo

Cliente gráfico

Cliente de cálculoServidor gráfico

X-Protocol (saída gráfica)

Page 15: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

15

Sistemas cliente/servidor típicos

Servidores de WWW

HTTP

servidorHTMLHTML

HTML

CGI

aplicação

cliente

java

cliente

HTML

Page 16: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

16

Sistemas cliente/servidor típicoscliente

Específicos

WWW

DHCP

DNS

News

E-mail

Arquivos

Impressão

FTP

Segurança

Cálculo

Bootp

NIS

Groupware

Page 17: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

17

Características do cliente

Estreita relação com o usuário Pode acessar diversos servidores Interface gráfica usual ou a objetos Sistema operacional leve e flexível

• Win 95/NT, OS/2, MacOS, JavaOS, ...

Browser Web: o cliente universal !

Page 18: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

18

Características do servidor

Processamento especializado Pode servir clientes simultâneos

• controle de concorrência

Sistema operacional robusto• Unix, Windows NT/2k, ...• Mainframe + protocolos abertos• Servidores replicados

Versatilidade em comunicação• Atender clientes com vários protocolos

Page 19: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

19

Características do “middleware”

Suporte às interações entre clientes e servidores:– Protocolos de transporte:

• TCP/IP, NetBIOS, IPX/SPX, SNA, ...

– NOS - Network Operating Systems:• mensagens, RPC, segurança, arquivos, ...

– DSM - Distributed System Management:• SNMP, CMIP, NIS, SMS, ...

– Suporte a serviços específicos:• HTTP, IIOP, SMTP, ODBC, ...

Page 20: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

20

Clientes gordos ou magros ?

Aplicação: GUI + lógica + dados Onde separar cliente e servidor ?

– Fat Server : lógica no servidor– Fat client : lógica no cliente

GUI Lógica Dados

Thin client Fat server

Fat client Thin server

Page 21: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

21

Clientes gordos ou magros ?

Cliente

Servidor

GUI

Lógica

Dados

GUI

Lógica

Dados

Arquivos

Bancos de dados

Transações

WWW

Page 22: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

22

Gordos X Magros

Cliente gordo:• menos processamento para o servidor• possivelmente mais tráfego na rede• cliente é mais sensível a mudanças

Cliente magro:• mais processamento no servidor• menos tráfego na rede• manutenção mais simples

Page 23: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

23

2-Tiers X 3-Tiers

2-tiers: cliente e servidor 3-tiers: cliente, lógica e servidor Uso ambíguo ao longo do tempo:

Servidorescorporativos

Servidoresdepartamentais

PCs

Servidores debcos de dados

Servidoresde aplicação

Cliente

Banco de dadoscorporativo

Banco de dadoslocal

Cliente

t

Page 24: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

24

Arquitetura 3-tiers

Separação completa:• cliente: interface com o usuário• aplicação: lógica do negócio• dados: informações armazenadas

cliente servidor de aplicação servidor de

dados B

servidor de dados A

Page 25: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

25

WWW: uma arquit 3-tiers típica

HTTPWWWserver

RDBMSOODBMS

OLTP

Groupware

browserHTML docs

CGI

CGI

CGI

client application data

Page 26: O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR

26

Finalizando...

Leitura complementar:

• The Essential Client/Server Survival Guide,partes 1 e 2

• Introduction to Client/Server Systems,capítulo 1