Slides

989 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
989
No SlideShare
0
A partir de incorporações
0
Número de incorporações
36
Ações
Compartilhamentos
0
Downloads
29
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Slides

  1. 1. Sistemas Distribuídosbaseados na WebJulio Cesar RochaLucas Soares SilvaJoão Augusto Vianna
  2. 2. Sistemas Distribuídos baseados na Web INTRODUÇÃO • História • Arquitetura • Processos • Comunicação • Nomeação • Sincronização • Consistência e replicação • Falhas e segurança
  3. 3. Sistemas Distribuídos baseados na Web HISTÓRIA • Criado no CERN por Tim Berners-Lee em 1980 • Uniu hipertexto e a Internet • Troca de informações entre pesquisadores • Criação do Mosaic em 1993
  4. 4. Sistemas Distribuídos baseados na Web ARQUITETURA • Uso do cliente-servidor • URL para referenciar documentos o http://www.meusite.com.br/arquivo.htm • Cliente(navegador)
  5. 5. Sistemas Distribuídos baseados na Web ARQUITETURA • Documentos WEB o texto, aúdio, vídeo • Linguagens de marcação o HTML o XML • Documentos embutidos o MIME
  6. 6. Sistemas Distribuídos baseados na Web MIME
  7. 7. Sistemas Distribuídos baseados na Web ARQUITETURA • CGI o multicamadas no servidor o criação de documentos dinamicamente
  8. 8. Sistemas Distribuídos baseados na Web Serviços WEB • Oferece serviços gerais para aplicações remotas sem interações imediatas de usuários finais. • UDDI - contém descrições de serviços, permitindo assim que clientes procurem esses serviços. • WDSL - serviços são descritos por meio da linguagem de serviços Web
  9. 9. Sistemas Distribuídos baseados na Web Serviços WEB • SOAP - comunicação entre cliente e servidor
  10. 10. Sistemas Distribuídos baseados na Web PROCESSOS Cliente navegador o proxy Web • Navegador - programa que permite o usuário navegar pela Web, buscando páginas no servidor e mostrando as na tela • Devem ser independentes da plataforma
  11. 11. Sistemas Distribuídos baseados na Web PROCESSOS • Proxy Web - manipular protocolos de aplicação diferentes do HTTP
  12. 12. Sistemas Distribuídos baseados na Web PROCESSOS • Servidor Web Apache o servidor Web mais utilizado no mundo o é um servidor independente de plataforma, e fornece seu próprio ambiente de execução básico, denominado Apache Portable Runtime (APR). • Cluster de servidores o minimizam problemas de sobrecarga em servidores
  13. 13. Sistemas Distribuídos baseados na Web PROCESSOS
  14. 14. Sistemas Distribuídos baseados na Web PROCESSOS
  15. 15. Sistemas Distribuídos baseados na Web COMUNICAÇÃO Protocolos utilizados: • Sistemas Web tradicionais: o HTTP • Serviços Web em geral: o Soap
  16. 16. Sistemas Distribuídos baseados na Web PROTOCOLO HTTP • Protocolo de transferência de hipertexto (Hypertext Transfer Protocol) • Toda comunicação cliente-servidor é baseada no HTTP o Cliente envia uma mensagem para o servidor e espera por uma resposta • É sem estado o Não requer que o servidor mantenha informações sobre seus clientes
  17. 17. Sistemas Distribuídos baseados na Web PROTOCOLO HTTP • Utiliza conexões TCP • Sempre que o cliente emite uma requisição uma conexão TCP é estabelecida • Não se preocupa com requisições e respostas perdidas
  18. 18. Sistemas Distribuídos baseados na Web HTTP 1.0 E ANTERIORES • Conexão não persistente o Cada requisição requer o estabelecimento de uma conexão separada • Caro estabelecer conexões TCP • É possível estabelecer conexões simultâneas o Utilizado para ocultar a latência causada pelo tempo de estabelecimento de conexão
  19. 19. Sistemas Distribuídos baseados na Web HTTP 1.0 E ANTERIORES (a). Utilização de conexões não persistentes
  20. 20. Sistemas Distribuídos baseados na Web HTTP 1.1 • Conexão persistente o Não é preciso de uma conexão separada para cada par requisição-resposta • Um cliente pode emitir várias requisições sem esperar a resposta da anterior
  21. 21. Sistemas Distribuídos baseados na Web HTTP 1.1 (b). Utilização de conexões persistentes
  22. 22. Sistemas Distribuídos baseados na Web MÉTODOS HTTP Operação Descrição Head Requisição para retornar o cabeçalho de um documento Get Requisição para retornar um documento para o cliente Put Requisição para armazenar um documento Post Fornecer dados que devem ser anexados a um documento ou conjunto de documentos Delete Requisição para apagar um documento (c). Operações suportadas pelo HTTP
  23. 23. Sistemas Distribuídos baseados na Web MENSAGENS HTTP • Toda comunicação cliente-servidor ocorre por meio de mensagens o São reconhecidas somente mensagens de requisição e resposta Código Frase 200 OK 400 Bad Request (Requisição Inválida) 403 Forbidden (Proibido) 404 Not Found (Não Encontrado) 405 Method Not Allowed (Método Não Permitido)(d). Exemplos de códigos de status das respostas do HTTP
  24. 24. Sistemas Distribuídos baseados na Web SOAP • Protocolo simples de acesso a objeto (Simple Object Access Protocol) • Parte da premissa que duas entidades que se comunicam tem muito pouco conhecimento em comum • Possibilita por um meio simples que partes diferentes, que saibam muito pouco uma da outra, consigam se comunicar
  25. 25. Sistemas Distribuídos baseados na Web SOAP • Reforça o protocolo HTTP o Utiliza HTTP para a maioria de suas comunicações • As mensagens são em grande parte baseadas em XML • Utilização do XML questionada o nterpretar mensagens XML costuma produzir um sério gargalo de desempenho
  26. 26. Sistemas Distribuídos baseados na Web NOMEAÇÃO • Os nomes usados na Web sao denominados identificadores uniformes de recursos (Uniform Resource Identifiers), ou URI • A URL (Uniform Resource Locato), é um URI que identifica um documento pela inclusão de informações sobre como e onde acessá-lo
  27. 27. Sistemas Distribuídos baseados na Web NOMEAÇÃO
  28. 28. Sistemas Distribuídos baseados na Web NOMEAÇÃO
  29. 29. Sistemas Distribuídos baseados na Web SINCRONIZAÇÃO • Existem duas razões para crer que a sincronização em serviços Web não tem sido levada muito a sério: o Em arquiteturas cliente-servidor servidores não se comunicam com servidores e nem clientes com clientes o A Web é considerada como um sistema que, na maioria das vezes, é somente leitura
  30. 30. Sistemas Distribuídos baseados na Web SINCRONIZAÇÃO • Porém há uma demanda crescente para fornecer suporte para autoria colaborativa de documentos Web. o WebDAV (Web Distributed Authoring and Versioning) ou autoria e versões distribuídas na Web • O WebDav conta com dois tipos de travas de escrita: a exclusiva e a compartilhada
  31. 31. Sistemas Distribuídos baseados na Web WEBDAV • Trava de escrita exclusiva o Somente um cliente tem o poder de travar o documento • Trava de escrita compartilhada o Vários clientes alteram o documento ao mesmo tempo, porém deve existir um cuidado para não ocorrer conflitos escrita-escrita
  32. 32. Sistemas Distribuídos baseados na Web CONSISTÊNCIA E REPLICAÇÃO • Tem como objetivo garantir o desempenho e a disponibilidade dos documentos Web. • Problema: Consistência! • Solucão: Utilização de caches! o Implementada através de Caches associadas a Proxy Web.
  33. 33. Sistemas Distribuídos baseados na Web CONSISTÊNCIA E REPLICAÇÃO A cache do lado do cliente: • No browser: documento armazenado na cache do browser, de onde será carregado da próxima vez. (configuração feita pelo cliente) Proxy Web: aceita requisições e repassa para servidores → cache compartilhada
  34. 34. Sistemas Distribuídos baseados na Web CONSISTÊNCIA E REPLICAÇÃO Tipos de organização de cache: - Cache cooperativa ou distribuída: • Ausência da cache em proxy Web? Verificação em alguns proxies vizinhos! Primordialmente com caches Web que pertencem à mesma organização e que estão na mesma LAN
  35. 35. Sistemas Distribuídos baseados na Web CONSISTÊNCIA E REPLICAÇÃO
  36. 36. Sistemas Distribuídos baseados na Web CONSISTÊNCIA E REPLICAÇÃO Tipos de organização de cache: - Cache Hierárquica: • Caches posicionadas para uma região ou até mesmo em um país • Caches pesquisadas de maneira hierárquica! Aumentar a latência de resposta • Alta a probabilidade de encontrar cópia de
  37. 37. Sistemas Distribuídos baseados na Web FALHAS E SEGURANÇA Uma abordagem para estabelecer um canal seguro na Web é usar a camada de soquetes seguros (Secure Socket Layer – SSL), implementada originalmente pela Netscape: • Uma definição padronizada é denominada protocolo de segurança na camada de transporte (Transport Layer Security – TLS) • Esse protocolo é independente de aplicação.
  38. 38. Sistemas Distribuídos baseados na Web FALHAS E SEGURANÇA
  39. 39. Sistemas Distribuídos baseados na Web REFERÊNCIAS [1] Tanenbaum, A. S; Sistemas distribuídos - Princípios e Paradigmas; páginas 330-356. [2] Sistemas Distribuídos e a WEB; Acessado em 10 de junho de 2012. http://www.sohand.icmc.usp.br/~rigolin/downloads/sistemasDist ribuidosWeb_Rigolin_20071101.pdf [3] Sistemas Distribuídos na Internet; Acessado em 11 de junho de 2012. http://www.inf.unioeste.br/~marcio/SO/Aula10SistemasDistribuidos.pdf
  40. 40. Sistemas Distribuídos baseados na Web OBRIGADO!

×