1/54 sistemas computacionais distribuídos e a web sistemas distribuídos e a web disciplina:...
Post on 17-Apr-2015
111 Views
Preview:
TRANSCRIPT
1/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Distribuídos e a WEB
Disciplina: Sistemas Computacionais Distribuídos
Professor: Marcos José Santana
Aluno: Roberto Rigolin Ferreira Lopes robertorigolin@gmail.com
São Carlos, 01 de novembro de 2007
Presente e Futuro
2/54
Sistemas Computacionais Distribuídos e a Web
Objetivo do Seminário
Discutir as principais tecnologias e protocolos empregados no desenvolvimento de sistemas distribuídos que utilizam a Web.
A good plan, violently executed now, is better than a perfect plan next week. (George S. Patton, 1885 - 1945)
3/54
Sistemas Computacionais Distribuídos e a Web
Agenda
Sistemas Distribuídos
Web
Conectividade: Passado, Presente e Futuro
Tecnologias e Protocolos da Web Ajax, Feeds RSS, Mashup
Sistemas Web-based Online e Hibrido
Computação Móvel
Pocket Switched Networks - PSNs
Talk low, talk slow, and don't talk too much. (John Wayne)
4/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Computacionais Distribuídos
Grupo de computadores com capacidade de processamento autônomo, interconectado por uma rede. Em caso de falha em um dos computadores o sistema não é totalmente comprometido.
Características: S.O. para unificar e integrar Autonomia cooperativa Compartilhamento de recursos Distribuição geográfica Tolerância a falhas Escalabilidade
5/54
Sistemas Computacionais Distribuídos e a Web
Web
Conjunto de serviços disponibilizados na Internet Páginas Web, email, Feeds RSS, Web Services e
etc...
Foi concebida a partir de protocolos e tecnologias suportadas e/ou viabilizadas pela pilha de protocolos TCP/IP
6/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Passado
Telefonia Necessidade de cabos ubíquos Diversas tentativas de transmissão de dados A necessidade de chaveamento de canais físicos não
atendiam as exigências militares● Não era tolerante a falhas
7/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Passado
Telefonia – Chaveamento de circuito
Os militares queriam tolerância a falhas.
8/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Presente
Comutação de pacotes IP Cada pacote carrega as informações necessárias
para sua entrega Mecanismos de roteamento são empregados
9/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Presente
10/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Presente
Sistema tolerante a falhas!
11/54
Sistemas Computacionais Distribuídos e a Web
Pilha TCP/IP
IP
UDP
HTTP SMTP FTP
TCP SSLTransporte
SOAPAplicação
Rede
12/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Presente
ARPANET no início de 1970
A pilha TCP/IP foi projetada e implementada neste contexto
O endereço IP indicava localização física
13/54
Sistemas Computacionais Distribuídos e a Web
Internet? ou Web?
IP
UDP
HTTP SMTP FTP
TCP SSLInternet
SOAPWeb
Web – camada 5 (Aplicação)
Internet – camadas 3 e 4 (Rede e Transporte)
14/54
Sistemas Computacionais Distribuídos e a Web
Web
Foi criada por Timothy John Berners-Lee no CERN (Conseil Européen pour la Recherche Nucléaire)
1989 Proposta de um projeto de hipertexto 1991 a Web foi disponibilizada mundialmente 1993 Nasce o Mosaic 1994 criação do W3C
O modelo de desenvolvimento da Web é baseado na especificação de padrões de domínio público
15/54
Sistemas Computacionais Distribuídos e a Web
Primeira página Web
Foi colocada online em 7 de agosto de 1991
16/54
Sistemas Computacionais Distribuídos e a Web
Tecnologias e Protocolos da Web
Protocolos: HTTP, HTTPS, IMAP, SMTP, POP, SOAP, XHTTP e
etc...
Tecnologias: AJAX, Feeds RSS, REST, DHTML, Java Script, DOM,
XSLT, RDF, Atom e etc...
17/54
Sistemas Computacionais Distribuídos e a Web
AJAX (Asynchronous Javascript And XML)
Permite a criação de requisições assíncronas por meio de um conjunto de tecnologias:
XHTML e CSS - Apresentação DOM - Interação Dinâmica XML e XSLT - Intercâmbio e manipulação de dados XMLHttpRequest – Recuperação assíncrona Java Script – Para permitir o uso das supracitadas
18/54
Sistemas Computacionais Distribuídos e a Web
Feeds RSS (Really Simple Syndication)
É utilizado para disponibilizar o conteúdo de sites e aplicações dinâmicas. Disponibiliza o conteúdo em XML Atualizações no conteúdo podem ser facilmente
recuperadas e apresentadas Permite a agregação de conteúdo entre sites e
aplicações Facilita o acompanhamento de conteúdos dinâmicos
Amplamente utilizado em blogs e sites de notícias.
19/54
Sistemas Computacionais Distribuídos e a Web
Mashup
Consiste na utilização de conteúdo disponibilizado por mais de uma fonte com objetivo de criar um novo serviço completo
Faz uso de RSS e AJAX
Mashup típicos nos dias atuais: Mapas Video e Foto Busca e Compras Notícias
20/54
Sistemas Computacionais Distribuídos e a Web
Mashup
Mapas mais fotos ou vídeos.
21/54
Sistemas Computacionais Distribuídos e a Web
Mashup
Notícias
22/54
Sistemas Computacionais Distribuídos e a Web
23/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Web-based
Online O navegador é a plataforma Depende da rede de comunicação Interface Web
Híbrido Online/Offline Mescla as vantagens e desvantagens das suas
abordagens Projeto mais complexo Interface de Desktop e/ou Web
24/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Web online
Todos os dados requisitados devem ser recuperados em um servidor na Internet Projeto simples Fácil programação Utilização ineficiente da rede
IMG SRC: http://code.google.com/apis/gears/architecture.html
25/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Web online – Data Layer
Data Layer permite que os dados recuperados pela aplicação sejam persistidos localmente Permite o uso mais eficiente da rede
IMG SRC: http://code.google.com/apis/gears/architecture.html
26/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Web online – Data Layer e Switch
Data Switch implementa a mesma interface da Data Layer, contudo pode encaminhar ou não as requisições para a Data Layer O usuário pode não desejar consultar os dados
persistidos Essencial para chavear do modo online para offline e
vice-e-versa
IMG SRC: http://code.google.com/apis/gears/architecture.html
27/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Web Híbrido online/offline
Utiliza uma camada de dados para o servidor e para a base de dados local Permite o uso da aplicação em modo offline O usuário escolhe o modo de funcionamento
IMG SRC: http://code.google.com/apis/gears/architecture.html
28/54
Sistemas Computacionais Distribuídos e a Web
Sistemas Web Híbrido online/offline/sync
Permite que dados gerados em modo offline sejam sincronizados com um servidor na Internet Viabiliza o desenvolvimento de aplicações que
necessitam da entrada de dados do usuário
IMG SRC: http://code.google.com/apis/gears/architecture.html
29/54
Sistemas Computacionais Distribuídos e a Web
Construindo Apps Híbridas
Google Gears
30/54
Sistemas Computacionais Distribuídos e a Web
Google Gears
Um exemplo: http://code.google.com/apis/gears/samples/hello_world_database.html
31/54
Sistemas Computacionais Distribuídos e a Web
Google Gears
db = google.gears.factory.create('beta.database', '1.0');
if (db) { // Abre o banco e cria a tabela se nao existir db.open('database-demo'); db.execute('create table if not exists Demo' + ' (Phrase varchar(255), Timestamp int)'); // Apresenta as as frases persistidas displayRecentPhrases(); }
Abre o banco de dados e cria tabela
32/54
Sistemas Computacionais Distribuídos e a Web
Google Gears
Insere a frase na base de dados local:
var elm = document.getElementById('submitValue');var phrase = elm.value;var currTime = new Date().getTime();
// Insere o novo item.db.execute('insert into Demo values(?, ?)',[phrase, curTime]);
// Atualiza interface.elm.value = '';displayRecentPhrases();
33/54
Sistemas Computacionais Distribuídos e a Web
Google Gears
Recupera as frases na base de dados local:
// Recupera as 3 entradas mais recentes e apaga as outrasrs = db.execute('select * from Demo order by Timestamp desc'); var index = 0; while (rs.isValidRow()) { if (index < 3) { recentPhrases[index] = rs.field(0); } else { db.execute('delete from Demo where Timestamp=?', [rs.field(1)]); } ++index; rs.next(); } rs.close();
34/54
Sistemas Computacionais Distribuídos e a Web
Adobe Integrated Runtime (AIR)
Funcionalidades semelhantes ao Google Gears: Persistência de dados local Permite a criação de aplicações com interface rica SDK free Necessita de um runtime instalado Não tem suporte para Linux (em desenvolvimento)
35/54
Sistemas Computacionais Distribuídos e a Web
Mozilla Prism
Proxy: HTTP, SMTP e POP Permite o uso de aplicações Web em modo offline
36/54
Sistemas Computacionais Distribuídos e a Web
Colaboração com Peer-to-Peer
Tem promovido uma grande mudança nos padrões de uso da Internet
Vantagens sobre o modelo Cliente/Servidor: Não depende de servidores administrados por terceiros Colaboração direta entre os usuários Permite que recursos sejam compartilhados na
Internet
37/54
Sistemas Computacionais Distribuídos e a Web
Colaboração com Peer-to-Peer
Exemplos:
38/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Futuro
O problema mudou!
Projetos:
FIND (USA)FIRE (Europa)
39/54
Sistemas Computacionais Distribuídos e a Web
Conectividade - Futuro
Redes centradas em conteúdo Também chamadas redes de disseminação Não é necessário saber o IP da máquina onde o
conteúdo está disponível
REQ http://sohand.icmc.usp.br
RESP http://sohand.icmc.usp.br http://sohand.icmc.usp.br/20071008/ <NameMAC 2fde...> <DataMAC 31a2...> <html> ... </html>
40/54
Sistemas Computacionais Distribuídos e a Web
Conectividade
Em suma, Passado: alocação de um canal físico Atualmente: comutação de pacotes + redes overlay Futuro: redes centradas em conteúdo
A conectividade está se tornando ubíqua.
41/54
Sistemas Computacionais Distribuídos e a Web
Computação Ubíqua
Universo da Computação Ubíqua Computação Móvel
Nothing shocks me. I'm a scientist.Harrison Ford (1942 - ), as Indiana Jones
42/54
Sistemas Computacionais Distribuídos e a Web
Computação Móvel
Tem o objetivo de atender a necessidade de computação e comunicação de usuários nômades, enquanto eles se movem de um lugar para outro de forma:
Transparente; Integrada; Conveniente.
Paradigma parcialmente implementado.
43/54
Sistemas Computacionais Distribuídos e a Web
Exemplo de Mobilidade
Imaginemos um CIO (Chief Information Officer) que tem as seguintes atividades programadas:
i) reunião com a diretoria da empresa;
ii) visita a um cliente.
44/54
Sistemas Computacionais Distribuídos e a Web
Exemplo de Mobilidade
Sala de Reuniões
45/54
Sistemas Computacionais Distribuídos e a Web
Exemplo de Mobilidade
Sala de Reuniões > Escritório
46/54
Sistemas Computacionais Distribuídos e a Web
Exemplo de Mobilidade
Sala de Reuniões > Escritório > Em trânsito
47/54
Sistemas Computacionais Distribuídos e a Web
Exemplo de Mobilidade
Sala de Reuniões > Escritório > Em trânsito > Empresa do cliente
48/54
Sistemas Computacionais Distribuídos e a Web
Computação Móvel
Este paradigma está mudando nosso dia-a-dia, devido a possibilidade de acesso à serviços de rede em qualquer lugar e a qualquer hora.
Viabilizado pela disponibilidade de: Dispositivos portáteis; Redes de acesso sem fio.
49/54
Sistemas Computacionais Distribuídos e a Web
Pocket Switched Networks - PSNs
São redes tolerantes a atrasos que utilizam encontros oportunísticos para permitir a comunicação em ambientes sem infra-estrutura ou onde não é necessário o uso de uma.
C ellu lar
P 2 P
AP
50/54
Sistemas Computacionais Distribuídos e a Web
Pocket Switched Networks - PSN
51/54
Sistemas Computacionais Distribuídos e a Web
Pocket Switched Networks - PSN
52/54
Sistemas Computacionais Distribuídos e a Web
Haggle
53/54
Sistemas Computacionais Distribuídos e a Web
Conclusões
● A Web é um grande Sistema Distribuído ● Existe um significativo esforço para tornar as
aplicações Web-based similares às aplicações Desktop-based. Com isso, as aplicações poderão usufruir do melhor dos dois mundos
● A Computação Móvel em breve será o paradigma predominante
● Neste contexto, os SDs serão acessados por meio de dispositivos e redes limitadas.
54/54
Sistemas Computacionais Distribuídos e a Web
Obrigado pela atenção!
Roberto Rigolin Ferreira Lopesrobertorigolin@gmail.com
All progress is based upon a universal innate desire on the part of every organism to live beyond its income.Everything you can imagine is real.(Samuel Butler, 1835 - 1902)
top related