Padrões de Projeto WEB e o MVC



Documentos relacionados
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Padrões de Interação com o Usuário

Curso - Padrões de Projeto Módulo 1: Introdução

MVC e Camadas - Fragmental Bliki

2 a Lista de Exercícios

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Java II. Sérgio Luiz Ruivace Cerqueira

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Análise e Projeto Orientados por Objetos

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Desenvolvendo Aplicações Web com NetBeans

Programação Orientada a Objetos. Padrões de Criação

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

Prototype, um Design Patterns de Criação

Padrões de projeto 1

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Documento de Arquitetura

Projeto: Simul-e Documento de Arquitetura de Software

Padrões. Projeto (Design) de Software

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Capítulo 04: Persistência com SQLite

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha

Desenvolvimento de Aplicações para Internet Aula 8

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

1Introdução Helder da Rocha

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

Projeto de Arquitetura

Java II. Sérgio Luiz Ruivace Cerqueira

Figura 01 Kernel de um Sistema Operacional

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Associação Carioca de Ensino Superior Centro Universitário Carioca

Padrões de Software (Software Patterns)

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

PROJETO PEDAGÓGICO DE CURSOS

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Padrões clássicos ou padrões GoF O livro "Design Patterns (1994) de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, descreve 23 padrões de

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

J550. Model View Controller

Relatório do GPES. Arquitetura Geral do Framework

Padrões de Projeto. Prof. Jefersson Alex dos Santos

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Padrões de Desenho (Design Patterns)

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

Documento de Projeto de Sistema

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Engenharia de Requisitos Estudo de Caso

Manual do Contribuidor. Portal de Internet. Projeto: Novo Portal de internet

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

Padrões de Projeto de Software Orientado a Objetos

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Padrão Arquitetura em Camadas

Arquitetura de uma Webapp

2 Geração Dinâmica de Conteúdo e Templates de Composição

Anexo I Formulário para Proposta

JSP: JAVA SERVER PAGES

Web Services. (Introdução)

Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

JSP: JAVA SERVER PAGES

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Projeto de Sistemas I

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Figura 1. A Classe Java

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Documento de Requisitos

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

II Semana de Tecnologia da Informação. Rails Framework

SISTEMA GERENCIADOR DE BANCO DE DADOS

Transcrição:

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele problema, de um modo tal que você pode usar esta solução milhões de vezes, sem nunca fazer a mesma coisa repetida" Christopher Alexander (Arquiteto e Urbanista)

Padrões de Projeto WEB e o MVC Padrões de Projeto São Conceitos (não tecnologias). Resolvem problemas específicos. Devem conter: Nome, Exemplo, Contexto, Problema e Solução.

Padrões de Projeto WEB e o MVC Padrões GoF Gang-of-Four (Gangue-dos-Quatro) Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides Organização dos Padrões Propósito Criação Estrutural Comportamental Escopo Classes Objetos

Padrões de Projeto WEB e o MVC Organização dos Padrões GoF

Padrões de Projeto WEB e o MVC Interação entre Padrões Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com

Padrões de Projeto WEB e o MVC O que é MVC? Aplicações Monolíticas Aplicações em duas camadas MVC (Model-View-Controller) Padrão de Arquitetura É um conceito Fácil manutenção Objetivos Frameworks

Padrões de Projeto WEB e o MVC Vantagens do MVC Reaproveitamento de código Facilidade de manutenção Integração de equipes e/ou divisão de tarefas Camada de Persistência independente Implementação de segurança Facilidade na alteração da interface da aplicação

Padrões de Projeto WEB e o MVC Camadas Model Bean DAO Actions View Controller

Padrões de Projeto WEB e o MVC Model Bean Entidade Segurança Encapsulamento Vantagens

Padrões de Projeto WEB e o MVC Model DAO Data Access Object Persistência Portabilidade Independência

Padrões de Projeto WEB e o MVC Model Action Regras do Negócio Integra Bean, DAO e Views

Padrões de Projeto WEB e o MVC View Ajax Templates Web - Standards

Padrões de Projeto WEB e o MVC Controller Segurança Controlar fluxo da aplicação Inicia e finaliza o fluxo

Padrões de Projeto WEB e o MVC Fluxo da aplicação MVC

JSP & Servlets Padrão MVC com JSP e Servlets

Por que este modelo não vingou?

Sistema e Requisitos Para que um sistema de informação alcance o objetivo para o qual foi desenvolvido deve satisfazer certos interesses específicos os requisitos sejam eles funcionais ou não funcionais

Tipos de Requisitos Interface Recuperação de Dados Regras de Negócio Orientação a Objeto Modelagem

O que ocorre se requisitos estiverem acoplados?

Requisitos Acoplados

Requisitos Acoplados Problemática Dificuldade de Manutenção Ex: Se o video queimar, tem que colocar tudo no conserto Difícil Evolução Interface Recuperação De Dados Regras de Negócios

Funcionalidades Acopladas Problemática Interface Recuperação De Dados Sistemas Regras de Negócios

Separação de Interesses (SoC) Melhor maneira de criar sistemas gerenciáveis Separação de interesses, Parnas (1972) Modularização Por quê? Ex: Não se pode assumir que uma lógica de negócios somente será acessada por uma única interface Requisitos sempre mudam

O que é um padrão de projeto?

O padrão Model-View-Controller Como os Requisitos sempre mudam é melhor que ocorra a separação da lógica de negócios da apresentação Lógica de Negócios Apresentação Nunca se deve assumir que uma lógica de negócios somente será acessada por uma aplicação web

O padrão Model-View-Controller Modelo Representa a lógica do negócio Aloja as entidades da aplicação Pode interagir com a base de dados Visão Responsável por exibir as informações ao usuário Controle Faz o meio de campo 12

O padrão Model-View-Controller JSP e Servlets SEM MVC Podemos considerar como o nosso primeiro exemplo de Servlet Tudo estava no Servlet

O padrão Model-View-Controller JSP e Servlets com MVC MVC retira a lógica de negócios e a interface de dentro dos servlets, e põe em 2 camadas, a Modelo, usando classes Java simples e a Visão, com JSPs, respectivamente Os servlets atuarão como a camada de Controle

MVC no mundo dos CONTROLLER (Controlador) Recupera a entrada do usuário a partir da requisição e o traduz para o modelo. Diz ao modelo para se atualizar e disponibiliza um novo estado para a visão VIEW (Visão) Responsável pela apresentação. Recupera o estado do modelo através do controle. Também obtém a entrada do usuário e repassa para o controle Servlets e JSPs MODEL (Modelo) Guarda a lógica e o estado do negócio. Conhece as regras para recuperar e alterar o estado. É a parte do sistema que interage com a base de dados