Baixe o app para aproveitar ainda mais
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.
Compartilhar