tópico 4 prof msc vitor mesaque alves de lima 1. introdução padrão arquitetural em 3 camadas mvc...

55
Arquitetura de Software e Linguagens para desenvolvimento na Web Atual Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1

Upload: internet

Post on 18-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Arquitetura de Software e Linguagens para

desenvolvimento na Web Atual

Tópico 4

Prof MSc Vitor Mesaque Alves de Lima

1

Page 2: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web

◦ Scripts Client-Side◦ Scripts Server-Side◦ Processamento no Servidor◦ Ajax

Conclusões

Programação para Web 2

Tópicos

Page 3: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Crescimento exponencial do desenvolvimento de aplicações Web◦ Internet: divulgação com baixo custo de produtos

e serviços◦ aumento da capacidade de tráfego nas redes◦ aumento na capacidade de armazenamento e

processamento

Surgimento de novas tecnologias para o desenvolvimento de WebApps:◦ robustas e com maior interação

Programação para Web 3

Introdução

Page 4: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Tecnologias baseadas em padrões arquiteturais e padrões Web:◦ MVC (Model-View-Controller)◦ Arquitetura em 3 camadas

◦ facilitam a manutenção e a evolução das WebApps

◦ menor acoplamento entre os módulos: interface gráfica e dados da aplicação

Exemplo de tecnologias: JSP, Ruby, Python e PHP

Programação para Web 4

Introdução

Page 5: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

WebApps possuem um amplo conjunto de conceitos e terminologias associadas◦ características de aplicações hipermídia

Não exigem a instalação para a sua execução: somente um navegador Web

Vários padrões arquiteturais existentes na literatura, porém os mais utilizados:◦ MVC◦ Arquitetura em 3 camadas

Programação para Web 5

Padrões Arquiteturais e Web

Page 6: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

“Um Padrão descreve um problema que ocorre repetidas vezes em nosso meio e inclui uma solução genérica para o mesmo, de tal maneira que se pode utilizá-la mais de um milhão de vezes, sem nunca fazê-lo de forma idêntica.”

[Cristopher Alexander, 1979]

Programação para Web 6

Padrão

Page 7: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Padrões Arquiteturais: expressam um esquema de organização estrutural fundamental para sistemas de software. (BUSCHMANN et al., 1996)

Padrões de Projeto: disponibilizam um esquema para refinamento de subsistemas ou componentes de um sistema de software (GAMMA et al., 1995)

Idiomas: descreve como implementar aspectos particulares de componentes ou de relacionamentos entre eles, usando as características de uma dada linguagem de programação

7

Categorias de Padrões em Engenharia de Software

Page 8: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Padrão Arquitetural em

3 Camadas

Programação para Web 8

Page 9: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Uma arquitetura em camadas é organizada hierarquicamente, onde as camadas mais internas provêem serviços às camadas mais externas

Padrão Arquitetural em Camadas

9Programação para Web

CoreLevel

Base Utility

Useful SystemsAgregados de Elementos Menores

Users

Page 10: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Componentes◦ Camadas

Conectores◦ protocolos que determinam como as Camadas

interagem Regras

◦ limites de interação às Camadas adjacentes

◦ Exemplos: protocolos de comunicação em camadas (OSI), alguns sistemas operacionais, arquitetura em 3 Camadas para sistemas de informação comerciais (Interface, Negócio, Persistência)

Padrão Arquitetural em Camadas

10Programação para Web

Page 11: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

É um tipo de arquitetura cliente/servidor:◦ interface com o usuário, lógica de processo, e

armazenamento de dados são desenvolvidos e mantidos em módulos independentes

Mais conhecida: 3 Camadas◦ Forma como é concebida permite que cada

módulo seja atualizado ou replicado de maneira independente com relação aos requisitos de tecnologias

Programação para Web 11

Padrão Arquitetural em Camadas

Page 12: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Componentes:◦ Camada de Apresentação: interface gráfica

permitindo a interação com o usuários por meio dos serviços disponíveis

◦ Camada Lógica: contém toda a lógica do negócio, bem como a lógica de transações

