Arquitetura de aplicações web. Web Servers. Protocolo HTTP

download Arquitetura de aplicações web. Web Servers. Protocolo HTTP

of 34

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