Arquitetura de sistemas web

Post on 28-Jun-2015

2.525 views 1 download

Transcript of Arquitetura de sistemas web

OPAKUS

SOLUCÕES INTELIGENTES

www.opakus.com.br

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

Modelo 2 Camadas

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

Modelo 3 Camadas

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

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

Modelo 4 Camadas

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

J2EE - 4 TIER

MVC - FLUXOS

MVC

STRUTS Fluxo de Navegação de seus componentes

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.

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

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.

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.

Patterns Acoplamento entre as Camadas

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

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 )

FUTURO CERTIFICAÇÃO CMM

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

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.

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

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.