Você está na página 1de 4

1

No divulgue este documento fora da Fatec, ele parte de um projeto do professor que possui copyright.

TPICOS ESPECIAIS EM INFORMTICA


Faculdade de Tecnologia do Estado de So Paulo (Campus Mogi das Cruzes)
Prof. Leandro Luque

Introduo ao Desenvolvimento de Aplicativos Web

Contextualizao
Quantos tipos de aplicativos para a Internet voc j utilizou? Servios de vdeo sob demanda, como o
Youtube e Netflix; sistemas de mensagem instantnea, como o Whatsapp e Google Talk; servios de
comunicao com voz, como Skype, o Google Hangouts e Whatsapp; banco via internet; entre diversos
outros. O nmero muito grande. Estes aplicativos utilizam a Internet como meio de comunicao.
Alguns destes aplicativos possuem uma particularidade: so executados em navegadores Web (como o
Firefox, Chrome, Internet Explorer, Safari e Edge). o caso de muitos comrcios eletrnicos, servios de
notcias etc. Estes so os aplicativos Web.
Todos aplicativo Web um aplicativo para a Internet, mas nem todo aplicativo para a Internet um
aplicativo Web.
Hoje, os aplicativos Web esto entre os mais utilizados por usurios de todo o mundo e a possibilidade de
desenvolver aplicativos que se comportam como aplicativos mveis vem atraindo cada vez mais ateno
para a rea de desenvolvimento de aplicativos Web.
Nesta disciplina, abordaremos o desenvolvimento de aplicativos Web com Java.

Um pouco de histria
A Web foi criada por Timothy John Berners-Lee (Tim Berners-Lee), um cientista da computao britnico.
Enquanto trabalhava no CERN (Organizao Europeia para Pesquisas Nucleares), ele procurou resolver uma
dificuldade referente ao compartilhamento de informaes. Nas palavras de Tim:
In those days, there was different information on different computers, but you had to log on to different
computers to get at it. Also, sometimes you had to learn a different program on each computer. Often it was
just easier to go and ask people when they were having coffee
Basicamente existiam muitos artigos e dados utilizados no CERN que estavam em computadores diferentes
e tinham que ser acessados de modo diferente, o que dificultava o acesso s informaes.
Para resolver esta dificuldade, ele props uma soluo baseada na ideia de hipertexto (texto com links).
Desta forma, a partir de um artigo que estava sendo lido, seria possvel navegar por artigos e dados similares
rapidamente. No fim de 1990, Tim j havia desenvolvido as tecnologias bases da Web: a HyperText Markup
Language (HTML), o Uniform Resource Identifier (URI) e o HyperText Transfer Protocol (HTTP).
Para maiores informaes sobre a histria da Web, veja http://webfoundation.org/about/vision/history-of-
the-web/.
2
No divulgue este documento fora da Fatec, ele parte de um projeto do professor que possui copyright.

TPICOS ESPECIAIS EM INFORMTICA


Faculdade de Tecnologia do Estado de So Paulo (Campus Mogi das Cruzes)
Prof. Leandro Luque

Entendendo o funcionamento de um aplicativo Web


Quando voc digita um endereo, como www.fatecmogidascruzes.com.br, no navegador Web e pressiona
Enter, o que pode acontecer? As principais alternativas so:

Pode ser exibida uma mensagem de erro dizendo Servidor no encontrado;


Pode ser exibida uma mensagem de erro dizendo Tempo limite atingido;
O site da Fatec pode ser exibido;

Quando cada um destes cenrios ocorre?


Para entender isso, importante compreender que a primeira coisa que ocorre aps voc pressionar Enter
a traduo do nome fatecmogidascruzes.com.br em um endereo IP (Internet Protocol);
Para fazer isso, o seu computador envia uma mensagem a um servidor que sabe como traduzir nomes em
endereos IP. Esse servidor o DNS (Domain Name System);

1 caso
Se o DNS no conseguir fazer a traduo (digamos porque voc tenha digitado um nome invlido), voc
receber a mensagem de erro Servidor no encontrado.

2 caso
Se o DNS fizer a traduo corretamente e devolver um nmero IP ao seu computador, o seu navegador Web
enviar mensagens destinadas a este endereo IP, solicitando que seja devolvido um arquivo (geralmente
uma pgina HTML);
Neste caso, existem duas possibilidades:

O computador com o endereo IP especificado no pode ser alcanado (porque est desligado, por
exemplo);
O computador est ligado, recebe a mensagem do seu navegador, mas como no tem nenhum
processo (um programa, por exemplo) em execuo neste computador que saiba o que fazer com
esta mensagem, nenhuma resposta enviada de volta ao seu computador.
Em qualquer um destes dois casos, voc receber a mensagem de erro Tempo limite atingido. Isto significa
que o seu computador aguardou por um tempo, mas no obteve respostas.

3 caso
Para que o site da Fatec seja exibido no seu navegador, deve existir algum processo (executando no
computador com o nmero IP que o DNS retornou) que saiba como responder mensagem que o seu
navegador enviou.
No caso de aplicativos Web, esse programa conhecido como Servidor Web.

