A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de...

43
A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão - [email protected] Carlos Guedes – [email protected] Paulo Pereira – [email protected]

Transcript of A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de...

Page 1: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

A World Wide Web e Introdução aos

Sistemas Distribuídos

Programação na Internet Secção de Sistemas e Tecnologias de Informação

ISEL-DEETC-LEICLuis Falcão - [email protected]

Carlos Guedes – [email protected] Pereira – [email protected]

Page 2: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Autores e contributos

• Autores– Paulo Pereira

• Contributos– Luís Falcão– Pedro Félix– Jorge Martins– Carlos Guedes– Nuno Datia

2

Page 3: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Agenda

• A Internet e a World Wide Web• Identificação de recursos

– Uniform Resource Locator (URL)

• Sistemas distribuídos (introdução)– Distribuição: causas e consequências

• Propriedades pretendidas– Organização de software em camadas– Arquitecturas de sistemas distribuídos

• Modelos de interacção• Desenho de sistemas distribuídos

• O objecto de estudo– Aplicações Web

3

Page 4: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Internet• O que é a Internet?

– A rede IP – “Auto-estrada da informação”

• IETF - Internet Engineering Task Force– Organização responsável pela normalização de serviços e protocolos da Internet– http://www.ietf.org/

• Alguns dos protocolos mais utilizados– FTP – File Transfer Protocol– SMTP – Simple Mail Transfer Protocol– HTTP – Hyper Text Transfer Protocol

4

Mais Info: http://www.answers.com/internet http://en.wikipedia.org/wiki/Internet

Page 5: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na InternetFonte: http://www.opte.org/maps/

net, ca, us com, org mil, gov, edujp, cn, tw, au de, uk, it, pl, fr br, kr, nl unknown

Legenda:

Rotas na internet (cerca de 30%)

Data: Jan 15 2005

Page 6: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

World Wide Web – WWW

• O que é a World Wide Web?– Serviço mais utilizado na Internet– O utilizador, recorrendo a um browser, “vê” a Internet como um conjunto de

recursos interligados (através de URI)

• W3C – World Wide Web Consortium – http://www.w3.org/– “Led by Web inventor Tim Berners-Lee and CEO Jeffrey Jaffe, W3C's mission is to

lead the Web to its full potential.”

6

recurso

recurso

recurso

recurso

recurso

recurso

Mais Info: http://www.answers.com/topic/world-wide-web http://en.wikipedia.org/wiki/Www

Page 7: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet Fonte: Wikipedia

Page 8: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

WWW – Historial (1)

• Dez. 1991: demonstração da WWW na Hypertext’91• 1993: No National Center For Supercomputing

Applications (NCSA) é criado o primeiro browser (Mosaic)

• 1994: Criado o World Wide Web Consortium (W3C)– Organização responsável pela normalização das tecnologias utilizadas

na Web - http://www.w3.org/

• O sucesso da Web promoveu-a a ambiente de execução de aplicações distribuídas, as aplicações Web

8

Page 9: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

WWW – Historial (2)• Crescimento de domínios na Web

– 158,209,426 domínios em Fevereiro de 2008 (+2.6 milhões que no mês anterior)– Apenas ~70,000,000 dos quais activos (~44%)

9

Fonte: http://news.netcraft.com/archives/2008/02/index.html

Page 10: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

WWW – Intervenientes

• Browser – Cliente HTTP• Mais correctamente

designado de user-agent

• Servidor Web - Servidor HTTP • normalmente é usado o porto TCP 80

• Proxy – Intermediário que realiza caching– Pode também realizar controlo de acessos

Page 11: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

WWW – Intervenientes (cont.)

Browser

intranet

Browser (ex: IE)

Proxy Server

Browser (ex:Firefox)

HTTP

HTTPHTTP

HTTP

HTTP

HTTP

Page 12: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Agenda (cont.)

• A Internet e a World Wide Web• Identificação de recursos

– Uniform Resource Locator (URL)

• Sistemas distribuídos (introdução)– Distribuição: causas e consequências

• Propriedades pretendidas– Organização de software em camadas– Arquitecturas de sistemas distribuídos

