Sei sulla pagina 1di 25

ENGENHARIA DE SISTEMAS WEB

MVC e Struts
Camadas de Aplicao, nveis 3 e 4
Padro MVC
Outros Padres e J2EE
Struts
Estudo de Caso

Modelo 2 Camadas

Modelo 2 Camadas
Camada de Apresentao com Regras de Negcio
Juntas.
Camada de Persistncia.

Problemas para o usurio, que no tem os programas


funcionando como deveriam; Problemas para a equipe
de desenvolvimento que no tem o seu trabalho
reconhecido e, normalmente, tem que trabalhar apenas
"apagando incndios"; e Problemas para a
Administrao/Gerncia da rede que no consegue gerar
os resultados esperados pela Administrao da empresa,
apesar dos elevados valores j investidos.

Maior TCO Custo Total de Propriedade

Modelo 3 Camadas

Modelo 3 Camadas
Modelo e cdigos construdos para representar as
camadas.
Os servidores no precisam estar necessariamente
em mquinas diferentes, podem estar na mesma
mquina. Porem questes de performance so
relevantes.
Camada de Apresentao
Camada de Negcios
Camada de Persistncia

Modelo 3 Camadas c/ MVC


APRESENTAO

NEGCIO OU LGICA

PERSISTNCIA
(INTEGRAO)

Helper
classes

NAVEGADOR WEB

CLIENTE

M
CLIENTE - SERVIDOR

SERVIDOR WEB

SGDB

SERVIDOR

Modelo 4 Camadas

Modelo 4 Camadas
CLIENTE

(APRESENTAO)

GERENCIA DE
APRESENTAO

NEGCIO

PERSISTNCIA

SERVIDOR
APLICAO
NAVEGADOR WEB

SERVIDOR WEB

SGDB

EJB in
MVC
C
V

CLIENTE

CLIENTE - SERVIDOR

CLIENTE - SERVIDOR

SERVIDOR

J2EE - 4 TIER

MVC - FLUXOS

MVC

STRUTS

Fluxo de Navegao de seus componentes

STRUTS

SERVIDOR WEB

CAMADA DE NEGCIO OU LGICA OU REGRAS

C
Controle
Actions, Servlet Controller

Viso

Modelo

JSP, Servlets,
formBeans

Classes de Negcios, DAO,


Beans em Geral

Existe um forte acoplamento entre JSPs e formBeans.

STRUTS
No Struts temos classes Dispatcher,
Request Processor, Controller e Helper
(ActionsBeans e FormsBeans).
Custom Tags (Pattern View Helper).
Atualmente existem diversas ferramentas
para configurao da Struts de forma
visual com diversas opes entre
produtos pagos e open source
(EasyStruts, Struts Console).

Modelagem
CASOS DE USO
MODELAGEM DAS OPERAES, FLUXOS, INTEFACES , DEFINIES, NEGCIOS.

DIAGRAMA DE CLASSES
Estrutura fsica do objetos em carregados em memria e seus relacionamentos.

DIAGRAMAS DE INTERAO
SEQUENCIA DAS OPERAES E TROCA DE MENSAGENS ENTRE OBJETOS.
( TEMPO DE PROCESSAMENTO

INTERAO DOS OBJETOS )

DIAGRAMAS DE COMPORTAMENTO
DIGRAMAS DE ESTADOS, COMPORTAMENTO DOS OBJETOS E DO PROCESSAMENTO LGICO.

Patterns
Patterns descrevem maneiras comuns de se fazerem as coisas, tornandoos modelos-exemplo. Conjuntos de estratgias.
Estes so identificados ao longo do desenvolvimento de projetos, onde
surgem problemas repetitivos e obviamente com solues semelhantes.
Todo Pattern apresenta algumas caractersticas comuns: so baseados em
experincias anteriores; so reutilizveis; combinam estratgia de design
e melhores prticas; podem ser usados juntos a fim de resolver uma
gama maior de problemas.

Patterns
Acoplamento entre as Camadas

Design Patterns J2EE


Padres da camada de apresentao (Web)
Front Controller
View Helper
Composite View
Service to Worker
Dispatcher View
Intercepting Filter
Padres da camada de negcios (EJB)
Business Delegate
Value Object (ou Transfer Object)
Session Facade
Composite Entity
Value Object Assembler (ou Transfer Object Assembler)
Value List Handler
Service Locator
Padres da Camada de Integrao
Data Access Object - DAO
Service Activator

RELAO ENTRE PATTERNS & FRAMEWORKS


A utilizao de Patterns passa a ser mais interessante
quando feita de forma conjunta, surgindo assim uma
outra necessidade; o desenvolvimento de frameworks.

Exemplos Mais Conhecidos:


FrameWork para Pattern MVC : STRUTS
FrameWork para Pattern DAO : HIBERNATE
( PERSISTNCIA DE DADOS )

FUTURO

CERTIFICAO CMM

MENSAGEM
Existem duas formas de construir um
modelo de software. Uma fazer o
desenho to simples que bvio no
ter deficincias. Uma outra forma
fazer o modelo to complicado que no
tem deficincias bvias.
C. A. R. Hoare

Estudo de Caso :

Acompanhamento de Vistorias
Processo de Vistoria
compreende :
Solicitao de Vistoria
Pagamento da GR-PR
Agendamento da Vistoria
Cadastro de Resultado da Vistoria
Analise do Resultado
Possibilidade de Reentrada de Processo
Concluso e Emisso de Certificados
Manuteno do Sistema e demais
funcionalidades.

Use Case
Fluxo alternativo do Processo de
Vistoria
atravs de pesquisa.
UC 1: Processo de Vistoria

<<ator>>

UC x

UC y

<<estende>>

UC 1.1 :
Fluxo alternativo do
Processo de Vistoria
atravs de pesquisa

Descrio Sucinta do UC 1.1


Construir uma interface de entrada dos
dados : logradouro, razo social, CPF, CNPJ
e NIB.
Nesta tela deve existir a opo para cada
um destes dados, afim de possibilitar a
pesquisa destes processos.
Este dado deve trazer em uma prxima tela
um relatrio com a pesquisa dos NIBs e ter
um link para abrir o documento, este por
sua vez possibilitar o usurio a dar
continuidade no processo de vistoria.