0
Sistemas
Distribuídos
baseados na Web
Equipe: Rafael Chagas
Roteiro
 Arquitetura
 Processos
 Comunicação
 Nomeação
 Sincronização
 Consistência e Replicação
 Segurança
Arquitetura
Sistemas tradicionais baseados
na web
Exemplo: http://localhost/clientServer/index.html
Documentos
 HTML
 XML
 Interpretadores de conteúdo
 MIME(Multipurpose Internet Mail Exchange) – trocas
multiuso do cor...
Documentos
 Tabela de MIMEs
Arquiteturas multicamadas
 CGI (Commom Gateway Interface) – Interface comum de
gateway
Arquiteturas multicamadas
http://localhost:8081/cgi-
bin/mapserv.exe?map=/ms4w/apps/mapas/mapfiles/clien
teServidor.map&mo...
Arquiteturas multicamadas
http://localhost:8081/cgi-
bin/mapserv.exe?map=/ms4w/apps/mapas/mapfiles/clien
teServidor.map&mo...
Arquiteturas multicamadas
http://localhost:8081/cgi-
bin/mapserv.exe?map=/ms4w/apps/mapas/mapfiles/clien
teServidor.map&mo...
Arquiteturas multicamadas
• Servidor Web – Apache, IIS
• Servidor de Aplicação – Jboss, GlassFish, Apache TomCat
• Banco d...
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 forne...
Serviços Web
Princípio de um serviço web
Processos
Clientes
• O cliente Web mais conhecido é o browser Web, ele serve
exclusivamente para fornecer uma interface para
apresen...
Clientes
• Outro processo do lado cliente é o proxy Web, originalmente,
tal processo era usado para permitir a um browser ...
Servidores
• O servidor Web mais popular é o Apache, estima-se que seja
utilizado para hospedar 70% de todos os sites Web....
Servidores
Organização geral do servidor Web Apache
Clusters de servidores Web
• Um servidor Web tem grande facilidade de se sobrecarregar
devido ao grande número de requisiç...
Clusters de servidores Web
• Front ends
• Camada de transporte - Repassa os dados enviados ao longo da
conexão TCP para um...
Clusters de servidores Web
Clusters de servidores Web
• Outras alternativas
• DNS de varredura cíclica – um único nome de domínio é
associado com vár...
Comunicação
Protocolos de comunicação
• Sistemas Web – protocolo HTTP
• Serviços Web – protocolo SOAP
Protocolo de transferência de
hipertexto
• O HTTP é um protocolo cliente-servidor relativamente
simples; um cliente envia ...
Protocolo de transferência de
hipertexto
• Métodos HTTP
Protocolo simples de acesso a
objeto
• O protocolo simples de acesso a objeto (Simple Object Acess
Protocol – SOAP) é o pa...
Nomeação
Nomeação
• A web usa um sistema único de nomeação para referenciar
documentos. Os nomes usados são URIs (Uniform Resource
...
Sincronização
Sincronização
• Devido a estrutura tradicional da web, a sincronização não foi
deixada de lado. Porém esse fato está mudan...
Consistência e
Replicação
Consistência e Replicação
• Sistemas distribuídos baseados na web devem assegurar que
o acesso aos documentos cumpra rigor...
Consistência e Replicação
Princípio da cache colaborativa
Consistência e Replicação
• Replicação para sistemas de hospedagem Web – redes de
entre de conteúdo (CDNs)
Organização ger...
Consistência e Replicação
• Replicação de aplicações web
• Esse esquema funciona bem quando a taxa de atualização for
baix...
Segurança
Segurança
• A abordagem utilizada para estabelecer um canal seguro entre
o cliente e o servidor é usar a camada de soquete...
Referências
• TANENBAUM, Andrew S. e STEEN, Marteen Van. Sistemas
Distribuídos: princípios e paradigmas - 2ª ed. - São Pau...
Obrigado!
Dúvidas?
Upcoming SlideShare
Loading in...5
×

Sistemas Distribuídos baseados na Web

1,727

Published on

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.

Published in: Education
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,727
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
67
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×