Arquitetura de aplicações web. Web Servers. Protocolo HTTP
-
Upload
edson-angoti-junior -
Category
Documents
-
view
546 -
download
0
Transcript of Arquitetura de aplicações web. Web Servers. Protocolo HTTP
MINISTRIO DA EDUCAO SECRETARIA DE EDUCAO PROFISSIONAL E TECNOLGICAINSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA TRINGULO MINEIRO
Campus Uberlndia
Protocolos e Programao para InternetArquitetura de aplicaes web. Web Servers. Protocolo HTTP.
Prof. Me. Edson Angoti Jnior
1
Histrico do ambiente corporativo de TI
Grandes centros de processamento com custos elevados de operao e manuteno Sistemas monolticos, que exigiam pessoal especializado, com grande conhecimento sobre detalhes tcnicos de operao
Fonte: Uma introduo ao Software + Servios, SaaS e SOA
Waldemir Cambiucci Maio de 2009
Prof. Me. Edson Angoti Jnior
2
Histrico do ambiente corporativo de TI
Computao pessoal, poder de processamento a baixo custo para o usurio final. Computao cliente/servidor. Equipamentos de integrao como bridges, roteadores, switches e hubs iniciavam suas aparies, permitindo que empresas integrassem ambientes de computao e sistemasFonte: Uma introduo ao Software + Servios, SaaS e SOA
Waldemir Cambiucci Maio de 2009
Prof. Me. Edson Angoti Jnior
3
Histrico do ambiente corporativo de TI
Surgimento da Web como uma rede pblica de baixo custo disponvel para universidades, empresas e usurios domsticos . Padres como HTTP (Hypertext Transfer Protocol), HTML (HyperText Markup Language) e XML (eXtensible Markup Language) permitiram a oferta de servios empresariais atravs da internetFonte: Uma introduo ao Software + Servios, SaaS e SOA
Waldemir Cambiucci Maio de 2009
Prof. Me. Edson Angoti Jnior
4
Histrico do ambiente corporativo de TI
Hoje, estamos acompanhando o nascimento de uma nova onda no setor de TI, a chamada computao em nuvem (cloud computing) Gigantes como Microsoft, Amazon e Google ampliam suas ofertas de datacenters pelo mundo, oferecendo recursos de infra-estrutura alm das fronteiras das empresasFonte: Uma introduo ao Software + Servios, SaaS e SOA
Waldemir Cambiucci Maio de 2009
Prof. Me. Edson Angoti Jnior
5
Histrico do ambiente corporativo de TI
Vivemos assim o surgimento de uma TI mais dinmica, flexvel e hbrida, combinando servios locais, hospedados em mquinas e servidores locais, com servios remotos, hospedados em datacenters diversos Da mesma forma, o custo de operao dessa nova TI ser mais flexvel, entre custos prprios, de servios auto-hospedados e custos dinmicos, a partir de servios oferecidos pela internet e pagos por demanda, pelo volume de usoProf. Me. Edson Angoti Jnior
6
Arquitetura Arquitetura (IEEE Standart 1471-2000)Arquitetura a organizao fundamental de um sistema consubstanciado nos seus componentes, suas relaes entre cada um, e com o ambiente, e os princpios que norteiam a sua concepo e evoluo
Prof. Me. Edson Angoti Jnior
7
Arquitetura Web
Prof. Me. Edson Angoti Jnior
8
Arquitetura WebClienteHTTP HTTP
Servidor Web
Servidor BD
Servidor de AplicaoProf. Me. Edson Angoti Jnior
9
Tecnologias de Aplicaes WEB Servidor Web Apache IIS Tomcat Jboss ...
Prof. Me. Edson Angoti Jnior
10
Tecnologias de Aplicaes WEB Cliente Firefox Internet Explorer Chrome Safari Opera Konqueror ...
Prof. Me. Edson Angoti Jnior
11
Tecnologias de Aplicaes WEB Programao Lado Cliente HTML CSS Javascript/Ajax Flash Flex ActiveX Applets Java Silverlight
Prof. Me. Edson Angoti Jnior
12
Tecnologias de Aplicaes WEB Programao Lado Servidor CGI Extenses de servidor: NSAPI, ISAPI Server-side Javascript ASP/ASPX PHP ColdFusion Servlet/JSP ...
Prof. Me. Edson Angoti Jnior
13
Protocolo HTTP HyperText Transfer Protocol Protocolo do nvel de aplicao para sistemas de informao hipermdia e distribudos.
o protocolo universal da Web Browsers e outros programas podem usar HTTP Qualquer tipo de dado pode ser transportado por HTTP, no apenas HTML Documentao oficial http://www.w3.org/Protocols/ arquivo RFC2616
Prof. Me. Edson Angoti Jnior
14
Modelo requisio/resposta As aplicaes baseadas no protocolo HTTP (web application) seguem a arquitetura de aplicao cliente/servidor O lado do cliente e o lado do servidor trocam informaes atravs de mensagens, conhecidas como mensagens HTTP
Prof. Me. Edson Angoti Jnior
15
Modelo requisio/respostaCliente Web
Abre uma conexo com o servidor
Envia uma requisio HTTP: GET /index.html HTTP/1.1 ...
Retorna um resposta HTTP: HTTP/1.1 200 ok ...
Servidor WebProf. Me. Edson Angoti Jnior
16
Modelo requisio/resposta Seqncia de eventos O cliente (browser) abre uma conexo TCP com o servidor (web server / http server) O cliente envia uma requisio HTTP O servidor processa a requisio do cliente
O servidor retorna para o cliente uma resposta HTTP A conexo encerrada (se a requisio usar a verso 1.0 do HTTP)
Prof. Me. Edson Angoti Jnior
17
Mensagens HTTP A Requisio e a Resposta so mensagens HTTP Mensagens HTTP so compostas de: Linha inicial Zero ou mais campos de cabealho Linha vazia que indica o fim do cabealho Opcionalmente, contm um corpo de contedo
Prof. Me. Edson Angoti Jnior
18
Mensagens HTTP Requisio
Resposta
Prof. Me. Edson Angoti Jnior
19
Requisio HTTP (mtodo) GET Solicita ao servidor um determinado recurso, indicado pelo URI Este o mtodo usado pelo browser quando um URI (URL) digitado pelo usurio. Tambm usado quando o usurio clica em um link da pgina.
Prof. Me. Edson Angoti Jnior
20
Requisio HTTP (mtodo) GETGET
GET pode enviar dados atravs da URI (tamanho limitado pelo S.O.) atravs de uma string chamada query : = http://host:port/abs_path?query
Prof. Me. Edson Angoti Jnior
21
Requisio HTTP (mtodo) POST Similar ao GET, exceto que envia dados ao servidor atravs de um corpo de contedo como fluxo de bytesPOST
Prof. Me. Edson Angoti Jnior
22
Requisio HTTP (uri) URI Universal resource identifier (ver RFC 2396) String formatada que identifica um recurso por nome, localizao e outras caractersticas Identifica o recurso que dever processar a requisio Pode ser relativo (comeando com /) ou absoluto (comeando pelo protocolo) Pode referenciar arquivos estticos (.html, .jpg etc) ou dinmicos (scripts, executveis etc)
Prof. Me. Edson Angoti Jnior
23
Requisio HTTP (cabealhos) Permite enviar informaes relativas requisio e ao cliente para o servidor Formato
Prof. Me. Edson Angoti Jnior
24
Resposta HTTP Um vez que o servidor recebeu e processou a requisio, ele deve retornar uma resposta HTTP ao cliente Consiste de: Linha de status Zero ou mais campos de cabealho Linha vazia que indica o fim do cabealho Opcionalmente, contm um corpo de contedo
Prof. Me. Edson Angoti Jnior
25
Resposta HTTPHTTP/1.1 200 OK ETag: W/"305-1075490878000" Last-Modified: Fri, 30 Jan 2004 19:27:58 GMT Content-Type: text/html Content-Length: 305 Date: Fri, 30 Jan 2004 19:39:31 GMT Server: Apache-Coyote/1.1 Connection: close teste teste Prof. Me. Edson Angoti Jnior
26
Cdigos de status 1xx: Informacional Requisio recebida, continuando o processamento 2xx: Sucesso A requisio foi recebida com sucesso, entendida e aceita 3xx: Redirecionado 4xx: Erro do cliente A requesio contm erro de sintaxe ou no foi compreendida 5xx: Erro do servidor O servidor falhou em atender a uma requisio
Prof. Me. Edson Angoti Jnior
27
Cdigo de status mais comuns 200 400 401 404 500 505 : : : : : : OK Bad Request Unauthorized Not Found Internal Server Error HTTP Version not supported
Prof. Me. Edson Angoti Jnior
28
Ambiente de Desenvolvimento Servidor apache web server e a distribuio xampp Firefox Plugin fire bug para visualizar requisies respostas HTTP Plugin web developer
IDE eclipse helios + CDT + PDT
Prof. Me. Edson Angoti Jnior
29
Pasta raiz do apache web server
C:\xampp\htdocs\ppi\index.html
http://localhost/ppi/index.html
Prof. Me. Edson Angoti Jnior
30
Firefox
Prof. Me. Edson Angoti Jnior
31
SSempre criar projeto na pasta \xampp\htdocs
Prof. Me. Edson Angoti Jnior
32
IDE Eclipse
Prof. Me. Edson Angoti Jnior
33
Exerccio Publicar uma pgina no servidor web com o seguinte endereo: http://localhost/aula/teste.html
Prof. Me. Edson Angoti Jnior
34