Upload
internet
View
105
Download
1
Embed Size (px)
Citation preview
Tecnologia para WebTecnologia para Web
Enrique Pimentel Leite de OliveiraEnrique Pimentel Leite de [email protected]@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
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.”
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:
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.
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
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.
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:
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.
Como funcionam aplicações Web?Como funcionam aplicações Web?
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.
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
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
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
Plataformas de desenvolvimento WebPlataformas de desenvolvimento Web
ASP.NETASP.NET
JavaJava
PHPPHP
CGICGI
PerlPerl
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”
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
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”
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
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
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
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
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/
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”
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>)
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
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
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))