Arquitetura de sistemas web

25
OPAKUS SOLUCÕES INTELIGENTES www.opakus.com.br

Transcript of Arquitetura de sistemas web

Page 1: Arquitetura de sistemas web

OPAKUS

SOLUCÕES INTELIGENTES

www.opakus.com.br

Page 2: Arquitetura de sistemas web

ENGENHARIA 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

Page 3: Arquitetura de sistemas web

Modelo 2 Camadas

Page 4: Arquitetura de sistemas web

Modelo 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

Page 5: Arquitetura de sistemas web

Modelo 3 Camadas

Page 6: Arquitetura de sistemas web

Modelo 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

Page 7: Arquitetura de sistemas web

Modelo 3 Camadas c/ MVCAPRESENTAÇÃO NEGÓCIO OU LÓGICA PERSISTÊNCIA

(INTEGRAÇÃO)

NAVEGADOR WEB SGDBV

C

M

SERVIDORCLIENTE - SERVIDORCLIENTE

SERVIDOR WEB

Helper classes

Page 8: Arquitetura de sistemas web

Modelo 4 Camadas

Page 9: Arquitetura de sistemas web

Modelo 4 CamadasCLIENTE

(APRESENTAÇÃO)

NAVEGADOR WEB

CLIENTE

PERSISTÊNCIA

SGDB

SERVIDOR

GERENCIA DE APRESENTAÇÃO

NEGÓCIO

SERVIDOR WEB

CLIENTE - SERVIDOR CLIENTE - SERVIDOR

SERVIDOR APLICAÇÃO

EJB in MVC

VC

M

Page 10: Arquitetura de sistemas web

J2EE - 4 TIER

Page 11: Arquitetura de sistemas web

MVC - FLUXOS

Page 12: Arquitetura de sistemas web

MVC

Page 13: Arquitetura de sistemas web

STRUTS Fluxo de Navegação de seus componentes

Page 14: Arquitetura de sistemas web

STRUTSCAMADA DE NEGÓCIO OU LÓGICA OU REGRAS

V

C

M

SERVIDOR WEB

Visão Modelo

Controle

JSP, Servlets, formBeans

Classes de Negócios, DAO, Beans em Geral

Actions, Servlet Controller

Existe um forte acoplamento entre JSPs e formBeans.

Page 15: Arquitetura de sistemas web

STRUTS

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

Page 16: Arquitetura de sistemas web

Modelagem

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

Page 17: Arquitetura de sistemas web

Patterns

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.

Page 18: Arquitetura de sistemas web

Patterns Acoplamento entre as Camadas

Page 19: Arquitetura de sistemas web

Design Patterns – J2EEPadrõ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 - DAOService Activator

Page 20: Arquitetura de sistemas web

RELAÇÃ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 )

Page 21: Arquitetura de sistemas web

FUTURO CERTIFICAÇÃO CMM

Page 22: Arquitetura de sistemas web

MENSAGEM MENSAGEM

“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

Page 23: Arquitetura de sistemas web

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

Page 24: Arquitetura de sistemas web

Use 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 x

UC 1: Processo de Vistoria

UC y

<<estende>>

<<ator>>

Page 25: Arquitetura de sistemas web

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.