Title: Tecnologia para Web
1Tecnologia para Web
- Enrique Pimentel Leite de Oliveira
- enrique.leite_at_aes.edu.br
2Agenda
- O que é a Internet?
- Principais serviços oferecidos pela Internet
- Histórico da Internet
- O que é uma aplicação Internet?
- Tipos de aplicações Internet
- Como aplicações Web funcionam?
- Quais são as possibilidades na Web?
- Vantagens e desvantagens das aplicações Web
- Plataformas de desenvolvimento Web
3O que é a Internet?
- Rede mundial de computadores.
- A Internet é uma rede de redes em escala mundial
de milhões de computadores. - É um conjunto de redes de computadores
interligadas entre si e que se comunicam através
de uma família de protocolos comuns.
4Principais serviços
- Dentre os principais serviços oferecidos pela
Internet estão
Serviço Protocolo
World Wide Web HTTP
Correio Eletrônico SMTP / POP / IMAP
Troca de Arquivos FTP
Mensagem Instantânea Sockets
5Histórico da Internet
- 1969 a ARPANET é criada devido a interesses
militares - 1973 a ARPA (Advanced Research Projects Agency)
dos EUA inicia um programa de pesquisa para
investigar técnicas e tecnologias para interligar
redes de vários tipos. Este programa foi chamado
de Projeto Internetting e as redes que surgiram a
partir dessa pesquisa foram chamadas de Internet - 1986 a NSF (National Science Foundation) dos EUA
inicia o desenvolvimento da NSFNET, que hoje é o
maior backbone da Internet - 1986 A NASA contribui com um backbone adicional
chamado NSINET - 1980s surge o protocolo TCP/IP
- 1990s acontece a popularização da Internet.
6Aplicação Internet
- Defini-se como aplicação Internet qualquer
aplicação que utiliza a Internet de alguma forma. - Aplicações Web são um dos quatro tipos de
aplicações Internet que podemos criar
7Tipos de aplicações Internet
- Aplicações Web estas aplicações fornecem
conteúdo de um servidor para os computadores
clientes através da Internet - Web Services estes aplicações Web, sem interface
gráfica, proporcionam o processamento de serviços
de um servidor para outras aplicações através da
Internet - Aplicações Conectadas são aplicações que podem
ser utilizadas sem conexão com a Internet, mas
que em alguns momentos incorporam aspectos da
Internet para proporcionar ao usuário
atualizações, ajuda ou outros serviços online - Aplicações ponto-a-ponto são aplicações
stand-alone que usam a Internet para se comunicar
com outras aplicações executando sua instância da
aplicação localmente.
8Como funcionam aplicações Web?
- Aplicações Web usam a arquitetura
cliente/servidor. As aplicações residem em um
servidor e respondem requisições de múltiplos
clientes, como mostra a figura
9Como funcionam aplicações Web?
- Cliente
- A aplicação Web é hospedada por um browser
- A interface da aplicação assume a forma de
páginas HTML que são interpretadas e exibidas
pelo browser do cliente - Servidor
- A aplicação Web roda sob um servidor de
aplicações Web como o Microsoft Internet
Information Services (IIS) - O servidor de aplicações Web passa as requisições
dos clientes para as aplicações e encaminha as
respostas das aplicações para os clientes.
10Como funcionam aplicações Web?
11Como funcionam aplicações Web?
- Web Site Tradicional versus Aplicação Web
- Aplicações Web são muito semelhantes a Web sites
tradicionais - Aplicações Web as páginas entregues aos usuários
são construídas dinamicamente por um executável - Web sites tradicionais as páginas entregues aos
usuários são páginas estáticas armazenadas no
servidor.
12Quais são as possibilidades na Web?
- Coletar informações do usuário e armazenar essas
informações no servidor - Realizar cálculos complexos
- Recuperar informações de um banco de dados
- Identificar um usuário específico e apresentar
uma interface customizada para aquele usuário - Apresentar informações altamente voláteis, como
pedidos pendentes e faturamento - etc
13Vantagens de aplicações Web
- Distribuição das aplicações
- Browser conexão Internet
- Dispensa a instalação de programas no cliente
- Atualização das aplicações
- Centralizada
- Instantânea
- Não é necessário um supercomputador para executar
as aplicações
14Desvantagens de aplicações Web
- A experiência do usuário é pobre se comparada com
aplicações desktop - Drag-and-Drop
- Número de controles é limitado
- Baixa produtividade no desenvolvimento
- É necessária grande quantidade de scripts de
cliente (JavaScript) para melhorar a experiência
do usuário - JavaScript é uma linguagem pobre e possui um
ambiente de desenvolvimento e depuração bastante
limtado
15Plataformas de desenvolvimento Web
- ASP.NET
- Java
- PHP
- CGI
- Perl
16O que são protocolos?
- Protocolo é um conjunto de regras sobre o modo
como se dará a comunicação entre as partes
envolvidas
17Modelo de Referência TCP/IP
LAN LAN WAN WAN Física Enlace
IP IP IP IP Rede
TCP TCP UDP UDP Transporte
FTP HTTP SMTP TELNET Aplicação
18HTTP HyperText Transfer Protocol
- Protocolo de aplicação que possui um conjunto de
regras definidas para comunicação entre
servidores e navegadores Web
19Características do HTTP
- Utiliza o protocolo TCP para transporte
- Utiliza a porta 80 para disponibilizar o serviço
- Utiliza pares de mensagens de solicitação e
resposta - Cada transação resulta no estabelecimento de uma
nova conexão TCP - Por padrão não armazena informações de estado
entre transações (Stateless) - As conexões são iniciadas pelos navegadores e
encerradas pelo servidor Web após enviar as
respostas
20Funcionamento do HTTP
- Acessando http//www.w3.org/welcome.html
- O browser determina o URL (Uniform Resource
Locator) - O browser pergunta ao DNS qual é o endereço IP de
www.w3.org - O DNS responde 18.23.0.23
- O browser estabelece uma conexão TCP com a porta
80 em 18.23.0.23 - O browser envia o comando GET welcome.html
- O servidor envia o arquivo welcome.html
- A conexão TCP é liberada
- O browser apresenta o documento welcome.html
21Funcionamento do HTTP
- O protocolo HTTP apresenta facilidades para
implementação de caches - Os browsers são capazes de enviar solicitações
condicionais aos servidores, associando a data de
alteração da página em cache (cláusula
If-Modified-Since do GET) - O servidor só enviará os dados se eles tiverem
sido alterados desde a data fornecida
22Comandos do HTTP
Método Descrição
GET Solicita a leitura de uma página Web
HEAD Solicita a leitura de um cabeçalho de uma página Web
PUT Solicita o armazenamento de uma página Web
POST Acrescenta um recurso (por exemplo, uma página Web)
DELETE Remove a página da Web
LINK Conecta dois recursos existentes
UNLINK Desfaz uma conexão entre dois recursos
23Novidades do HTTP
- HTTP-NG (Next Generation)
- Melhorias na modularidade e na performance em
relação ao HTTP/1.1 - http//www.w3.org/Protocols/HTTP-NG/
24SOAP
- A sigla SOAP significa, Simple Object Access
Protocol - O protocolo SOAP permite que aplicações troquem
informações estruturadas e tipadas utilizando os
padrões XML
25Características do SOAP
- Não mantém estado entre transações (Stateless)
- Transações tem sentido único
- SOAP Sender ? SOAP Receiver
- As aplicações devem implementar seu modelo de
transação (por exemplo, solicitação/resposta) - Uma mensagem SOAP é dividida em envelope,
cabeçalho e corpo - Para que uma mensagem SOAP seja processada é
necessário que o envelope, o cabeçalho e o corpo
sejam nomeados no namespace env (ltenvBodygt)
26Mensagem SOAP
- Uma mensagem possui o elemento global
envEnvelope e dois sub-elementos envHeader e
envBody - O conteúdo desses elementos é definido pela
aplicação - Não fazem parte da especificação SOAP, embora
possuam atributos que dizem como devem ser
processados - O elemento envHeader é opcional, mas é um
mecanismo que provê uma maneira de passar
informações que não serão processadas pelo SOAP
Receiver - O elemento envBody é obrigatório, portanto deve
conter as informações principais que serão
transportadas
27Modelo de Processamento SOAP
- Ações tomadas pelo SOAP Receiver ao receber uma
mensagem - O primeiro passo é verificar se a mensagem está
sintaticamente correta - Atributo envrole
- Permite que o SOAP Receiver identifique as regras
utilizadas pelo cabeçalho da mensagem - Atributo envmustUnderstand
- Se igual a true, significa que o bloco de
cabeçalho deve ser processado (bloco de cabeçalho
mandatório) - Atributo envrelay
- Indica se um nó intermediário SOAP deve
retransmitir um bloco de cabeçalho quando ele não
é processado
28Transporte de Mensagens SOAP
- O transporte de mensagens SOAP pode ser realizado
através dos protocolos - HTTP
- SMTP (e-mail)
- A principal fonte de informações sobre SOAP é o
site do W3C (http//www.w3.org)