240 likes | 404 Views
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers. Prof. Alexandre Monteiro Recife. Contatos. Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/ gtalk : alexandrecordel@gmail.com greinaldo@fbv.edu.br Site: http://www.alexandrecordel.com.br/fbv
E N D
Arquitetura de Desenvolvimento WebMVC vs. Three Tiers Prof. Alexandre Monteiro Recife
Contatos • Prof. Guilherme Alexandre Monteiro Reinaldo • Apelido: Alexandre Cordel • E-mail/gtalk: alexandrecordel@gmail.com greinaldo@fbv.edu.br • 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;
MVC vs. 3 Camadas (VIEW) (CONTROLLER) (MODEL)
Fluxo de Sistemas WEB Procura informação no BD Servidor procura arquivo index Servidor Web Retorna informação do BD Servidor de Banco de Dados A página é executada para se converter em código HTML, que é entendido pelo Browser Digita-se o endereço da página www.google.com.br no browser A página é devolvida para o Usuário Cliente 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
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 Browser Evolução dos Dados Linguagens JSP (DADOS) (VIEW) MODEL (Objeto) JAVA (CONTROLLER) MODEL (Objeto) JAVA (MODEL) Mapeamento Objeto-Relacional HQL HIBERNATE TABELA (Registro) SQL
Bottom-Up (VIEW) (CONTROLLER) (MODEL)
Sandwiche (VIEW) (CONTROLLER) (MODEL)
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.