27
SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Embed Size (px)

Citation preview

Page 1: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

SISTEMAS DISTRIBUÍDOS BASEADOS NA WEBAula de 31/08/2011

Livro Tanembaum, Cap. 12

Page 2: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Arquitetura• As referências aos documentos Web são realizadas por

meio do localizador uniforme de recurso (Uniforme Resource Locator – URL)

• A comunicação entre um navegador e um servidor Web é padronizado: ambos obedecem ao protocolo de transferência de hipertexto (Hypertext Transfer Protocol – HTTP)

Page 3: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 4: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• Os documentos Web são escritos utilizando uma linguagem de marcação denominada HTML (Hypertext Markup Language), ou, linguagem de marcação de hipertexto.

• Outra maneira de construir documentos Web é utilizando a linguagem extensível de marcação (eXtensible Markup Language – XML) que proporciona mais flexibilidade para definir qual deve ser a aparência do documento.

• HTML e XML também podem incluir todos os tipos de rótulos que referenciam documentos embutidos, isto é, referência a arquivos que devem ser incluídos para tornar um documento completo.

Page 5: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• Cada documento (embutido) tem um tipo Mime associado. Mime representa Multipurpose Internet Mail Exchange (troca multiuso do correio da Internet).• O Mime distingue vários tipos de conteúdos de mensagens. • Esses tipos também são usados na WWW.

Page 6: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 7: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• A combinação de HTML com scripting proporciona um poderoso meio para construção de documentos. Um dos primeiros mecanismos criados foi Common Gateway Interface (Interface comum de gateway), ou simplesmente CGI.

Page 8: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 9: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Serviços Web• Permite o oferecimento de serviços gerais para

aplicações remotas sem interações imediatas de usuários finais.

• Um componente importante da arquitetura de serviços Web é formado por um serviço de diretório que armazena descrições de serviços. • Esse serviço obedece ao padrão integração, descoberta e

descrição universal (Universal Description, Discovery and Integration – UDDI)

• Esse padrão contém descrições de serviços, permitindo assim que clientes procurem esses serviços.

Page 10: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• Serviços são descritos por meio da linguagem de definição de serviços Web (Web Services Definition Language – WSDL). • Uma descrição WSDL contém as definições exatas das interfaces

fornecidas por um serviço, isto é, especificação de procedimentos, tipo de dados, a localização do serviço, etc.

• Essa descrição pode ser traduzida automaticamente para apêndices do lado do cliente e do lado do servidor.

• Um elemento central de um serviço Web é a especificação do modo como ocorre a comunicação. Para cumprir essa finalidade é utilizado o protocolo simples de acesso a objeto (Simples Object Access Protocol – SOAP).

Page 11: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 12: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Processos• O cliente Web mais importante é um software

denominado navegador Web, também conhecido como browser.• Esse programa capacita um usuário a navegar pelas páginas web

buscando essas páginas em servidor, e em seguida, apresentando-as na tela do usuário.

Page 13: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 14: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• Outro processo do lado do cliente que costuma ser utilizado é o Proxy Web • Esse componente permite que o navegador manipule

protocolos da camada de aplicação que não fossem o HTTP, por exemplo, FTP.

Page 15: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• Servidor Web Apache • O Apache é o servidor Web mais utilizado no mundo, e é formado

por uma peça complexa de software. • É um servidor independente de plataforma, e fornece seu

próprio ambiente de execução básico, denominado Apache Portable Runtime (APR).

• Clusters de Servidores WEB• São utilizados para minimizar problemas de sobrecarga em

servidores Web.• Uma solução prática é replicar um servidor em um cluster de

servidores e usar um mecanismo separado, tal como um front-end, para redirecionar requisições de clientes a uma das réplicas.

Page 16: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 17: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Comunicação• Toda comunicação entre clientes e servidores na

Web é baseada no protocolo de transferência de hipertexto (Hipertext Transfer Protocol – HTTP).

• O HTTP é um protocolo cliente-servidor simples: Um ciente envia uma mensagem de requisição a um servidor e espera por uma mensagem de resposta.

• Ele é um protocolo sem estado, isso significa que não mantém nenhuma conexão entre o cliente e o servidor.

• As principais operações suportadas por HTTP são listadas a seguir:

Page 18: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 19: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Nomeação• Os nomes usados na Web são denominados

identificadores uniformes de recursos (Uniform Resource Identifiers), ou simplesmente URI. • A URL é um URI que identifica um documento pela inclusão

de informações sobre como e onde acessá-lo.

Page 20: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 21: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 22: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Consistência e Replicação• Tem como objetivo garantir o desempenho e a

disponibilidade dos documentos Web.• Pode ser implementada através de Caches associadas a

Proxy Web.

Page 23: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 24: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

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.

Page 25: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12
Page 26: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

Exercícios• 1. Até que ponto o e-mail é parte de um modelo de

documento Web?• 2. Em muitos casos, sites Web são projetados para

serem acessados por usuários. Contudo, quando se trata de serviços Web, vemos que sites Web tornam-se dependentes uns dos outros. Considerando a arquitetura em três camadas da Figura 12.2, na sua opinião onde a dependência ocorreria?

• 3. Por que conexões persistentes em geral melhoram o desempenho em comparação com conexões não persistentes?

Page 27: SISTEMAS DISTRIBUÍDOS BASEADOS NA WEB Aula de 31/08/2011 Livro Tanembaum, Cap. 12

• 4. Explique as diferenças entre um plug-in, um applet, um servlet e um programa CGI.

• 5. Como o grau de personalização das páginas Web está cada vez maior (porque elas podem ser geradas dinamicamente para clientes, sob demanda), poderíamos argumentar que logo todas as caches Web serão obsoletas. Ainda assim, é muito provável que isso não aconteça no futuro imediato. Explique o porquê.

• 6. Em princípio, há três técnicas diferentes para redirecionar clientes: transferência TCP, redirecionamento baseado em DNS e redirecionamento baseado em HTTP. Quais são as principais vantagens e desvantagens de cada técnica?