1
Arquitetura de Desenvolvimento WebMVC vs. Three Tiers
Prof. Alexandre Monteiro
Recife
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
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.
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“.
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.
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;
Comportamento do MVC
Comportamento do MVC
Comportamento do MVC
MVC vs. 3 Camadas
(MODEL)
(VIEW)
(CONTROLLER)
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
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)
Interações mais comuns
Ling. Web
HTML/JSP – Estrutura (Hyper Text Markup Language)
CSS – Apresentação (Cascade Style Sheet)
Javascript – Ações lado Cliente
Ling. Web - Regras de Negócio
Ling. Web – Regras de Negócio
SQL – Banco de Dados
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.
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)
Bottom-Up
(MODEL)
(VIEW)
(CONTROLLER)
Sandwiche
(MODEL)
(VIEW)
(CONTROLLER)
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.