arquiteturas*de*aplicações*web*leomurta/courses/2015.1/tpis2/aula4.pdf · regras*de*negócio* leo...
TRANSCRIPT
![Page 2: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/2.jpg)
Aplicações Convencionais vs. Web • Aplicações convencionais
– Escritas usando uma linguagem de programação (ex.: Java)
• Sites de conteúdo estáHco – Escritos usando uma linguagem de marcação (ex.: HTML)
• Aplicações Web – Escritas usando uma mistura de linguagem de marcação (ex.: HTML) com linguagem de programação (ex.: Java)
– Conteúdo dinâmico
Leo Murta Arquiteturas Web 2
![Page 3: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/3.jpg)
Estratégias para gerar conteúdo dinâmico
Leo Murta Arquiteturas Web 3
Marcação
Programação
![Page 4: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/4.jpg)
Exemplo de “marcação” na “programação” (Servlet)
Leo Murta Arquiteturas Web 4
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class AloMundo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); response.setContentType("text/html"); out.println("<HTML><BODY>"); out.println("<P>Servlet Alo Mundo...</P>"); for (int i = 0; i < 10; i++) { out.println(i + "<BR>"); } out.println("</BODY></HTML>"); } }
![Page 5: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/5.jpg)
Exemplo de “programação” na “marcação” (JSP)
Leo Murta Arquiteturas Web 5
<HTML> <BODY> <P>JSP Alo Mundo...</P> <% for (int i = 0; i < 10; i++) { %> <%= i %><BR> <% } %> </BODY> </HTML>
![Page 6: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/6.jpg)
Servlet x JSP • Servlet:
– Java é a linguagem principal – Indicado para implementar regras de negócio e manipulação de dados
• JSP: – HTML é a linguagem principal – Indicado para interface com o usuário
Leo Murta Arquiteturas Web 6
![Page 7: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/7.jpg)
Dificuldade • Conciliar os dois mundos
– Ferramentas disHntas (IDE vs. Editor) – Habilidades disHntas (Programador vs. Web Designer)
• IDE Java – Boa para escrever código Java – Ruim para escrever HTML
• Editor HTML – Bom para escrever HTML – Ruim para escrever código Java
Leo Murta Arquiteturas Web 7
![Page 8: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/8.jpg)
Necessidade • Organizar a forma de trabalho com essas tecnologias
• Especial relevância – para sistemas grandes e complexos – com equipes mul8disciplinares
Leo Murta Arquiteturas Web 8
![Page 9: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/9.jpg)
Aplicações Web • Grande variedade de Hpos de aplicação e domínios – Blog pessoal – Site de um curso – Ferramenta de busca – Rede social – Home-‐banking – E-‐commerce
• Grande variedade de requisitos não-‐funcionais – Desempenho – Escalabilidade – Robustez – Segurança – Disponibilidade – Portabilidade
Leo Murta Arquiteturas Web 9
![Page 10: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/10.jpg)
Arquiteturas Web
Leo Murta Arquiteturas Web 10
• Visam separação de responsabilidades entre os componentes da aplicação Web – Atendem os requisitos não-‐funcionais esperados pela aplicação
– A um custo do seu aumento de complexidade
• Qual a arquitetura que melhor resolve o problema no curto, médio e longo prazo? – Curto prazo: desenvolvimento – Médio prazo: produção – Longo prazo: manutenção
![Page 11: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/11.jpg)
Arquiteturas Web • As principais arquiteturas separam as responsabilidades em camadas
• Cada camada pode estar em uma ou mais máquinas diferentes
• O número de camadas (contado do lado servidor) varia em função da complexidade a ser lidada
Leo Murta Arquiteturas Web 11
![Page 12: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/12.jpg)
Arquiteturas Web • Sistemas cliente-‐servidor tradicionais têm somente 1 camada no lado servidor – Armazenamento
• Arquiteturas em 2 camadas têm separação das enHdades em – Apresentação – Armazenamento
• Arquiteturas em 3 camadas têm separação das enHdades em – Apresentação – Aplicação – Armazenamento
Leo Murta Arquiteturas Web 12
![Page 13: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/13.jpg)
Arquitetura em 1 camada
Leo Murta Arquiteturas Web 13
SGBD
Cliente Servidor
Armazenamento
![Page 14: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/14.jpg)
Arquitetura em 2 camadas
Leo Murta Arquiteturas Web 14
SGBD <html> ... </html>
Cliente Servidor
Apresentação Armazenamento
![Page 15: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/15.jpg)
Arquitetura em 3 camadas
Leo Murta Arquiteturas Web 15
SGBD
CompraProduto
Pedido
Especificacao
Item1..*1 1..*1
Produto0..*1 0..*1
10..*10..*
<html> ... </html>
Cliente Servidor
Apres. Aplicação Armaz.
![Page 16: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/16.jpg)
Regras de negócio
Leo Murta Arquiteturas Web 16
SGBD
Cliente Servidor
Armazenamento ?
Onde estão as REGRAS DE NEGÓCIO?
![Page 17: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/17.jpg)
Regras de negócio
Leo Murta Arquiteturas Web 17
SGBD <html> ... </html>
Cliente Servidor
Apresentação Armazenamento
Onde estão as REGRAS DE NEGÓCIO?
?
![Page 18: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/18.jpg)
Regras de negócio
Leo Murta Arquiteturas Web 18
SGBD
CompraProduto
Pedido
Especificacao
Item1..*1 1..*1
Produto0..*1 0..*1
10..*10..*
<html> ... </html>
Cliente Servidor
Apres. Aplicação Armaz.
REGRAS DE NEGÓCIO
![Page 19: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/19.jpg)
Por que Java?
Leo Murta Arquiteturas Web 19
Java Community Process (JCP) Especificações (JSR)
Implementações
Implementação de referência
Demais implementações
Teste de compaHbilidade
Ferramentas
IDEs Ferramentas de apoio
![Page 20: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/20.jpg)
Por que Java? (alguns membros do JCP)
Leo Murta Arquiteturas Web 20
Java
Apache Boeing
CA
Eclipse
Fujitsu
Hitachi
IBM
Intel
Motorola NEC Nokia
Novell
Oracle
RedHat
Samsung
SAP
Sony
Sun
Sybase
VMWare
![Page 21: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/21.jpg)
Arquiteturas Web em Java • Java permite a adoção de diferentes arquiteturas web
• Dentre as mais famosas estão – Model2 (mais simples) – Java EE (mais complexa)
Leo Murta Arquiteturas Web 21
![Page 22: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/22.jpg)
Arquitetura Model2 em Java
Leo Murta Arquiteturas Web 22
SGBD CompraProduto<html>
... </html>
Cliente
Servidores exemplo
Apresentação Aplicação Armazenamento
SGBD (dados)
Servlet (regras de negócio)
JDBC (acesso a dados)
JSP (página de resposta)
GlassFish Java DB
Browser (formularios +
Applet) Aplicação Java
![Page 23: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/23.jpg)
Arquitetura Model2 em Java (elementos fundamentais)
• JSP – Páginas HTML com código Java embuHdo
• Servlet – Classes Java que rodam em servidores
• JDBC – API de acesso a banco de dados em Java
Leo Murta Arquiteturas Web 23
![Page 24: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/24.jpg)
Arquitetura Model2 em Java (cenário jpico)
Leo Murta Arquiteturas Web 24
SGBD CompraProduto
<html> ... </html>
Cliente Servidor
Apresentação Aplicação Armazenamento
� � �
� �
�
Servlet
JDBC
JSP
![Page 25: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/25.jpg)
Arquitetura Model2 em Java (cenário jpico)
1. Cliente solicita um Servlet usualmente após o preenchimento de um formulário HTML
2. Servidor interpreta o Servlet na camada de aplicação
3. Se necessário, a camada de aplicação se comunica com a camada de armazenamento através de JDBC
4. Camada de aplicação redireciona o fluxo para a camada de apresentação
5. Servidor constrói uma página de resposta usando JSP
6. Servidor retorna a página de resposta. Leo Murta Arquiteturas Web 25
![Page 26: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/26.jpg)
Arquitetura Java EE
Leo Murta Arquiteturas Web 26
SGBD CompraProduto<html>
... </html>
Cliente
Apresentação Aplicação Armazenamento
SGBD (dados)
Browser (formularios +
Applet) Aplicação Java
JSF (interface dinâmica)
EJB (regras de negócio)
JPA (entidades)
Servidores exemplo
GlassFish Java DB
![Page 27: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/27.jpg)
Arquitetura Java EE (elementos fundamentais)
• JSF – Framework de apresentação que faz uso disciplinado de Servlet e JSP
• EJB – Componentes de negócio
• JPA – EnHdades persistentes
Leo Murta Arquiteturas Web 27
![Page 28: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/28.jpg)
Arquitetura Java EE (cenário jpico)
SGBD
CompraProduto
<html> ... </html>
SGBD
EJB
JSF
� �
� �
� �
Servlet
Pedido
Especificacao
Item1..*1 1..*1
Produto0..*1 0..*1
10..*10..*
JPA
Cliente Servidor Apresentação Aplicação Armazenamento
Leo Murta Arquiteturas Web 28
![Page 29: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/29.jpg)
Arquitetura Java EE (cenário jpico)
1. Cliente solicita um Servlet usualmente após o preenchimento de um formulário HTML
2. Servidor interpreta o Servlet e redireciona o fluxo para um EJB na camada de aplicação
3. Se necessário, a camada de aplicação faz uso de outros EJBs ou se comunica com a camada de armazenamento através de enHdades JPA
4. Camada de aplicação redireciona o fluxo para a camada de apresentação
5. Servidor constrói uma página de resposta usando JSF 6. Servidor retorna a página de resposta
Leo Murta Arquiteturas Web 29
![Page 30: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/30.jpg)
Containers • Infraestrutura capaz de oferecer serviços básicos para códigos Java – Segurança – Transação – Lookup e injeção de dependências e recursos – ConecHvidade remota – Gestão do ciclo de vida
Leo Murta Arquiteturas Web 30
![Page 31: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/31.jpg)
Containers
Fonte: livro Java EE 7 Tutorial
Leo Murta Arquiteturas Web 31
![Page 32: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/32.jpg)
Containers • Container Web
– Interface entre componentes web (Servlets, JSP ou JSF) e o servidor Java EE
• Container EJB – Interface entre componentes EJB e o servidor Java EE
• Container Cliente – Interface entre aplicações Java e o servidor Java EE
Leo Murta Arquiteturas Web 32
![Page 33: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/33.jpg)
Comunicação cliente-‐servidor
Leo Murta Arquiteturas Web 33
Cliente Servidor
Protocolo HTTP
![Page 34: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/34.jpg)
Protocolo HTTP • O protocolo HTTP fornece um mecanismo simples de requisição-‐resposta – Sem manutenção de estado – Independente do Hpo do conteúdo
• Partes de uma mensagem HTTP – Requisição (método + URL)/Resposta (código) – Cabeçalho (pares chave-‐valor) – Corpo da mensagem
Leo Murta Arquiteturas Web 34
![Page 35: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/35.jpg)
Protocolo HTTP
Fonte: livro Java EE 7: The Big Picture Leo Murta Arquiteturas Web 35
![Page 36: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/36.jpg)
Protocolo HTTP (Alguns métodos de requisição)
• GET – Consulta dados do servidor – Permite passagem de parâmetros, que aparecem na URL – Não deve alterar o estado do servidor
• POST – Insere dados no servidor, sem limite de tamanho – ÚHl para enviar dados sensíveis, pois não ficam visíveis na URL – Pode alterar o estado do servidor
• PUT – Atualiza dados no servidor
• DELETE – Remove dados do servidor
Leo Murta Arquiteturas Web 36
![Page 37: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/37.jpg)
Protocolo HTTP (Alguns códigos de resposta)
• 200 OK • 401 Not Authorized • 403 Forbidden • 404 Not Found • 408 Request Timeout • 429 Too Many Requests • 500 Internal Server Error • 503 Service Unavailable
Leo Murta Arquiteturas Web 37
![Page 38: Arquiteturas*de*Aplicações*Web*leomurta/courses/2015.1/tpis2/aula4.pdf · Regras*de*negócio* Leo Murta Arquiteturas Web 16 SGBD Cliente Servidor ? Armazenamento Onde estão as](https://reader034.vdocuments.pub/reader034/viewer/2022050117/5f4e46faa0e38d141950d950/html5/thumbnails/38.jpg)
Protocolo HTTP (URL)
• Uma URL é um conjunto de informações de idenHficação de recurso:
hxp://www.xpto.com:8080/pub/exemplo.jsp?p1=v1&p2=v2
Leo Murta Arquiteturas Web 38
protocolo domínio porta
caminho
parâmetros e argumentos
recurso