Title: ARQUITETURA DE SISTEMAS WEB
1Jean Marcelo da Costa Sales CELEPAR - DIFAS
2ENGENHARIA DE SISTEMAS WEB
- MVC e Struts
- Camadas de Aplicação, níveis 3 e 4
- Padrão MVC
- Outros Padrões e J2EE
- Struts
- Estudo de Caso
Jean Marcelo da Costa Sales CELEPAR - DIFAS
3Modelo 2 Camadas
4Modelo 2 Camadas
- Camada de Apresentação com Regras de Negócio
Juntas. - Camada de Persistência.
Problemas para o usuário, que não tem os
programas funcionando como deveriam Problemas
para a equipe de desenvolvimento que não tem o
seu trabalho reconhecido e, normalmente, tem que
trabalhar apenas "apagando incêndios" e
Problemas para a Administração/Gerência da rede
que não consegue gerar os resultados esperados
pela Administração da empresa, apesar dos
elevados valores já investidos. Maior TCO
Custo Total de Propriedade
5Modelo 3 Camadas
6Modelo 3 Camadas
- Modelo e códigos construídos para representar as
camadas. - Os servidores não precisam estar necessariamente
em máquinas diferentes, podem estar na mesma
máquina. Porem questões de performance são
relevantes. - Camada de Apresentação
- Camada de Negócios
- Camada de Persistência
7Modelo 3 Camadas c/ MVC
APRESENTAÇÃO
NEGÓCIO OU LÓGICA
PERSISTÊNCIA (INTEGRAÇÃO)
C
Helper classes
V
M
NAVEGADOR WEB
SGDB
SERVIDOR
CLIENTE - SERVIDOR
CLIENTE
SERVIDOR WEB
8Modelo 4 Camadas
9Modelo 4 Camadas
CLIENTE (APRESENTAÇÃO)
PERSISTÊNCIA
GERENCIA DE APRESENTAÇÃO
NEGÓCIO
SERVIDOR APLICAÇÃO EJB in MVC
SGDB
NAVEGADOR WEB
SERVIDOR WEB
C
V
M
SERVIDOR
CLIENTE
CLIENTE - SERVIDOR
CLIENTE - SERVIDOR
10J2EE - 4 TIER
11MVC - FLUXOS
12MVC
13STRUTS Fluxo de Navegação de seus componentes
14STRUTS
SERVIDOR WEB
CAMADA DE NEGÓCIO OU LÓGICA OU REGRAS
C
Controle
Actions, Servlet Controller
M
V
Visão
Modelo
Classes de Negócios, DAO, Beans em Geral
JSP, Servlets, formBeans
Existe um forte acoplamento entre JSPs e
formBeans.
15STRUTS
No Struts temos classes Dispatcher, Request
Processor, Controller e Helper (ActionsBeans e
FormsBeans). Custom Tags (Pattern View
Helper). Atualmente existem diversas ferramentas
para configuração da Struts de forma visual com
diversas opções entre produtos pagos e open
source (EasyStruts, Struts Console).
16Modelagem
- CASOS DE USO
- MODELAGEM DAS OPERAÇÕES, FLUXOS, INTEFACES
, DEFINIÇÕES, NEGÓCIOS. - DIAGRAMA DE CLASSES
- Estrutura física do objetos em carregados em
memória e seus relacionamentos. - DIAGRAMAS DE INTERAÇÃO
- SEQUENCIA DAS OPERAÇÕES E TROCA DE
MENSAGENS ENTRE OBJETOS. - ( TEMPO DE PROCESSAMENTO X INTERAÇÃO DOS
OBJETOS ) - DIAGRAMAS DE COMPORTAMENTO
- DIGRAMAS DE ESTADOS, COMPORTAMENTO DOS
OBJETOS E DO PROCESSAMENTO LÓGICO.
17Patterns
Patterns descrevem maneiras comuns de se fazerem
as coisas, tornando-os modelos-exemplo. Conjuntos
de estratégias. Estes são identificados ao longo
do desenvolvimento de projetos, onde surgem
problemas repetitivos e obviamente com soluções
semelhantes. Todo Pattern apresenta algumas
características comuns são baseados em
experiências anteriores são reutilizáveis
combinam estratégia de design e melhores
práticas podem ser usados juntos a fim de
resolver uma gama maior de problemas.
18Patterns
Acoplamento entre as Camadas
19Design Patterns J2EE
Padrões da camada de apresentação (Web) Front
Controller View Helper Composite View Service
to Worker Dispatcher View Intercepting Filter
Padrões da camada de negócios (EJB) Business
Delegate Value Object (ou Transfer Object)
Session Facade Composite Entity Value Object
Assembler (ou Transfer Object Assembler) Value
List Handler Service Locator Padrões da Camada
de Integração Data Access Object - DAO Service
Activator
20RELAÇÃO ENTRE PATTERNS FRAMEWORKS
- A utilização 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
- ( PERSISTÊNCIA DE DADOS )
21FUTURO CERTIFICAÇÃO CMM
22MENSAGEM
Existem duas formas de construir um modelo de
software. Uma é fazer o desenho tão simples que é
óbvio não ter deficiências. Uma outra forma é
fazer o modelo tão complicado que não tem
deficiências óbvias. C. A. R. Hoare
23Estudo de Caso Acompanhamento de Vistorias
- Processo de Vistoria compreende
- Solicitação de Vistoria
- Pagamento da GR-PR
- Agendamento da Vistoria
- Cadastro de Resultado da Vistoria
- Analise do Resultado
- Possibilidade de Reentrada de Processo
- Conclusão e Emissão de Certificados
- Manutenção do Sistema e demais
funcionalidades.
24Use Case
- Fluxo alternativo do Processo de Vistoria
- através de pesquisa.
UC 1.1 Fluxo alternativo do Processo de
Vistoria através de pesquisa
UC 1 Processo de Vistoria
ltltestendegtgt
UC x
ltltatorgtgt
UC y
25- Descrição Sucinta do UC 1.1
- Construir uma interface de entrada dos dados
logradouro, razão social, CPF, CNPJ e NIB. - Nesta tela deve existir a opção para cada um
destes dados, afim de possibilitar a pesquisa
destes processos. - Este dado deve trazer em uma próxima tela um
relatório com a pesquisa dos NIBs e ter um link
para abrir o documento, este por sua vez
possibilitará o usuário a dar continuidade no
processo de vistoria.