Apostilas - cliente servidor - aula 1 - fabiula

11,112 views
10,770 views

Published on

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,112
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
302
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Apostilas - cliente servidor - aula 1 - fabiula

  1. 1. Arquitetura Cliente Arquitetura Cliente Servidor Fabiula d b l de Aquino
  2. 2. Objetivos deste encontro Objetivos deste encontro• Definição dos conceitos relacionados – Cliente/Servidor / – Distribuindo papéis – Cliente • Gordo e magro – Servidor d – Vantagens e Desvantagens da arquitetura – Web‐Based
  3. 3. Cliente/Servidor• O termo Cliente/Servidor refere‐se ao método de distribuição de aplicações computacionais ç p ç p através de muitas plataformas. Tipicamente essas aplicações estão divididas entre um provedor de acesso e uma central de dados e numerosos clientes contendo uma interface gráfica para usuários para acessar e manipular dados.
  4. 4. Cliente/Servidor• Modelo onde dois ou mais computadores interagem de modo que um oferece os g q serviços aos outros.• Este modelo permite aos usuários acessarem informações e serviços de qualquer lugar.
  5. 5. Cliente/Servidor• Arquitetura computacional que envolve requisições de serviços de clientes para q ç ç p servidores. Uma rede Cliente/Servidor é uma extensão lógica da programação modular modular.
  6. 6. Cliente/Servidor• Uma aplicação Cliente/Servidor pode ser estruturada em três níveis: – Interface com o usuário – Processamento – Dados• Simples requer dois tipos de máquinas: – Cliente: executa programas que compreendem a interface com o usuário; – Servidor: implementa camadas de processamento e de dados.
  7. 7. Cliente ServidorCliente Servidor
  8. 8. Cliente Servidor Cliente Servidor• Na alternativa (a), executa‐se no cliente só a p parte da interface dependente do terminal p• Na alternativa (b), todo o software de interface com usuário executa no cliente• Exemplo da alternativa (c): verificação de consistência do preenchimento de um formulário feito no cliente
  9. 9. Cliente Servidor Cliente Servidor• Na alternativa (d), a aplicação executa na máquina cliente, indo para o servidor somente q p as operações sobre as base de dados. Exemplo: – muitas aplicações bancárias;• Na alternativa (e), o disco local no cliente mantêm parte dos dados. p• Exemplo: browser web mantendo uma cachê;
  10. 10. Cliente Servidor Cliente Servidor• Recentemente tem‐se evitado as alternativas ( ) (d) e (e) devido a problemas de ( ) p gerenciamento e por tornar o software cliente dependente da plataforma subjacente do cliente• Clientes gordos ( b l (abordagens ( ) e ( )) (d) (e)):evitar;• Clientes magros (abordagens (a) a (c)): mais fáceis de gerenciar.
  11. 11. Cliente• Sempre inicia pedidos de servidores;• Espera por respostas;• Recebe respostas;• Normalmente, se conecta a um pequeno número de servidores de uma só vez; ;• Normalmente, interage diretamente com os usuários fi i através d qualquer i t f á i finais t é de l interface com o usuário , como interface gráfica do usuário.
  12. 12. Cliente• Cliente, também denominado de “front‐end” e “WorkStation”, é um processo que interage p q g com o usuário através de uma interface gráfica ou não permitindo consultas ou comandos não, para recuperação de dados e análise e representando o meio pela qual os resultados são apresentados.
  13. 13. Cliente• Além disso, apresenta algumas características distintas: – É o processo ativo na relação Cliente/Servidor. – Inicia e termina as conversações com os Servidores, solicitando serviços distribuídos. – Nã Não se comunica com outros Clientes. i t Cli t – Torna a rede transparente ao usuário.
  14. 14. Servidor• Sempre esperar por um pedido de um dos clientes;• Serve os clientes pedidos, em seguida, responde com os dados solicitados aos clientes;• Um servidor pode se comunicar com outros servidores, a fim de atender uma solicitação do cliente.
  15. 15. Servidor• Também denominado Servidor ou “back‐end”, f fornece um determinado serviço que fica ç q disponível para todo Cliente que o necessita. A natureza e escopo do serviço são definidos pelo objetivo da aplicação Cliente/Servidor.
  16. 16. Servidor• Além disso, ele apresenta ainda algumas p p propriedades distintas: – É o processo reativo na relação Cliente/Servidor. – Possui uma execução contínua contínua. – Recebe e responde às solicitações dos Clientes. – Não se comunica com outros Servidores enquanto estiver fazendo o papel de Servidor. – Presta serviços distribuídos. – Atende a diversos Clientes simultaneamente. Atende a diversos Clientes simultaneamente.
  17. 17. Organização de Servidores Organização de Servidores• Servidor interativo: o próprio servidor manipula a requisição e, se necessário, p q ç retorna uma resposta ao cliente;• Servidor concorrente: repassa para uma thread ou processo em separado a requisição e imediatamente espera pela próxima l ó requisição
  18. 18. Tipos de servidores Tipos de servidores• Servidor de Arquivos• Servidor de Impressora Servidor de Impressora• Servidor de Banco de Dados• Servidor de Redes• Servidor de Telex Servidor de Telex• Servidor de Fax• Servidor de Processamento e Imagens• Servidor de Comunicação e etc. Servidor de Comunicação e etc
  19. 19. Comunicação Cliente/Servidor Comunicação Cliente/Servidor• Através de portas conhecidas designadas pela Autoridade para Atribuição de Números na p ç Internet (Iana). Ex: FTP‐21, HTTP‐80• Através de um daemon que registra os servidores em execução• Através de um superservidor, que escuta em várias portas e repassa a requisição a um servidor específico.
  20. 20. Uma intervenção cliente/servidorUma intervenção cliente/servidor
  21. 21. Vantagens• Na maioria dos casos, a arquitetura cliente/servidor permite que os papéis e p q p p responsabilidades de um sistema de computação possam ser distribuídos entre vários computadores independentes que são conhecidos por si só através de uma rede rede.
  22. 22. Vantagens• Isso cria uma vantagem adicional para essa q arquitetura: – Maior facilidade de manutenção. Por exemplo, é possível substituir, reparar, atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam a ser a consciência e não afetado por essa mudança;
  23. 23. Vantagens• Todos os dados são armazenados nos servidores, q que g geralmente p possuem controles de segurança muito maior do que a maioria dos clientes clientes.• Servidores podem controlar melhor o acesso e recursos, para garantir que apenas os clientes l com as permissões adequadas podem acessar e alterar dados;
  24. 24. Vantagens• O armazenamento de dados é centralizada, as atualizações dos dados são muito mais fáceis ç de administrar, em comparação com o paradigma P2P onde uma arquitetura P2P P2P, P2P, atualizações de dados podem precisar ser distribuída e aplicada a cada ponto na rede rede, que é o timeconsuming é passível de erro, como pode haver milhares ou mesmo milhões de pares;
  25. 25. Vantagens• Muitas tecnologias avançadas de clientes/servidor já estão disponíveis, que j p q foram projetadas para garantir a segurança, facilidade de interface do usuário e facilidade de uso;• Funciona com vários clientes diferentes de á l f capacidades diferentes.
  26. 26. Vantagens• Confiabilidade – Se uma máquina apresenta algum problema, q p g p , ainda que seja um dos Servidores, parte do Sistema continua ativo.• Matriz de Computadores agregando  capacidade de processamento capacidade de processamento – A arquitetura Cliente / Servidor provê meios para que as tarefas sejam feitas sem a monopolização dos recursos. Usuários finais podem trabalhar localmente.
  27. 27. Vantagens• O Sistema cresce facilmente – Torna‐se fácil modernizar o Sistema quando q necessário.• O Cliente e o Servidor possuem ambientes operacionais individuais / Sistemas Abertos – Pode‐se misturar várias plataformas para melhor atender às necessidades individuais de diversos setores e usuários.
  28. 28. Desvantagens• Redes de tráfego de bloqueio é um dos p problemas relacionados com o modelo cliente/servidor. – Como o número de solicitações simultâneas de cliente para um determinado servidor, o servidor pode ficar sobrecarregado;
  29. 29. Desvantagens• O paradigma cliente/servidor não tem a robustez de uma rede P2P. – Sob cliente/servidor, se um servidor crítico falhar, os pedidos dos clientes não podem ser cumpridos. – Em redes P2P, os recursos são normalmente distribuídos entre vários nós Mesmo se um ou nós. mais nós partem e abandonam baixar um arquivo, por exemplo os nós restantes ainda deve ter os exemplo, dados necessários para completar o download.
  30. 30. Desvantagens• Manutenção – As diversas partes envolvidas nem sempre p p funcionam bem juntas. Quando algum erro ocorre, existe uma extensa lista de itens a serem , investigados.• Ferramentas – A escassez de ferramentas de suporte, não raras vezes obriga o d bi desenvolvimento d f l i de ferramentas próprias. Em função do grande poderio das novas linguagens d programação, esta difi ld d está li de ã dificuldade á se tornando cada vez menor.
  31. 31. Desvantagens• Treinamento – A diferença entre a filosofia de desenvolvimento ç de software para o microcomputador de um fabricante para o outro, não é como a de uma p , linguagem de programação para outra. Um treinamento mais efetivo torna‐se necessário.• Gerenciamento –A Aumento d complexidade d ambiente e a da l id d do bi escassez de ferramentas de auxílio tornam difícil o gerenciamento d rede. i da d
  32. 32. Arquitetura Web‐Based Arquitetura Web Based• Então, usamos o Browser como Cliente Universal• Conceito de Intranet• A camada d aplicação se quebra em d d de li ã b duas: Web e Aplicação• Evitamos instalar qualquer software no desktop e portanto, portanto problemas de manutenção
  33. 33. Arquitetura Web‐Based Arquitetura Web Based• Evitar instalação em computadores de clientes, parceiros, fornecedores, etc. p• Às vezes, continua se a chamar isso de 3 camadas porque as camadas Web e Aplicação frequentemente rodam na mesma máquina (para pequenos volumes) ( l )
  34. 34. Arquitetura Web‐Based Arquitetura Web Based Classe MãeGeneraliza Especializa E i li Classe Filha
  35. 35. Problemas da Web‐Based Problemas da Web Based• Não há suporte a Thin Clients (PDA, celulares, smart cards, quiosques, ...) q q ) – preciso usar um browser (pesado) no cliente• Dificuldade de criar software reutilizável – cadê a componentização?
  36. 36. Problemas da Web‐Based Problemas da Web Based• Fazer aplicações distribuídas multicamadas é difícil. Pois deve‐se – Implementar persistência (impedance mismatch entre o mundo OO e o mundo dos BDs relacionais) – Implementar tolerância a falhas com failover Implementar tolerância a falhas com failover – Implementar gerência de transações distribuídas – Implementar balanceamento de carga – Implementar resource pooling p p g
  37. 37. Só isso? Só isso?• DÚVIDAS? Ú ?
  38. 38. Referências• (AMARAL,1993) Amaral, W. H. “Arquitetura  j Cliente/Servidor Orientada a Objeto” Tese de  Mestrado, IME, 1993.• (NAVATHE 1994) Navathe Shamkant B & (NAVATHE,1994) Navathe, Shamkant B. &  Elmasri, Ramez “Fundamentals of Database  Systems” 2nd Ed., Benjamin Cummings, CA,  ” 1994.

×