◦ Camada de Dados: contém os dados que são manipulados pela aplicação, bem como o acesso, atualização e persistência destes

Programação para Web 12

Padrão Arquitetural em 3 Camadas

Page 13: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 13

Padrão Arquitetural em 3 Camadas

Page 14: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 14

Padrão Arquitetural em 3 Camadas

Camada de Dados

Camada do Negocio

Camada de apresentação

Page 15: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Vantagens:◦ Suporte à Evolução dos Sistemas◦ Flexibilidade e boa Manutenibilidade

Desvantagens:◦ Problemas de Desempenho e Comunicação◦ Complexidade na Implementação do Sistema

Programação para Web 15

Padrão Arquitetural em 3 Camadas

Page 16: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Padrão Arquitetural Model-View-

Controller

Programação para Web 16

Page 17: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Com o aumento da complexidade das aplicações desenvolvidas torna-se fundamental a separação entre os dados (Model) e o layout (View)

Alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout

Programação para Web 17

Padrão Arquitetural MVC

Page 18: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O MVC resolve este problema através da separação das tarefas de acesso aosdados e lógica de negócio, lógica de apresentação e de interação

com o usuário, introduzindo um componente entre os

dois: o Controller

MVC = Model-view-controller

Programação para Web 18

Padrão Arquitetural MVC

Page 19: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

MVC é um padrão de arquitetura de software

MVC é usado em padrões de projeto de software, mas MVC abrange mais da arquitetura de uma aplicação do que é típico para um padrão de projeto.

Programação para Web 19

Padrão Arquitetural MVC

Page 20: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Objetivo:◦ desacoplar a interface gráfica da navegação e do

comportamento da aplicação manutenção mais simples maior reutilização

◦ Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control)

◦ A idéia é permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces

Programação para Web 20

Padrão Arquitetural MVC

Page 21: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Componentes:

◦ Modelo: conteúdo da aplicação (objetos persistentes)

◦ Visão: funções de interface gráfica

◦ Controlador: coordena o fluxo do de dados entre o modelo e a visão

Programação para Web 21

Padrão Arquitetural MVC

Page 22: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Comportamento do MVC:◦ a Visão envia eventos para o Controlador◦ o controlador modifica o estado do Modelo◦ o Modelo notifica a Visão◦ Visão busca os dados no Modelo

Existem algumas variações do padrão MVC na literatura como é o caso do Modelo 2 da Sun

Programação para Web 22

Padrão Arquitetural MVC

Page 23: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 23

Padrão Arquitetural MVC

(Sun, 2007 - tradução)

Page 24: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 24

Padrão Arquitetural MVC

Page 25: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O Modelo pode ser formado por entidades que armazenam os dados que são apresentados pela Visão

A Visão pode ser uma interface gráfica

O Controlador pode ser uma ou mais classes que possuem métodos que permitem que o Modelo seja atualizado a partir de eventos disparados pela Visão

Programação para Web 25

Padrão Arquitetural MVC

Page 26: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 26

Padrão Arquitetural MVC

Page 27: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Frameworks MVC◦ ASP

ASP Xtreme Evolution; Toika; AJAXED; e outros◦ .Net

Microsoft MVC Framework◦ Java

Apache Struts; Mentawai; WebWork;Neo Framework; Spring MVC; JSF; e outros

◦ PHP CakePHP; CodeIgniter; Symfony; Zend Framework; e

outros

Programação para Web 27

Padrão Arquitetural MVC

Page 28: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Padrão Arquitetural Model-View-Presenter

Programação para Web 28

Page 29: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Padrão Arquitetural Model-View-Presenter◦ Utilizado para separar a lógica da apresentação

da apresentação propriamente dita

◦ A idéia do MVP é que toda a lógica que normalmente iria ligar a interface de usuário com os dados seja movida para uma classe separada

◦ Isso significa que a interface de usuário se torna bastante “fina”. Não há processamento embutido

Padrão Arquitetural MVP

Page 30: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Padrão Arquitetural MVP

