28
Tecnologia para Web Enrique Pimentel Leite de Enrique Pimentel Leite de Oliveira Oliveira [email protected] [email protected]

Tecnologia para Web Enrique Pimentel Leite de Oliveira [email protected]

Embed Size (px)

Citation preview

Page 1: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Tecnologia para WebTecnologia para Web

Enrique Pimentel Leite de OliveiraEnrique Pimentel Leite de [email protected]@aes.edu.br

Page 2: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

AgendaAgenda

O que é a Internet?O que é a Internet?

Principais serviços oferecidos pela Principais serviços oferecidos pela InternetInternet

Histórico da InternetHistórico da Internet

O que é uma aplicação Internet?O que é uma aplicação Internet?

Tipos de aplicações InternetTipos de aplicações Internet

Como aplicações Web funcionam?Como aplicações Web funcionam?

Quais são as possibilidades na Web?Quais são as possibilidades na Web?

Vantagens e desvantagens das Vantagens e desvantagens das aplicações Webaplicações Web

Plataformas de desenvolvimento WebPlataformas de desenvolvimento Web

Page 3: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

O que é a Internet?O que é a Internet?

““Rede mundial de computadores.”Rede mundial de computadores.”

““A Internet é uma rede de redes em A Internet é uma rede de redes em escala mundial de milhões de escala mundial de milhões de

computadores.”computadores.”

““É um conjunto de redes de É um conjunto de redes de computadores interligadas entre si e computadores interligadas entre si e que se comunicam através de uma que se comunicam através de uma

família de protocolos comuns.”família de protocolos comuns.”

Page 4: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Principais serviçosPrincipais serviços

ServiçoServiço ProtocoloProtocoloWorld Wide WebWorld Wide Web HTTPHTTPCorreio EletrônicoCorreio Eletrônico SMTP / POP / IMAPSMTP / POP / IMAPTroca de ArquivosTroca de Arquivos FTPFTPMensagem Mensagem InstantâneaInstantânea

SocketsSockets

Dentre os principais serviços Dentre os principais serviços oferecidos pela Internet estão:oferecidos pela Internet estão:

Page 5: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Histórico da InternetHistórico da Internet

19691969: a ARPANET é criada devido a interesses : a ARPANET é criada devido a interesses militares;militares;

19731973: a ARPA (: a ARPA (Advanced Research Projects AgencyAdvanced Research Projects Agency) ) dos EUA inicia um programa de pesquisa para dos EUA inicia um programa de pesquisa para investigar técnicas e tecnologias para interligar redes investigar técnicas e tecnologias para interligar redes de vários tipos. Este programa foi chamado de Projeto de vários tipos. Este programa foi chamado de Projeto Internetting e as redes que surgiram a partir dessa Internetting e as redes que surgiram a partir dessa pesquisa foram chamadas de Internet;pesquisa foram chamadas de Internet;

19861986: a NSF (: a NSF (National Science FoundationNational Science Foundation) dos EUA ) dos EUA inicia o desenvolvimento da NSFNET, que hoje é o inicia o desenvolvimento da NSFNET, que hoje é o maior backbone da Internet;maior backbone da Internet;

19861986: A NASA contribui com um backbone adicional : A NASA contribui com um backbone adicional chamado NSINET;chamado NSINET;

1980’s1980’s: surge o protocolo TCP/IP;: surge o protocolo TCP/IP;

1990’s1990’s: acontece a popularização da Internet.: acontece a popularização da Internet.

Page 6: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Aplicação InternetAplicação Internet

Defini-se como aplicação Internet Defini-se como aplicação Internet qualquer aplicação que utiliza a qualquer aplicação que utiliza a Internet de alguma forma.Internet de alguma forma.

Aplicações Web são um dos quatro Aplicações Web são um dos quatro tipos de aplicações Internet que tipos de aplicações Internet que podemos criarpodemos criar

Page 7: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Tipos de aplicações InternetTipos de aplicações Internet

Aplicações WebAplicações Web: estas aplicações fornecem : estas aplicações fornecem conteúdo de um servidor para os computadores conteúdo de um servidor para os computadores clientes através da Internet;clientes através da Internet;

Web ServicesWeb Services: estes aplicações Web, sem : estes aplicações Web, sem interface gráfica, proporcionam o processamento de interface gráfica, proporcionam o processamento de serviços de um servidor para outras aplicações serviços de um servidor para outras aplicações através da Internet;através da Internet;

