Sistemas Distribuídos baseados na Web

3.620 visualizações

Publicada em

Sistemas Distribuídos baseados na Web.
Seminário desenvolvido para a avaliação da disciplina de Sistemas Cliente Servidor da Universidade Estadual de Montes Claros.

Publicada em: Educação
1 comentário
2 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
3.620
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
135
Comentários
1
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Sistemas Distribuídos baseados na Web

  1. 1. Sistemas Distribuídos baseados na Web Equipe: Rafael Chagas
  2. 2. Roteiro  Arquitetura  Processos  Comunicação  Nomeação  Sincronização  Consistência e Replicação  Segurança
  3. 3. Arquitetura
  4. 4. Sistemas tradicionais baseados na web Exemplo: http://localhost/clientServer/index.html
  5. 5. Documentos  HTML  XML  Interpretadores de conteúdo  MIME(Multipurpose Internet Mail Exchange) – trocas multiuso do correio da Internet
  6. 6. Documentos  Tabela de MIMEs
  7. 7. Arquiteturas multicamadas  CGI (Commom Gateway Interface) – Interface comum de gateway
  8. 8. Arquiteturas multicamadas http://localhost:8081/cgi- bin/mapserv.exe?map=/ms4w/apps/mapas/mapfiles/clien teServidor.map&mode=map
  9. 9. Arquiteturas multicamadas http://localhost:8081/cgi- bin/mapserv.exe?map=/ms4w/apps/mapas/mapfiles/clien teServidor.map&mode=map&layer=rvia
  10. 10. Arquiteturas multicamadas http://localhost:8081/cgi- bin/mapserv.exe?map=/ms4w/apps/mapas/mapfiles/clien teServidor.map&mode=legend&layer=rvia
  11. 11. Arquiteturas multicamadas • Servidor Web – Apache, IIS • Servidor de Aplicação – Jboss, GlassFish, Apache TomCat • Banco de Dados – PostgreSQL, MySQL, Oracle Browser Servidor Web Servidor de Aplicação Banco de Dados
  12. 12. Serviços Web • Definição: Serviço Web é um serviço tradicional(serviço de nomeação, serviço de previsão de tempo, um fornecedor eletrônico) que é oferecido pela internet. • É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. • UDDI (Universal Description, Discovery and Integration) – Padrão integração, descoberta e descrição universal • WSDL (Web Services Definition Language) – linguagem de definição de serviços. • SOAP (Simple Object Acess Protocol) – protocolo simples de acesso a objeto
  13. 13. Serviços Web Princípio de um serviço web
  14. 14. Processos
  15. 15. Clientes • O cliente Web mais conhecido é o browser Web, ele serve exclusivamente para fornecer uma interface para apresentação de hiperlinks. Componentes lógicos de um browser Web.
  16. 16. Clientes • Outro processo do lado cliente é o proxy Web, originalmente, tal processo era usado para permitir a um browser manipular protocolos da camada de aplicação que não fossem o HTTP. • Atualmente os proxies são utilizados para filtrar requisições e respostas, e para o uso de cache.
  17. 17. Servidores • O servidor Web mais popular é o Apache, estima-se que seja utilizado para hospedar 70% de todos os sites Web. • Ex.: Apache, IIS, entre outros; • Características desejáveis para um servidor Web: • Alta capacidade de configuração e extensibilidade; • Independente de plataformas específicas. • Ambiente de execução básica do Apache • Apache Portable Runtime (APR) - interface independente de plataforma para manipulação de arquivos, trabalhos em rede, threads, etc • Apache entende que todas as requisições que chegam obedecem a um modo orientado de conexão baseado em TCP.
  18. 18. Servidores Organização geral do servidor Web Apache
  19. 19. Clusters de servidores Web • Um servidor Web tem grande facilidade de se sobrecarregar devido ao grande número de requisições. Uma solução para esse problema é replicar um servidor em um cluster de servidores. Utilizando um front end para redirecionar as requisições de clientes a uma das réplicas.
  20. 20. Clusters de servidores Web • Front ends • Camada de transporte - Repassa os dados enviados ao longo da conexão TCP para um dos servidores, dependendo de certa mediação de carga. Desvantagem: Não se pode levar em consideração o conteúdo da requisição. • Camada de aplicação – O conteúdo da requisição é inspecionado, depois decide para qual servidor a requisição será repassada. Vantagem: Aumento de desempenho. Desvantagem: Aumento do trabalho do front end. Solução: Combinar os dois métodos.
  21. 21. Clusters de servidores Web
  22. 22. Clusters de servidores Web • Outras alternativas • DNS de varredura cíclica – um único nome de domínio é associado com vários endereços IPs, o browser cliente recebe a lista de vários endereços, normalmente escolhe o primeiro endereço da lista, a entrada da lista é movida pelo servidor de DNS. • Sem intermediário. Relacionar cada servidor com o mesmo endereço IP, com servidores compartilhando o mesmo broadcast, a partir de um algoritmo distribuído será escolhido qual servidor executará a requisição.
  23. 23. Comunicação
  24. 24. Protocolos de comunicação • Sistemas Web – protocolo HTTP • Serviços Web – protocolo SOAP
  25. 25. Protocolo de transferência de hipertexto • O HTTP é um protocolo cliente-servidor relativamente simples; um cliente envia uma mensagem de requisição a um servidor e espera por uma mensagem de resposta. • O HTTP é sem estado. • Conexões HTTP • O HTTP é baseado em TCP. a) HTTP 1.0 – conexão não persistente b) HTTP 1.1 – conexão persistente
  26. 26. Protocolo de transferência de hipertexto • Métodos HTTP
  27. 27. Protocolo simples de acesso a objeto • O protocolo simples de acesso a objeto (Simple Object Acess Protocol – SOAP) é o padrão para comunicação com serviços Web. • A maioria das comunicações SOAP são implementadas por meio do HTTP. • Grande parte das mensagens SOAP são baseadas em XML. • Gera gargalo de desempenho devido ao excesso de palavras.
  28. 28. Nomeação
  29. 29. Nomeação • A web usa um sistema único de nomeação para referenciar documentos. Os nomes usados são URIs (Uniform Resource Identifiers) - Identificadores uniformes de recurso. • URLs (Uniform Resource Locator) – Localizador uniforme de recurso Ex.: http://www.cs.vu.nl:80/globe • URNs (Uniform Resource Name) – Nome uniforme de recurso Ex.: urn:isbn:0451450523 Utilização de resolvedor de URN
  30. 30. Sincronização
  31. 31. Sincronização • Devido a estrutura tradicional da web, a sincronização não foi deixada de lado. Porém esse fato está mudando, com os serviços Web de colaboração de documentos. • O protocolo responsável por manipular documentos distribuídos é o WebDAV (Distributed Authoring and Versioning) – autoria e versões distribuídas na Web. • Dois tipos de travas • Trava de escrita exclusiva • Trava de escrita compartilhada • O WebDAV não trata as situações de queda de conexão, essa função fica em aberto para implementações de acordo com a necessidade.
  32. 32. Consistência e Replicação
  33. 33. Consistência e Replicação • Sistemas distribuídos baseados na web devem assegurar que o acesso aos documentos cumpra rigorosos requisitos de desempenho e disponibilidade. • Proxy de cache da web: • Browser; • proxy Web; • caches hierárquicas • Caches são colocadas em uma região ou até mesmo em um país; • alta a probabilidade de encontrar uma cópia de documentos populares em uma cache mais próxima. • cache distribuída ou cache colaborativa • Verificação de proxies vizinhos; • Utilizado quando caches Web pertencem à mesma organização e que estejam na mesma LAN.
  34. 34. Consistência e Replicação Princípio da cache colaborativa
  35. 35. Consistência e Replicação • Replicação para sistemas de hospedagem Web – redes de entre de conteúdo (CDNs) Organização geral de uma CDN como sistema de realimentação
  36. 36. Consistência e Replicação • Replicação de aplicações web • Esse esquema funciona bem quando a taxa de atualização for baixa • Replicação parcial, replicação total, caches cientes de conteúdo, caches alheia ao conteúdo Alternativa para cache e replicação com aplicações web
  37. 37. Segurança
  38. 38. Segurança • A abordagem utilizada para estabelecer um canal seguro entre o cliente e o servidor é usar a camada de soquetes seguros (Secure Socket Layer – SSL), é denominada formalmente por protocolo de segurança na camada de transporte ( Transport Layer Security). • As características exatas do canal seguro são determinadas durante seu estabelecimento, mas podem incluir fragmentação e compressão de mensagens, que são aplicados em conjunto com autenticação, integridade e confidencialidade de mensagens.
  39. 39. Referências • TANENBAUM, Andrew S. e STEEN, Marteen Van. Sistemas Distribuídos: princípios e paradigmas - 2ª ed. - São Paulo: Pearson Prentice Hall, 2007.
  40. 40. Obrigado!
  41. 41. Dúvidas?

×