O Protocolo HTTP (HyperText Transfer Protocol)


Um primeiro aspecto importante a observar em relao a um Servidor Web que ele deve conseguir
entender a linguagem utilizada na mensagem enviada pelo seu navegador e deve escrever uma resposta que
o seu navegador entenda.
3
No divulgue este documento fora da Fatec, ele parte de um projeto do professor que possui copyright.

TPICOS ESPECIAIS EM INFORMTICA


Faculdade de Tecnologia do Estado de So Paulo (Campus Mogi das Cruzes)
Prof. Leandro Luque

justamente por isso que adotado um protocolo na comunicao entre o seu navegador e o Servidor Web.
Ele define a linguagem (os termos e regras) utilizada na comunicao.

Veja um exemplo de mensagem enviada por um navegador. Ela foi escrita de acordo com o protocolo HTTP.
GET / HTTP/1.1
Host: www.fatecmogidascruzes.com.br
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101
Firefox/44.0

Nesta mensagem, est sendo dito: envie para mim (GET) a pgina padro (/) do site
www.fatecmogidascruzes.com.br. Eu sou o navegador Mozilla/5.0 ...
Quando o Servidor Web receber esta mensagem, ele ir interpretar o texto da mensagem de acordo com as
regras do protocolo HTTP, ir encontrar o recurso padro, escrever uma mensagem de resposta e devolver
o recurso. Veja a seguir uma possvel resposta do Servidor Web:
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Wed, 20 Jan 2015 12:20:00 GMT
Content-Type: text/html
Last-Modified: Mon, 21 Dez 2014 13:33:00 GMT
Content-Length: 85
<html>
<head>
<title>Exemplo de resposta HTTP</title>
</head>
<body></body>
</html>

Nesta mensagem, o servidor est dizendo OK, est tudo certo. Em seguida, o servidor encaminha o
contedo da pgina HTML que dever ser exibida pelo navegador.
Quando se digita um endereo, como www.fatecmogidascruzes.com.br, o protocolo automaticamente
acrescentado ao endereo: http://www.fatecmogidascruzes.com.br. Alm disso, o recurso que deve ser
aberto tambm automaticamente acrescentado. Neste caso, o recurso padro (/). A mensagem ento
enviada como se o endereo fosse: http://www.fatecmogidascruzes.com.br/

Sockets e Porta de Rede


Quando se digita um endereo, como www.fatecmogidascruzes.com.br, alm de serem acrescentados o
protocolo e o recurso, tambm acrescentada uma porta de rede. como se voc tivesse digitado:
http://www.fatecmogidascruzes.com.br:80/

O nmero 80 a porta padro de um Servidor Web. Mas para que serve a porta?
Voc deve se lembrar que muitos programas executados em um mesmo computador podem utilizar a
Internet e que o Sistema Operacional (SO) deve, de alguma forma, saber para qual programa ele deve
encaminhar as mensagens que chegam ao computador. Para isso, utilizado o conceito de socket. Um
4
No divulgue este documento fora da Fatec, ele parte de um projeto do professor que possui copyright.

TPICOS ESPECIAIS EM INFORMTICA


Faculdade de Tecnologia do Estado de So Paulo (Campus Mogi das Cruzes)
Prof. Leandro Luque

socket uma das extremidades de uma comunicao em rede. Ele consiste de trs informaes: um
endereo IP, um protocolo de comunicao e um nmero de porta. Por meio destas informaes, o SO
sabe para qual programa deve direcionar uma mensagem.
Se voc executar um Servidor Web em uma porta diferente da 80, digamos 8080, no bastar digitar
www.fatecmogidascruzes.com.br no navegador do computador cliente. Ser necessrio digitar
www.fatecmogidascruzes.com.br:8080.

Mtodos HTTP
O protocolo HTTP define alguns mtodos (comandos) que podem ser utilizados na mensagem que o cliente
envia ao servidor.

Mtodo GET
Um deles, j utilizado no exemplo apresentado, o GET. Ele solicita um recurso e utilizado quando se digita
uma URL no navegador, quando se clica em um link ou quando se submete um formulrio com o mtodo
GET. No possvel usar o mtodo GET para enviar grandes volumes de dados ao servidor. O tamanho
mximo da mensagem depende do navegador, mas no se recomenda passar de 2000 caracteres, pois
alguns navegadores suportam URLs de tamanho no muito maior que esse.
Neste tipo de mtodo, os dados enviado ao servidor (como os dados de um formulrio) so parte da URL.
Por fim, o navegador ou proxy costuma fazer o cache da pgina pela URL.

Mtodo POST
Outro mtodo bastante utilizado o POST. Ele est voltado principalmente para enviar dados ao servidor (
claro que o servidor devolve uma resposta, ento ele tem o mesmo potencial que o GET de solicitar
recursos). No existe limite de tamanho para a mensagem. Ele pode ser utilizado para enviar arquivos. Os
dados so enviados como parte da requisio e no da URL. O navegador ou proxy no costumam fazer o
cache da pgina pela URL.
Alm destes, existem outros mtodos como HEAD, PUT etc.

Você também pode gostar