Aplicações ConectadasAplicações Conectadas: são aplicações que : são aplicações que podem ser utilizadas sem conexão com a Internet, podem ser utilizadas sem conexão com a Internet, mas que em alguns momentos incorporam aspectos mas que em alguns momentos incorporam aspectos da Internet para proporcionar ao usuário da Internet para proporcionar ao usuário atualizações, ajuda ou outros serviços online;atualizações, ajuda ou outros serviços online;

Aplicações ponto-a-pontoAplicações ponto-a-ponto: são aplicações : são aplicações stand-stand-alonealone que usam a Internet para se comunicar com que usam a Internet para se comunicar com outras aplicações executando sua instância da outras aplicações executando sua instância da aplicação localmente.aplicação localmente.

Page 8: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Como funcionam aplicações Web?Como funcionam aplicações Web?

Aplicações Web usam a arquitetura cliente/servidor. As Aplicações Web usam a arquitetura cliente/servidor. As aplicações residem em um servidor e respondem aplicações residem em um servidor e respondem requisições de múltiplos clientes, como mostra a requisições de múltiplos clientes, como mostra a figura:figura:

Page 9: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Como funcionam aplicações Web?Como funcionam aplicações Web?

ClienteClienteA aplicação Web é hospedada por um browser;A aplicação Web é hospedada por um browser;

A interface da aplicação assume a forma de A interface da aplicação assume a forma de páginas HTML que são interpretadas e exibidas páginas HTML que são interpretadas e exibidas pelo browser do cliente;pelo browser do cliente;

ServidorServidorA aplicação Web roda sob um servidor de A aplicação Web roda sob um servidor de aplicações Web como o Microsoft Internet aplicações Web como o Microsoft Internet Information Services (IIS);Information Services (IIS);

O servidor de aplicações Web passa as O servidor de aplicações Web passa as requisições dos clientes para as aplicações e requisições dos clientes para as aplicações e encaminha as respostas das aplicações para os encaminha as respostas das aplicações para os clientes.clientes.

Page 10: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Como funcionam aplicações Web?Como funcionam aplicações Web?

Page 11: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Como funcionam aplicações Web?Como funcionam aplicações Web?

Web Site Tradicional Web Site Tradicional versusversus Aplicação Aplicação WebWeb

Aplicações Web são muito semelhantes Aplicações Web são muito semelhantes a Web sites tradicionais;a Web sites tradicionais;

Aplicações Web: as páginas entregues Aplicações Web: as páginas entregues aos usuários são construídas aos usuários são construídas dinamicamente por um executável;dinamicamente por um executável;

Web sites tradicionais: as páginas Web sites tradicionais: as páginas entregues aos usuários são páginas entregues aos usuários são páginas estáticas armazenadas no servidor.estáticas armazenadas no servidor.

Page 12: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Quais são as possibilidades na Web?Quais são as possibilidades na Web?

Coletar informações do usuário e Coletar informações do usuário e armazenar essas informações no servidor;armazenar essas informações no servidor;

Realizar cálculos complexos;Realizar cálculos complexos;

Recuperar informações de um banco de Recuperar informações de um banco de dados;dados;

Identificar um usuário específico e Identificar um usuário específico e apresentar uma interface customizada apresentar uma interface customizada para aquele usuário;para aquele usuário;

Apresentar informações altamente Apresentar informações altamente voláteis, como pedidos pendentes e voláteis, como pedidos pendentes e faturamento;faturamento;

etcetc

Page 13: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Vantagens de aplicações WebVantagens de aplicações Web

Distribuição das aplicaçõesDistribuição das aplicaçõesBrowser + conexão InternetBrowser + conexão Internet

Dispensa a instalação de programas no Dispensa a instalação de programas no clientecliente

Atualização das aplicaçõesAtualização das aplicaçõesCentralizadaCentralizada

InstantâneaInstantânea

Não é necessário um Não é necessário um supercomputador para executar as supercomputador para executar as aplicaçõesaplicações

Page 14: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Desvantagens de aplicações WebDesvantagens de aplicações Web

A experiência do usuário é pobre se A experiência do usuário é pobre se comparada com aplicações desktopcomparada com aplicações desktop

Drag-and-DropDrag-and-Drop

Número de controles é limitadoNúmero de controles é limitado

Baixa produtividade no desenvolvimentoBaixa produtividade no desenvolvimentoÉ necessária grande quantidade de scripts de É necessária grande quantidade de scripts de cliente (JavaScript) para melhorar a experiência cliente (JavaScript) para melhorar a experiência do usuáriodo usuário