• Modelos de interacção• Desenho de sistemas distribuídos

• O objecto de estudo– Aplicações Web

12

Page 13: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Identificação de recursos

• URI - Uniform Resource Identifiers (RFC 3986)– Definem a sintaxe para identificadores de recursos

• Formato genérico de um URI <esquema>:<parte-específica-esquema>

• Tipos de URIs– URN - Uniform Resource Names (RFC 2141)

• Identificadores persistentes, independentes da localização– Exemplo: urn:ietf:rfc:2141

– URL – Uniform Resource Locators (RFCs 2368, 1738, 1808)• Identificam por localização

– Exemplo: http://www.w3.org/Addressing/

13

Mais Info: http://www.ietf.org/rfc/rfc3986.txt

Page 14: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

URL (Uniform Resource Locators)

• Caracteres utilizados nos URL:– Caracteres US-ASCII– Caracteres que podem ser reservados:

{“;”, “/”, “?”, “:”, “@”, “=”, “&”,“#”}• Se aparecerem fora do contexto para o qual foram reservados, devem ser

codificados– Codificação de caracteres: %<código_hexadecimal>– Se o esquema tiver links relativos e uma estrutura hierárquica, os componentes

da hierarquia devem ser separados por “/”

• Ex:– http://labnet.cc.isel.ipl.pt/login.aspx?ReturnUrl=%2fblogs

%2fdefault.aspx

14

%2f representa o caracter '/'

Page 15: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Esquemas

• Parte específica de esquemas que envolvem protocolos da família TCP/IP<scheme>:[//][<user>[:<password>]@]<host>[:<port>]<url-

part>

<url-part> = <path>[?<querty>][#<fragment>]

• Alguns exemplos:http://www.slbenfica.pt/register.asp?nome=Paulo%20Pereira&id=1http://[email protected]/index.aspx

ftp://anonymous:[email protected]/pub;type=a mailto:[email protected]?subject=SLB&body=O%20Glorioso

• Para mais informações veja http://www.w3.org/Addressing/

15

Page 16: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Agenda (cont.)

• A Internet e a World Wide Web• Identificação de recursos

– Uniform Resource Locator (URL)

• Sistemas distribuídos (introdução)– Distribuição: causas e consequências

• Propriedades pretendidas– Organização de software em camadas– Arquitecturas de sistemas distribuídos

• Modelos de interacção• Desenho de sistemas distribuídos

• O objecto de estudo– Aplicações Web

16

Page 17: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Sistemas Distribuídos

• O que é um Sistema distribuído?

17

“A distributed system is one in which components located at networked computers communicate and coordinate

their actions only by passing messages”

George Colouris et al,

in “Distributed Systems: Concepts and Design”

Page 18: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Sistemas Distribuídos: Motivação (1)

18

“It is easy to understand why networked systems are popular. Such systems allow the sharing of information

and resources over a wide geographic and organizational spread.”

Michael D. Schroeder,

in “Distributed Systems, chapter 1”

“They allow the use of small, cost-effective computers.”idem

“They can grow in small increments over a large range of sizes.”

ibidem

Page 19: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Sistemas Distribuídos: Motivação (2)

• Escalabilidade: Uma definição– Capacidade que o sistema tem para suportar o aumento do número de

participantes (normalmente utilizadores) mantendo os níveis de qualidade de serviço (QoS) desejados

• Como suportar o aumento de escala?– Scale-up (ou vertical scaling)

• Aumento da capacidade da máquina usada• Custos de hardware elevados

– Scale-out (ou horizontal scaling)• Aumento do número de máquinas usadas• Custos de hardware menores• Ónus da distribuição colocado no software

19

Page 20: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Sistemas Distribuídos: Desafios

• Consequências da distribuição:– Troca fiável de mensagens– Segurança– Coordenação

• Propriedades pretendidas:– Escalabilidade– Disponibilidade (Desempenho e Fiabilidade)

20

“An interesting observation about network-based applications is that the best application performance is obtained by not using the

network.”Roy Thomas Fielding,

in “Architectural Styles and the Design of Network-based Software Architectures”,

PhD dissertation

Page 21: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Fiabilidade na troca de mensagens

• O stack TCP/IP resolve o problema?

21

• Uma solução: mensagens idem potentes

• Outra solução: mensagens com marcas temporais

AA BBDébito 100€ na conta 1

Débito realizado (saldo suficiente)

AA BB

Saldo da conta 1 ?

Saldo da conta 1 é 1000€

OK

Saldo da conta 1 = 900€

Page 22: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Coordenação

• Sincronização– No acesso concorrente a recursos partilhados

• Uma escrita exclui todos os restantes acessos– Soluções:

• Conservadoras (ou pessimistas): “Check and act”• Optimistas: “Try and see”

– Exemplo: Transacções

• Acordo (por maioria ou consenso)– Acerca do valor de um recurso partilhado– Acerca do sucesso ou insucesso de uma ou mais operações

• Exemplo: Transacções distribuídas

22

Page 23: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Sincronização

• Uma solução: Transacções (propriedades ACID1)– A propriedade I (isolamento) pode ser relaxada (função do domínio do problema)

23

AA BB

Saldo da conta 1 ?

Saldo da conta 1 é 1000€

OK

Saldo da conta 1 = 900€ CC

Saldo da conta 1 ?

Saldo da conta 1 é 1000€Saldo da conta 1 = 900€

OK ?

AA BB

Iniciar transacção

Terminar transacção

Transacção sucedida ou falhada

...

...

1 Atomicity, Consistency, Isolation, Durability

Page 24: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Acordo: Transacções distribuídas (1)• Protocolo Two phase commit (enrolling)

24

AA

RM1

RM1

RM 2

RM 2

DTCDTCStart

TID

TIDdoOperations(TID)

doOperations(TID)

join TID

join TID

Page 25: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Acordo: Transacções distribuídas (2)• Protocolo Two phase commit (voting)

25

RM 2

RM 2

AA

RM1

RM1

DTCDTCdoCommit(TID)

TID

canCommit(TID) ?

Yes

canCommit(TID) ?

Yes

Page 26: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Acordo: Transacções distribuídas (3)• Protocolo Two phase commit (committing)

26

AA

RM1

RM1

RM 2

RM 2

DTCDTCdoCommit(TID)

commited(TID)

TID

doCommit(TID)

commited

doCommit(TID)

commited

Page 27: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Propriedades pretendidas

• Escalabilidade• Disponibilidade

– Desempenho• Latência• Throughput• Eficiência

– Fiabilidade• Tolerância a falhas

• Facilidade de manutenção– Evolutiva– Correctiva

27

Page 28: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Agenda (cont.)

• A Internet e a World Wide Web• Identificação de recursos

– Uniform Resource Locator (URL)

• Sistemas distribuídos (introdução)– Distribuição: causas e consequências

• Propriedades pretendidas– Organização de software em camadas– Arquitecturas de sistemas distribuídos

• Modelos de interacção• Desenho de sistemas distribuídos

• O objecto de estudo– Aplicações Web

28

Page 29: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Organização de software em camadas (1)

• Designado de modelo layered– Favorece o isolamento

29

ApresentaçãoApresentação

LógicaLógica

DadosDados

Interface pública

Implementação

Acesso a recursos(dados, outros componentes)

• Lógica (ou Business Layer) contém código que permanece válido– para qualquer apresentação– para qualquer fonte de dados

• Padrão de aplicabilidade recursiva

Page 30: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Organização de software em camadas (2)

• A separação lógica potencia a separação física!– E, consequentemente, a distribuição de carga

30

Page 31: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Agenda (cont.)

• A Internet e a World Wide Web• Identificação de recursos

– Uniform Resource Locator (URL)• Sistemas distribuídos (introdução)

– Distribuição: causas e consequências• Propriedades pretendidas

– Organização de software em camadas– Arquitecturas de sistemas distribuídos

• Modelos de interacção• Desenho de sistemas distribuídos

• O objecto de estudo– Aplicações Web

31

Page 32: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Arquitecturas de sistemas distribuídos

• Monolíticas (não distribuídas)• Cliente - servidor

– Baseiam-se na divisão de responsabilidades entre participantes, por exemplo, de acordo com critérios

• de posse da informação• de prestação de serviço (exploração de negócio)

– Taxonomia (função das divisões físicas)• Fat client• Tiered

– Rich client– Thin client

• Peer-to-peer– Todos os participantes têm responsabilidades equivalentes

32

Page 33: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Arquitecturas Fat client (1)

• Quais as vantagens e desvantagens?

33

ApresentaçãoApresentação

LógicaLógica

DadosDados

Máquinas cliente

Servidor(es)

Page 34: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Arquitecturas Fat client (2)

• O que se ganhou?

34

ApresentaçãoApresentação

LógicaLógica

Máquinas cliente

Servidor(es)

Acesso a dados

Repositório(s) de dados

Page 35: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Arquitecturas Tiered: Rich client

• E agora?

35

ApresentaçãoApresentação

LógicaLógica

Máquinas cliente

Servidor(es)

Acesso a dados

Repositório(s) de dados

Servidor(es)

Page 36: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Arquitecturas Tiered: Thin client

• Separação física: Até onde?

36

LógicaLógica

Máquinas cliente

Servidor(es)

Acesso a dados

Repositório(s) de dados

Servidor(es)

Servidor(es)

Execução de código de apresentação

Geração e distribuição de código de apresentação

Page 37: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Modelos de interacção (1)

37

Pedido/Resposta

One-Way

Diálogo

Page 38: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Modelos de interacção (2)

• Pedido/Resposta– Comunicação de natureza síncrona

• O emissor do pedido não prossegue antes de obter a resposta– Desvantagens, citando Clemens Vasters

• "Request/Response forces your impatience upon the responding party”• “Unfair behavior because you don’t know what stress the other side is

having”• One-Way

– Comunicação de natureza assíncrona– O emissor não aguarda mensagem de resposta (logo o receptor pode

reagir de forma deferida)• Diálogos

– Comunicação de natureza assíncrona onde ambos os intervenientes têm a iniciativa de enviar mensagens

– Equivalente a One-Way bidireccional

38

Page 39: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Desenho de sistemas distribuídos (1)

• Como influenciar as propriedades desejadas?• Não existem soluções universais (ainda?) para os desafios

– A adequação das soluções existentes é função do domínio do problema• No entanto, existem algumas ideias!

39

Page 40: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Desenho de sistemas distribuídos (2)

• Algumas ideias: (serão revisitadas)– Dados

• Caching (tratamento difere de acordo com a natureza dos dados)• Replicação (total ou parcial)

– Serviços• Replicação (Clustering)

– Replicação favorece balanceamento de carga (estático e dinâmico)– Favorecimento de:

• soluções stateless• modelos de interacção assíncronos

– Gestão de recursos:• Activação just in time• Utilização de pools• Estado de conversação

40

Page 41: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Agenda (cont.)• A Internet e a World Wide Web

• Identificação de recursos– Uniform Resource Locator (URL)

• Sistemas distribuídos (introdução)– Distribuição: causas e consequências

• Propriedades pretendidas– Organização de software em camadas– Arquitecturas de sistemas distribuídos

• Modelos de interacção• Desenho de sistemas distribuídos

• O objecto de estudo– Aplicações Web

41

Page 42: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Arquitecturas de aplicações Web – Tiered (revisitado)

42

LógicaLógica

Acesso a dados

Repositório(s) de dados

Execução de código de apresentação

Geração e distribuição de código de apresentação

HTML, CSS, JavaScript, XML

Máquinas cliente(Browsers)

Servidor(es) Web

Servidor(es)Aplicacionais

Servidor(es)de Dados (SGBD)

ASP.NET

ADO.NET

.NET

Page 43: A World Wide Web e Introdução aos Sistemas Distribuídos Programação na Internet Secção de Sistemas e Tecnologias de Informação ISEL-DEETC-LEIC Luis Falcão.

2007 - 2010©ISEL/DEETC/STI – Programação na Internet

Bibliografia

Distributed Systems - Concepts and Design, G. Coulouris at al, Addison Wesley, 2000

Distributed Systems: Concepts and Design,

Jean Dollimore at al, Addison Wesley, 2005