mvc na plataforma jee
TRANSCRIPT
MVCWillian Massami Watanabe
1
2
3
Hello.jsp
Arquitetura em camadas
Arquitetura em camadas
Por que?
Controles da requisição HTTP
Controles da requisição HTTPDetalhes de apresentação
Controles da requisição HTTPDetalhes de apresentação
Regra de negócios?
Persistência em Banco?
Controles da requisição HTTPDetalhes de apresentação
Regra de negócios?
Persistência em Banco?
Controles da requisição HTTPDetalhes de apresentaçãoRegra de negócios?Persistência em Banco?
Muitos conceitos implementados em um único arquivo
Controles da requisição HTTPDetalhes de apresentação
Regra de negócios?
Persistência em Banco?
Controles da requisição HTTP
Detalhes de apresentação
Regra de negócios
Persistência em Banco
15
• Estimula a organização do sistema em um conjunto de camadas coesas e fracamente acopladas
• Cada camada possui propósito bem definido
• A camada superior conhece apenas a camada imediatamente inferior
Arquitetura em camadas
16
• Vantagens
• Separação do código
• Permite a mudança de instância de uma camada
• Possibilita que uma camada trabalhe com diferentes versões de outra camada
• Desvantagem
• Aumenta o número de classes do sistema
Arquitetura em camadas
17
Arquitetura em camadas
Exemplos?
18
• Outros Exemplos
• Modelo OSI
AplicaçãoApresentação
SessãoTransporte
RedeEnlaceFísico
Arquitetura em camadas
19
AplicaçãoApresentação
SessãoTransporte
RedeEnlaceFísico
• Outros Exemplos
• Modelo OSI
Arquitetura em camadas
20
AplicaçãoApresentação
SessãoTransporte
RedeEnlaceFísico
Transporte
• Outros Exemplos
• Modelo OSI
Arquitetura em camadas
21
AplicaçãoApresentação
Sessão
RedeEnlaceFísico
Transporte• Outros Exemplos
• Modelo OSI
Arquitetura em camadas
22
AplicaçãoApresentação
Sessão
RedeEnlaceFísico
Transporte
Quem consegue dar mais exemplos dessa flexibilidade?
Arquitetura em camadas
23
AplicaçãoApresentação
Sessão
RedeEnlaceFísico
Transporte
Quem consegue dar mais exemplos dessa flexibilidade?
IPv4 --- IPv6 UDP --- TCP
CABOS ...
Arquitetura em camadas
MVC - Model View Controller
MVC - Model View Controller
• Model: representação da regra de negócios
• View: representação de detalhes de apresentação
• Controller: controle que responde a interações do usuário, executa o Model e define a View que será utilizada
Controller
ViewModel
Requisição HTTP
Consulta as regras de negócios
Envia resposta HTML, JSON,
XML
MVC - Model View Controller
Controller
ViewModel
Requisição HTTP
Consulta as regras de negócios
Envia resposta HTML, JSON,
XML
• Servlet • Processa a requisição HTTP • Chama o model • Decide qual view será
renderizada
• JavaBeans ou POJO • Regra de negócios • Persistência dos dados
• JSP • Renderiza HTML
Exemplo
Controller
Controller
Controles da requisição HTTP
Detalhes da servlet, HTTP, interage com o model e decide qual a view será renderizada
Model
Model
Regra de negócios
Persistência em Banco
Representação das regras de negócios
View
View
Detalhes de apresentação
Controller
View
Controller
View
Controller
View
Model