Buscar

14 - Criacao Camadas - MVC

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Programação Servidor de 
Sistemas Web
Criação de Camadas
MVC
DAO
Criação de CamadasCriação de Camadas
• A criação de camadas é uma das técnicas mais
comuns que os projetistas utilizam para dividir em
partes um sistema complexo.
• Um exemplo são aplicações e camadas de rede
existentes no modelo TCP-IP.
– FTP é uma aplicação programa que executa sobre– FTP é uma aplicação programa que executa sobre
TCP
– TCP é uma camada de rede referente ao controle do
transporte dos dados
– IP é a camada responsável pelo endereçamento
junto sobre o Ethernet.
IPIP
FTPFTP
TCP
Ethernet
httphttp
Criação de CamadasCriação de Camadas
• No exemplo do FTP observamos que a camada
superior utiliza serviços da camada mais baixa ou
adjacente.
• A camada mais baixa ignora a existência da
camada mais alta.camada mais alta.
• Ao invés de FTP, poderíamos ter uma aplicação
como Correio, HTTP, etc, utilizando a camada
TCP, sendo transparente para o IP quem está
manuseando os pacotes de dados.
IPIP
FTPFTP
TCP
Ethernet
httphttp
Criação de CamadasCriação de Camadas
• Cada camada normalmente esconde suas
camadas mais baixas das camadas acima.
• Benefícios:
– Pode-se compreender bem uma única camada sem
saber muito sobre as outras camadas. Você podesaber muito sobre as outras camadas. Você pode
construir uma aplicativo do tipo FTP sem conhecer
em detalhes como funciona o protocolo Ethernet
– Você pode substituir uma camada por
implementações alternativas. FTP pode executar
sobre TokenRing, PPP, etc.
– Minimiza a dependências entre as camadas.
Criação de CamadasCriação de Camadas
• Num sistema aplicativo, as três camadas principais
são:
– Apresentação (view): trata da interação do usuário
com o software. A responsabilidade principal está
em exibir informações ao usuário e capturar/traduzir
ações do usuário, levando-as às camadas maisações do usuário, levando-as às camadas mais
internas do software.
– Por exemplo, uma apresentação (view) poderá ser
uma interface onde os usuários se logam em uma
aplicação.
Criação de CamadasCriação de Camadas
– Camada de Controle (controller) : responde as
ordens executadas pelo usuário, atuando sobre os
dados apresentados pelo modelo, decidindo qual
modelo será alterado ou deverá ser revisto e qual a
apresentação deverá ser exibida.apresentação deverá ser exibida.
– Por exemplo, o controlador recebe um pedido para
exibir uma lista de clientes, interage com o modelo e
entrega uma apresentação onde a lista poderá ser
exibida.
Criação de CamadasCriação de Camadas
– Camada de Dados (model): representa os dados do
programa. Maneja os dados e controla suas
transformações. Não tem conhecimento específico
dos controladores (controller) e nem das
apresentações (views). São classes que trabalhamapresentações (views). São classes que trabalham
no armazenamento e busca de dados.
– Por exemplo, um cliente pode ser modelado em uma
aplicação, e pode haver vários modos de criar novos
clientes ou mudar informações de um dado cliente.
Modelo MVCModelo MVC
• É comum vermos ainda aplicações Web serem
construídas com código HTML e código servidor tudo
junto na mesma página.
• Junta-se código de programação com processamento
de resultados e geração de saída para o usuário tudode resultados e geração de saída para o usuário tudo
em um só local.
• O modelo MVC foi incorporado ao desenvolvimento
para evitar essa “mistura” de códigos.
Modelo MVCModelo MVC
• O modelo MVC é uma forma de desenvolvimento que
ajuda na manutenção do sistema.
• É um padrão muito aceito no desenvolvimento de
aplicações Java, principalmente, para aplicações
padrão Web.padrão Web.
• A separação lógica assegura que a camada Modelo
não sabe nada praticamente do que é exibido; controla
a lógica de negócio.
Modelo MVCModelo MVC
• A camada Apresentação só está relacionada a exibir os
dados. Não implementa lógica de negócios.
• O controlador, como gerenciador do tráfego, dirige as
recuperações de dados, mudanças dos dados e
apresentações a serem exibidas.
Modelo MVCModelo MVC
• Aplicabilidade, uso o modelo para:
– Para aplicações distribuídas;
– Aplicações de médio e grande porte;
– Portabilidade entre interface e camadas mais internas;
– Para melhorar a manutenção;
– Desenvolvimento modular para equipes com vários– Desenvolvimento modular para equipes com vários
desenvolvedores;
– Facilitar a divisão de trabalho por skill da equipe;
– Facilitar testes unitários;
– Reuso.
MVC Modelo 1MVC Modelo 1
• A primeira arquitetura deste modelo é conhecida como
Model 1 (ou modelo 1).
• É uma arquitetura muito comum no desenvolvimento de
aplicações Web e é denomida page-centric.
• Em Java, consiste na construção de uma aplicação• Em Java, consiste na construção de uma aplicação
com o um conjunto de páginas JSP.
• Este modelo é indicado para uma aplicação pequena,
com limitado número de usuários e contenha pouca
lógica de negócio.
MVC Modelo 1 MVC Modelo 1 -- ArquiteturaArquitetura
b
ro
w
se
r
Páginas 
JSP
JavaBeanJavaBean
dados
1
2
3
4
container jsp/servlet
Tomcat
JavaBean
1. Usuário solicita uma página
2. O container executa a lógica sobre a página requisitada
3. A lógica pode envolver uma consulta ou atualização de dados
4. Como resultado do processo o HTML de resposta é construído e
retornado ao usuário.
MVC Modelo 2MVC Modelo 2
• Esta arquitetura se aplica a uma aplicação mais
complexa, com lógica de negócio mais detalhada e
lógica de exibição significantemente grande.
• Em Java, a aplicação do modelo 2 para uso de uma
arquitetura mais sofisticada usa-se Servlets e JSPs.arquitetura mais sofisticada usa-se Servlets e JSPs.
• Nesse modelo a Servlet aparece como controlador,
recebendo pedidos do usuário, atuando sobre o modelo
e selecionando a apresentação ao usuário.
• Utiliza-se JSP apenas com a lógica necessária para
exibir os dados ao usuário.
MVC Modelo 2 MVC Modelo 2 -- ArquiteturaArquitetura
b
ro
w
se
r
Servlet
(controller)
dados
1
Pedido
consulta
2
instancia
3redireciona
b
ro
w
se
r
container jsp/servlet
Tomcat
JavaBeanJavaBean
(model)JSP
(view)5
resposta
4
acessa
A figura apresenta um modelo simplificado.
MVC Modelo 2MVC Modelo 2
1. O usuário envia solicitação (request) a uma URL que será
atendida pela Servlet (action).
2. A camada controlador , representada pela Servlet,
determina o trabalho a ser realizada e executa chamadas
ao modelo para processar a lógica requerida.
3. A camada modelo, representada pelo JavaBean, pode
acessar a camada de persistência, como um banco deacessar a camada de persistência, como um banco de
dados.
4. Para a camada controlador, um objeto ou uma lista de
objetos é criada. A apresentação (view) é selecionada e
para esta ocorre o redirecionamento apontando o objeto ou
lista criados.
5. A camada apresentação que tem uma referência para os
dados do modelo prepara a exibição em HTML a ser
retornado ao usuário.
O Padrão DAOO Padrão DAO
• O Data Access Object (DAO) é o padrão mais utilizado
para o acesso a dados contidos no banco de dados.
• Sempre que precisar acessar a dados em banco de
dados onde são mantidos os modelos de objetos édados onde são mantidos os modelos de objetos é
melhor empregar o padrão DAO.
• O padrão DAO fornece uma interface independente, no
qual você pode usar para persistir objetos.
O Padrão DAOO Padrão DAO
• A idéia é colocar as funcionalidades associadas a
acesso a dados num só local, facilitando a
manutenção.
• Tipicamente o DAO inclui métodos para inserir,
selecionar, atualizar e excluir objetos de um banco de
dados.dados.
• O modelo DAO pode ser aplicado onde para cada
classe de objeto você tem um classe DAO respectiva
ou utilizar apenas um DAO que é responsável por
todos os objetos.
MVC Modelo 2 MVC Modelo 2 -- ArquiteturaArquitetura
b
ro
w
se
r
Servlet
(controller)
dados
1
Pedido
consulta
4instancia6redireciona
5
usa
Acesso 
a dados
instancia
2
3b
ro
w
se
r
container jsp/servlet
Tomcat
JavaBeanJavaBean
(model)JSP(view)7
resposta
A figuraapresenta o modelo simplificado com a
adição da camada de acesso a dados.

Outros materiais