Page 31: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O componente Model corresponde aos objetos que contêm a lógica do negócio

Esse componente não conhece a apresentação◦ Aspectos positivos: facilita o reuso da lógica do

negócio em diferentes contextos (ambientes)◦ Web, Smart Client, Mobile, WEB Services

Idealmente esse componente, deve expor interfaces de forma abstrata, em vez de concreta

Padrão Arquitetural MVP

Page 32: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O componente View é uma estrutura composta de controles de interface com o usuário◦ Esse componente não contém qualquer

comportamento que descreve como os controles reagem à eventos de sistema (i.e., a ações do usuário)

◦ A reação às ações do usuário é posicionada em um objeto separado, o componente Presenter

Os manipuladores para as ações do usuário ainda existem nos controles da IU, mas eles meramente passam (delegam) o processamento para o Presenter

Padrão Arquitetural MVP

Page 33: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O Presenter então decide como reagir ao evento notificado pelo componente View

Normalmente, essa reação corresponde ao envio de mensagens aos objetos componente Model◦ Composto de classes do domínio e de classes de

serviço

Conforme o presenter atualiza o modelo, o componente view é atualizado

Padrão Arquitetural MVP

Page 34: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 34

Padrão Arquitetural MVP

Page 35: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 35

Padrão Arquitetural MVP

Page 36: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Adapter:◦ Quando a lógica de IU é complexa, uma

alternativa é criar adaptatores◦ Adaptadores são objetos intermediários entre o

view e o presenter◦ Servem para ajudar o presenter na execução da

lógica da apresentação

Padrão Arquitetural MVP

Page 37: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Adapter

Programação para Web 37

Padrão Arquitetural MVP

DomínioApresentação

ModelView Presenter

NotificaçõesA

dapte

r

Page 38: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Resumo da arquitetura MVP:◦ View: exibe os dados e notifica eventos de

sistema para o Presenter◦ Presenter: coordena a comunicação entre o view

e a camada de serviços (ou camada de negócio) e é responsável pela lógica de IU

◦ Model: os dados que devem ser exibidos ou editados na tela

Padrão Arquitetural MVP

Page 39: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Aspectos Positivos◦ Facilita a modificação da IU por designers gráficos◦ Facilita o uso de TDD (Test Driven Design)◦ Separa adequadamente os aspectos da lógica da

aplicação

Aspectos Negativos◦ Requer uma mudança na forma de pensar do

desenvolvedor◦ Código é mais abstrato do que no estilo “Forms &

Controls” de programação visual◦ Mais código para implementar◦ Curva de aprendizado é acentuada

Padrão Arquitetural MVP

Page 40: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Comparações

Programação para Web 40

Page 41: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

MVC é triangular:◦ Existe uma interação direta entre os seus 3

componentes: Visão interage com Controlador por eventos; Controlador interage com o Modelo e o atualiza; Modelo notifica a Visão por meio do Controlador; Visão busca os dados no Modelo.

Existem variações do MVC, como o Modelo 2 da Sun, que o torna linear◦ Visão e Modelo não se comunicam

Programação para Web 41

MVC x Arquitetura em Camadas

Page 42: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

A arquitetura em 3 camadas é linear:◦ não existe uma interação entre a camada de

apresentação e a de Dados◦ o fluxo de dados sempre passa pela camada

lógica pode tornar a aplicação “pesada”

◦ Camadas dizem como agrupar os componentes◦ O MVC diz como os componentes da aplicação

interagem

Programação para Web 42

MVC x Arquitetura em 3 Camadas

Page 43: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O MVP é uma variante do padrão MVC Qual a diferença?

◦ No MVC, o View “conversa” (no sentido de poder enviar mensagens) com o Model

◦ No MVP, o View pode conhecer o Model, mas não envia mensagens para ele

MVP x MVC

Page 44: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 44

MVP x MVC

ViewControll

er

Model

ViewPresente

r

Model

MVC MVP

Page 45: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Linguagens Web

Programação para Web 45

Page 46: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Scripts Client-Side◦ São responsáveis pelas ações executadas no