JavaScript é uma linguagem pobre e possui um JavaScript é uma linguagem pobre e possui um ambiente de desenvolvimento e depuração ambiente de desenvolvimento e depuração bastante limtadobastante limtado

Page 15: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Plataformas de desenvolvimento WebPlataformas de desenvolvimento Web

ASP.NETASP.NET

JavaJava

PHPPHP

CGICGI

PerlPerl

Page 16: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

O que são protocolos?O que são protocolos?

““ProtocoloProtocolo é um conjunto de regras é um conjunto de regras sobre o modo como se dará a sobre o modo como se dará a comunicação entre as partes comunicação entre as partes

envolvidas”envolvidas”

Page 17: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Modelo de Referência TCP/IPModelo de Referência TCP/IP

LANLAN WANWANFísica +Física +

EnlaceEnlace

IPIP RedeRede

TCPTCP UDPUDP TransportTransportee

FTPFTP HTTPHTTP SMTPSMTP TELNETTELNET AplicaçãoAplicação

Page 18: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

HTTP HyperText Transfer ProtocolHTTP HyperText Transfer Protocol

““Protocolo de aplicação que possui um Protocolo de aplicação que possui um conjunto de regras definidas para conjunto de regras definidas para comunicação entre servidores e comunicação entre servidores e

navegadores Web”navegadores Web”

Page 19: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Características do HTTPCaracterísticas do HTTP

Utiliza o protocolo TCP para transporteUtiliza o protocolo TCP para transporte

Utiliza a porta 80 para disponibilizar o Utiliza a porta 80 para disponibilizar o serviçoserviço

Utiliza pares de mensagens de solicitação e Utiliza pares de mensagens de solicitação e respostaresposta

Cada transação resulta no estabelecimento Cada transação resulta no estabelecimento de uma nova conexão TCPde uma nova conexão TCP

Por padrão não armazena informações de Por padrão não armazena informações de estado entre transações (Stateless)estado entre transações (Stateless)

As conexões são iniciadas pelos As conexões são iniciadas pelos navegadores e encerradas pelo servidor navegadores e encerradas pelo servidor Web após enviar as respostasWeb após enviar as respostas

Page 20: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Funcionamento do HTTPFuncionamento do HTTP

Acessando Acessando http://www.w3.org/welcome.htmlhttp://www.w3.org/welcome.html

O browser determina o URL (Uniform Resource O browser determina o URL (Uniform Resource Locator)Locator)

O browser pergunta ao DNS qual é o endereço O browser pergunta ao DNS qual é o endereço IP de IP de www.w3.orgwww.w3.org

O DNS responde O DNS responde 18.23.0.2318.23.0.23

O browser estabelece uma conexão TCP com a O browser estabelece uma conexão TCP com a porta 80 em porta 80 em 18.23.0.2318.23.0.23

O browser envia o comando O browser envia o comando GET GET welcome.htmlwelcome.html

O servidor envia o arquivo O servidor envia o arquivo welcome.htmlwelcome.html

A conexão TCP é liberadaA conexão TCP é liberada

O browser apresenta o documento O browser apresenta o documento welcome.htmlwelcome.html

Page 21: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Funcionamento do HTTPFuncionamento do HTTP

O protocolo HTTP apresenta facilidades para O protocolo HTTP apresenta facilidades para implementação de implementação de cachescaches

Os browsers são capazes de enviar Os browsers são capazes de enviar solicitações condicionais aos servidores, solicitações condicionais aos servidores, associando a data de alteração da página associando a data de alteração da página em cache (cláusula em cache (cláusula If-Modified-SinceIf-Modified-Since do do GETGET))

O servidor só enviará os dados se eles O servidor só enviará os dados se eles tiverem sido alterados desde a data tiverem sido alterados desde a data fornecidafornecida

Page 22: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Comandos do HTTPComandos do HTTP

MétodoMétodo DescriçãoDescrição

GETGET Solicita a leitura de uma página WebSolicita a leitura de uma página Web

HEADHEAD Solicita a leitura de um cabeçalho de uma Solicita a leitura de um cabeçalho de uma página Webpágina Web

PUTPUT Solicita o armazenamento de uma página Solicita o armazenamento de uma página WebWeb

POSTPOST Acrescenta um recurso (por exemplo, uma Acrescenta um recurso (por exemplo, uma página Web)página Web)

DELETEDELETE Remove a página da WebRemove a página da Web

