1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.
Transcript of 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.
![Page 1: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/1.jpg)
1
Arquitetura de Desenvolvimento WebMVC vs. Three Tiers
Prof. Alexandre Monteiro
Recife
![Page 2: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/2.jpg)
Contatos
Prof. Guilherme Alexandre Monteiro Reinaldo
Apelido: Alexandre Cordel
E-mail/gtalk: [email protected]
Site: http://www.alexandrecordel.com.br/fbv
Celular: (81) 9801-1878
![Page 3: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/3.jpg)
Origem do MVC
O MVC surgiu em meados de 1979 para um projeto em Smalltalk;
Ficou popular na década de 90, pelo aumento do uso por desenvolvedores;
Com o surgimento dos padrões/arquitetura em camadas.
Seu principal objetivo é separar as camadas de desenvolvimento, ficando assim mais simples e rápido de resolver problemas e efetuar ajustes.
![Page 4: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/4.jpg)
Introdução ao MVC
É um modelo padrão de arquitetura usado em engenharia de software para separar o projeto 3 camadas:• Model: representam suas entidades e as que te ajudam a
armazenar e buscar os dados são chamadas de Modelo (Model).
• View: interface visual gráfica (GUI), ou páginas web de apresentação ao usuário, normalmente página HTML com <forms>, constando informações da aplicação.
• Controller: interpreta eventos e manipula os dados (Objetos) como listar, procurar, alterar, inserir e deletar dados;
“O Modelo é o objeto de aplicação que é manipulado, a Visão é a apresentação ao usuário através das telas e o Controlador é o que define a maneira como a interface do usuário reage às entradas do mesmo”.
Fonte: livro “Padrões de projeto: Soluções reutilizáveis de software orientado a objetos“.
![Page 5: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/5.jpg)
Introdução ao MVC
MVC é implementado em várias linguagens de programação e altamente difundida, permitindo equipes distintas (programadores e designers) trabalharem sem interferência no trabalho uns dos outros;
Deixa o código mais legível e possibilita que cada equipe foque exclusivamente nas suas atribuições.
Duas palavras-chave em MVC são: Reuso e Flexibilidade.
![Page 6: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/6.jpg)
Vantagens do MVC
Abaixo serão listadas algumas das vantagens em utilizar MVC em seus projetos:
•Facilita o reaproveitamento de código;
•Facilidade na manutenção e adição de recursos;
•Maior integração da equipe e/ou divisão de tarefas;
•Diversas tecnologias estão adotando essa arquitetura;
•Facilidade em manter o seu código sempre limpo;
![Page 7: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/7.jpg)
Comportamento do MVC
![Page 8: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/8.jpg)
Comportamento do MVC
![Page 9: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/9.jpg)
Comportamento do MVC
![Page 10: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/10.jpg)
MVC vs. 3 Camadas
(MODEL)
(VIEW)
(CONTROLLER)
![Page 11: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/11.jpg)
Fluxo de Sistemas WEB
Servidor Web
Cliente
Digita-se o endereço da página www.google.com.br no browser
Servidor procura arquivo index
Servidor de
Banco de Dados
Procura informação no BD
Retorna informação do BD
A página é executada para se converter em código HTML, que é entendido pelo Browser
A página é devolvida para o Usuário
Usuário visualiza a Página
www.google.com.br
![Page 12: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/12.jpg)
Com que vamos trabalhar?
HTML - (estruturação/layout)
CSS - (apresentação/visual)
Javascript - (ações do lado cliente)
Linguagem Web JSP (Java Service Page) - (ações do lado servidor)
Linguagem de Desenvolvimento JAVA - (Regras de Negócio)
HQL + SQL - (Linguagem de Banco de Dados)
![Page 13: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/13.jpg)
Interações mais comuns
Ling. Web
![Page 14: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/14.jpg)
HTML/JSP – Estrutura (Hyper Text Markup Language)
![Page 15: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/15.jpg)
CSS – Apresentação (Cascade Style Sheet)
![Page 16: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/16.jpg)
Javascript – Ações lado Cliente
![Page 17: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/17.jpg)
Ling. Web - Regras de Negócio
![Page 18: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/18.jpg)
Ling. Web – Regras de Negócio
![Page 19: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/19.jpg)
SQL – Banco de Dados
![Page 20: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/20.jpg)
Abordagens de Desenvolvimento Top-Down: Implementação inicia-se pela camada de
Apresentação/VIEW até à camada de Persistência/MODEL.
Bottom-up: Implementação inicia-se pela camada de Persistência/MODEL até à camada de Apresentação/VIEW.
Sandwiche: Misto das anteriores.
![Page 21: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/21.jpg)
Top-Down
(DADOS) (VIEW)
(CONTROLLER)
MODEL(Objet
o)
Browser
JSP
JAVA
JAVA
SQL
HIBERNATE HQL
Linguagens
MODEL(Objet
o)
TABELA(Registr
o)
Mapeamento Objeto-
Relacional
Evolução dos Dados
(MODEL)
![Page 22: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/22.jpg)
Bottom-Up
(MODEL)
(VIEW)
(CONTROLLER)
![Page 23: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/23.jpg)
Sandwiche
(MODEL)
(VIEW)
(CONTROLLER)
![Page 24: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife.](https://reader036.fdocument.pub/reader036/viewer/2022062418/552fc160497959413d8e949d/html5/thumbnails/24.jpg)
Qual abordagem adotaremos?
Depende:
•Individualmente: Bottom-Up;
•Em equipe: Sandwiche; Atenção: é bastante indicado iniciar qualquer projeto, seja
ele web ou desktop, pela camada de persistência/MODEL.
Dessa forma, iniciaremos nosso curso com a modelagem e criação do Banco de Dados.