browser, sem contato com o servidor. Os exemplos mais comuns são imagens e textos que mudam com o passar do mouse

Scripts Server-Side◦ Todo o processamento é realizado no servidor◦ Cliente recebe apenas o resultado-> HTML

Programação para Web 46

Linguagem para WEB

Page 47: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O navegador é responsável pelo tratamento do script◦ JavaScript e VBScript

Utilizado para diminuir o processamento do servidor◦ Imagens animadas, menus dinâmicos, etc◦ Validação de campos de formulário

Programação para Web 47

Scripts Client-Side

Page 48: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

O processamento é feito pelo servidor◦ CGI, PHP, ASP, JSP

O cliente (navegador) recebe o resultado do processamento◦ Aplicações que exigem maior segurança◦ Banco de dados

Programação para Web 48

Scripts Server-Side

Page 49: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Além das arquiteturas e padrões Web, existe ainda os servidores Web◦ que permitem o processamento dos dados

enviados pelo cliente, no caso um navegador Web Estes servidores possuem algumas

características como:◦ autenticação, autorização e controle de acesso,

direcionamento de chamadas e filtragem da entrada e saída

Programação para Web 49

Processamento em Servidores Web

Page 50: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Entre os mais conhecidos servidores estão o Apache HTTP Server, o IBM HTTP Server◦ O Apache é o mais amplamente utilizado por:

não ser um software proprietário estabilidade já alcançada

O Apache permite a instalação de módulos individuais que dão suporte à algumas tecnologias como JSP, ASP e PHP

Programação para Web 50

Processamento em Servidores Web

Page 51: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Os servidores Web funcionam de maneira geral da seguinte forma:◦ recebem uma requisição HTTP do cliente◦ identificam o recurso desejado◦ localizam tal recurso e verificam sua

disponibilidade◦ enviam ao cliente se disponível, senão geram um

erro e apresentam ao cliente

Programação para Web 51

Processamento em Servidores Web

Page 52: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Programação para Web 52

Processamento em Servidores Web

Recuperação e entrega

Requisição

ComputadorCliente

ComputadorServidor

Internet

Software Navegador

Software Servidor

Processamento Server-side

Bando de Dados

Page 53: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Conclusões e Referências

Programação para Web 53

Page 54: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

MVC e arquitetura 3 camadas consolidadas no desenvolvimento de aplicações Web

Tecnologias permitem o desenvolvimento de aplicações com maior interatividade e disponibilização de produtos e serviços

Programação para Web 54

Conclusões

Page 55: Tópico 4 Prof MSc Vitor Mesaque Alves de Lima 1. Introdução Padrão Arquitetural em 3 Camadas MVC MVP Comparações Linguagens Web Scripts Client-Side Scripts

Buschmann, F.; Meunier, R.; Rohnert, H.; Sommerlad, P.; Stal, M. Pattern-oriented software architecture: a system of patterns. New York, NY, USA: John Wiley & Sons, Inc., 1996

Pressman, R. S. Software engineering: A practitioner’s approach. McGraw-Hill Higher Education, 2006

Fragmental - http://fragmental.com.br/wiki/index.php?title=MVC_e_Camadas

Sun Java SE Application Design with MVC. 2007. Disponível em http://java.sun.com/developer/technicalArticles/javase/mvc/index.html

Tutorial da Sun: “J2EE 1.4 Tutorial”. Disponível em http://java.sun.com/j2ee/1.4/docs/tutorial/doc/J2EETutorialFront.html

Tutorial da Sun: “J2EE 5 Tutorial”. Disponível em http://java.sun.com/javaee/5/docs/tutorial/doc/

Sadoski, D.; Comella-Dorda, S. Three tier software architectures. 1997. Disponível em http://www.sei.cmu.edu/str/descriptions/threetier.html

Reese, G. Database programming with jdbc and java. O’Reilly, 2000

Parte do material foi originalmente elaborado por Edson A. Oliveira Junior e Renata Pontim – ICMC-USP

Programação para Web 55

Referências