LINKLINK Conecta dois recursos existentesConecta dois recursos existentes

UNLINKUNLINK Desfaz uma conexão entre dois recursosDesfaz uma conexão entre dois recursos

Page 23: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Novidades do HTTPNovidades do HTTP

HTTP-NG (Next Generation)HTTP-NG (Next Generation)Melhorias na modularidade e na Melhorias na modularidade e na performance em relação ao HTTP/1.1performance em relação ao HTTP/1.1http://www.w3.org/Protocols/HTTP-NG/

Page 24: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

SOAPSOAP

A sigla SOAP significa, Simple Object A sigla SOAP significa, Simple Object Access ProtocolAccess Protocol

““O protocolo SOAP permite que O protocolo SOAP permite que aplicações troquem informações aplicações troquem informações

estruturadas e tipadas utilizando os estruturadas e tipadas utilizando os padrões XML”padrões XML”

Page 25: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Características do SOAPCaracterísticas do SOAP

Não mantém estado entre transações Não mantém estado entre transações (Stateless)(Stateless)

Transações tem sentido únicoTransações tem sentido únicoSOAP Sender SOAP Sender SOAP Receiver SOAP Receiver

As aplicações devem implementar seu modelo de As aplicações devem implementar seu modelo de transação (por exemplo, solicitação/resposta)transação (por exemplo, solicitação/resposta)

Uma mensagem SOAP é dividida em: Uma mensagem SOAP é dividida em: envelope, cabeçalho e corpoenvelope, cabeçalho e corpo

Para que uma mensagem SOAP seja Para que uma mensagem SOAP seja processada é necessário que o envelope, o processada é necessário que o envelope, o cabeçalho e o corpo sejam nomeados no cabeçalho e o corpo sejam nomeados no namespace “env” (<env:Body>)namespace “env” (<env:Body>)

Page 26: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Mensagem SOAPMensagem SOAP

Uma mensagem possui o elemento Uma mensagem possui o elemento global global env:Envelopeenv:Envelope e dois sub- e dois sub-elementos elementos env:Headerenv:Header e e env:Bodyenv:Body

O conteúdo desses elementos é definido O conteúdo desses elementos é definido pela aplicaçãopela aplicação

Não fazem parte da especificação SOAP, Não fazem parte da especificação SOAP, embora possuam atributos que dizem embora possuam atributos que dizem como devem ser processadoscomo devem ser processados

O elemento O elemento env:Headerenv:Header é opcional, é opcional, mas é um mecanismo que provê uma mas é um mecanismo que provê uma maneira de passar informações que não maneira de passar informações que não serão processadas pelo SOAP Receiverserão processadas pelo SOAP Receiver

O elemento O elemento env:Bodyenv:Body é obrigatório, é obrigatório, portanto deve conter as informações portanto deve conter as informações principais que serão transportadasprincipais que serão transportadas

Page 27: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Modelo de Processamento SOAPModelo de Processamento SOAP

Ações tomadas pelo SOAP Receiver ao receber Ações tomadas pelo SOAP Receiver ao receber uma mensagemuma mensagem

O primeiro passo é verificar se a mensagem está O primeiro passo é verificar se a mensagem está sintaticamente corretasintaticamente correta

Atributo Atributo env:roleenv:rolePermite que o SOAP Receiver identifique as regras Permite que o SOAP Receiver identifique as regras utilizadas pelo cabeçalho da mensagemutilizadas pelo cabeçalho da mensagem

Atributo Atributo env:mustUnderstandenv:mustUnderstandSe igual a “true”, significa que o bloco de cabeçalho Se igual a “true”, significa que o bloco de cabeçalho deve ser processado (bloco de cabeçalho deve ser processado (bloco de cabeçalho mandatório)mandatório)

Atributo Atributo env:relayenv:relayIndica se um nó intermediário SOAP deve Indica se um nó intermediário SOAP deve retransmitir um bloco de cabeçalho quando ele não retransmitir um bloco de cabeçalho quando ele não é processadoé processado

Page 28: Tecnologia para Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

Transporte de Mensagens SOAPTransporte de Mensagens SOAP

O transporte de mensagens SOAP O transporte de mensagens SOAP pode ser realizado através dos pode ser realizado através dos protocolos:protocolos:

HTTPHTTP

SMTP (e-mail)SMTP (e-mail)

A principal fonte de informações A principal fonte de informações sobre SOAP é o site do W3C (sobre SOAP é o site do W3C (http://www.w3.org))