Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rodolfo M. Favaretto
Arquiteturas Centralizadas Devemos pensar em termos de clientes que requisitam servios de servidores...
Modelo cliente-servidor
Servidor
Processo que implementa um servio especfico. Por exemplo: um servio de sistema de arquivo ou um servio de banco de dados.
Cliente
Processo que requisita um servio de um servidor enviando-lhe uma requisio e, na sequncia, esperando pela resposta do servidor.
Requisio-resposta
Cliente Espera resultado
Requisio Servidor
Resposta
Fornece Servio
Tempo
A comunicao pode ser implementada por meio de um protocolo simples sem conexo quando a rede for razoavelmente confivel, como em redes locais.
Requisio-resposta
Cliente Espera resultado
Requisio Servidor
Resposta
Fornece Servio
Tempo
Empacota uma mensagem para o servidor, identificando o servio que quer, junto com os dados de entrada necessrios.
Requisio-resposta
Cliente Espera resultado
Requisio Servidor
Resposta
Fornece Servio
Tempo
O servidor espera por uma requisio e, em seguida, a processa e empacota os resultados em uma mensagem de resposta que enviada ao cliente.
Orientado ou no a conexo?
Protocolo com conexo Protocolo sem conexo
Funciona bem em sistemas de longa distncia. Quando o cliente requisita um servio, antes estabelece conexo com o servidor e depois se envia a requisio.
no ocorrem
problemas.
Operaes Idempotentes
Operaes que podem ser repetidas vrias vezes sem causar danos.
Operaes Idempotentes Consultar estoques em uma empresa, pesquisar na web, entre outras. Operaes no Idempotentes Dar baixa no estoque, fazer uma transferncia bancria, etc.
Camadas de aplicao
Como distinguir entre cliente e servidor?
Por exemplo... Servidor de banco de dados distribudo repassa requisies a servidores de arquivos. Assim, age como cliente continuamente. Como muitas aplicaes cliente-servidor visam dar suporte ao acesso de usurios a banco de dados conveniente que sejam divididas em trs camadas distintas.
Camadas de aplicao
Nvel de interface de usurio
Contm tudo o que necessrio para fazer a interface com o usurio.
Nvel de processamento
Contm a funcionalidade central da aplicao.
Nvel de dados
Contm aplicaes que gerenciam os dados sobre os quais est sendo executada alguma ao.
Camadas de aplicao
Arquiteturas Multidivididas
A distino entre os trs nveis lgicos sugere vrias possibilidades para a distribuio fsica de uma aplicao. Diversas arquiteturas podem ser utilizadas.
Na alternativa (d), a aplicao executa no cliente, ficando no servidor s as operaes sobre as bases de dados. Ex: aplicaes bancrias.
Na alternativa (e), o disco local no cliente mantm parte dos dados. Ex: browser web mantendo uma cache.
Thin Clients
Fat Clients
Fat Clients
Tem-se evitado usar fat clients devido a problemas de gerenciamento e por tornar o software cliente dependente da plataforma do cliente.
Nesta arquitetura, programas que formam o nvel de processamento residem em um servidor separado.
Dvidas?
Arquiteturas Centralizadas
Rodolfo M. Favaretto