1 arquitetura de desenvolvimento web mvc vs. three tiers prof. alexandre monteiro recife

24
1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Upload: internet

Post on 22-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

1

Arquitetura de Desenvolvimento WebMVC vs. Three Tiers

Prof. Alexandre Monteiro

Recife

Page 2: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Contatos

Prof. Guilherme Alexandre Monteiro Reinaldo

Apelido: Alexandre Cordel

E-mail/gtalk: [email protected]

[email protected]

Site: http://www.alexandrecordel.com.br/fbv

Celular: (81) 9801-1878

Page 3: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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.

Page 4: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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“.

Page 5: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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.

Page 6: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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;

Page 7: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Comportamento do MVC

Page 8: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Comportamento do MVC

Page 9: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Comportamento do MVC

Page 10: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

MVC vs. 3 Camadas

(MODEL)

(VIEW)

(CONTROLLER)

Page 11: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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

Page 12: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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)

Page 13: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Interações mais comuns

Ling. Web

Page 14: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

HTML/JSP – Estrutura (Hyper Text Markup Language)

Page 15: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

CSS – Apresentação (Cascade Style Sheet)

Page 16: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Javascript – Ações lado Cliente

Page 17: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Ling. Web - Regras de Negócio

Page 18: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Ling. Web – Regras de Negócio

Page 19: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

SQL – Banco de Dados

Page 20: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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.

Page 21: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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)

Page 22: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Bottom-Up

(MODEL)

(VIEW)

(CONTROLLER)

Page 23: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

Sandwiche

(MODEL)

(VIEW)

(CONTROLLER)

Page 24: 1 Arquitetura de Desenvolvimento Web MVC vs. Three Tiers Prof. Alexandre Monteiro Recife

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.