Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGeovane Júlio César Fagundes Sanches Alterado mais de 9 anos atrás
1
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade misael@lia.ufc.br Universidade Federal do Ceará – Jan/2003
2
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 2 Agenda Introdução –Servlets Padrões –Web Interceptor –Web Handlers –Web Compiler –Super Component Referências
3
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 3 Servlets http://www.ufc.br Cliente Servidor Web Web Container Servlet
4
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 4 Servlets Características –Classes Java –Boa Performance –Suporta Requisições Concorrentes –Simples e Extensível
5
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 5 Servlets Ciclo de Vida –Inicialização –Serviço –Finalização
6
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 6 Servlets Carregado em memória Em Inicialização Disponível Em destruição Não carregado service() new() init() destroy()
7
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 7 Agenda Introdução –Servlets Padrões –Web Interceptor –Web Handlers –Web Compiler –Super Component Referências
8
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 8 Web Interceptor Contexto: Página de Crédito ComponenteCreditoComponenteDebito Página de Débito >
9
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 9 Web Interceptor Problema: –Como evitar a duplicação de código no início das operações que executam as requisições em sistemas Web estruturados de forma modular?
10
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 10 Web Interceptor Página de Crédito Interceptor ComponenteCreditoComponenteDebito Página de Débito >
11
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 11 Web Interceptor Cliente Web InterceptorMain Componente Credito Componente Debito Componente Transferencia > Interceptor1Interceptor2
12
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 12 Web Interceptor Consequências: –Único ponto de acesso –Evita repetição desnecessária de código –Diminui o acoplamento –Diminui a performance
13
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 13 Web Interceptor Implementação –…extends HttpServlet –TIpos de Associação: Associação Estática Associação Automática Associação Dinâmica
14
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 14 Web Interceptor Usos Conhecidos –Framework Web Handlers. –Portal Encontre & Compre: sistema de consultas dos assinantes da Listel. –FiS (Financial Services): migração J2EE da HiperCard. –Central de Regulação do SUS: desenvolvido pelo CESAR.
15
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 15 Web Interceptor Padrões Relacionados: –Facade Customização do Facade para sistemas Web. –Front Controller Possui lógica para decidir que componente deve receber a requisição. –Intercepting Filter Acoplados aos Servlets para realizar um pré- processamento.
16
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 16 Agenda Introdução –Servlets Padrões –Web Interceptor –Web Handlers –Web Compiler –Super Component Referências
17
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 17 Web Handlers Contexto Página de Login Menu de Movimentações Página de Crédito Página de Débito Links estáticos de HTML
18
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 18 Web Handlers Contexto Página de Login 2 Menu de Movimentações Página de Crédito Página de Débito Página de Login 1 Menu de Atualização Outras Páginas...
19
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 19 Web Handlers Problema: –Evitar a duplicação de código e complexidade na estruturação de sistemas Web com relacionamento M:N entre a apresentação e o processamento.
20
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 20 Web Handlers Solução: –Handlers de Apresentação –Handlers de Processamento –Controlador de Handlers
21
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 21 Web Handlers > HP_Login processar(ServletRequest, ServletResponse) > HA_MenuMovimentacoes apresentar(ServletRequest, ServletResponse) Login a partir da Página de Login 2 > HP_Login processar(ServletRequest, ServletResponse) > HA_MenuAtualizacao apresentar(ServletRequest, ServletResponse) Login a partir da Página de Login 1
22
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 22 Web Handlers > HP_Credito processar(ServletRequest, ServletResponse) > HA_MenuMovimentacoes apresentar(ServletRequest, ServletResponse) Execução da operação de Crédito > HP_Debito processar(ServletRequest, ServletResponse) > HA_MenuMovimentacoes apresentar(ServletRequest, ServletResponse) Execução da operação de Débito
23
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 23 Web Handlers Consequências –Maior reuso de código –Flexibilidade na composição –Mudanças na apresentação não causam efeito no processamento –Facilita a implementação de sistemas que requerem diferentes formatos de saída –Aumenta o número de classes –Complexidade na implementação
24
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 24 Web Handlers Usos Conhecidos –Portal Encontre & Compre: sistema de consultas dos assinantes da Listel. –Sistema de Fomento Lattes –Prospectar: Sistema de prospecção tecnológica do Governo Federal. –Web2Billing: consulta e pagamento de faturas online –FiS (Financial Services): migração J2EE da HiperCard. –Fep (Call Center no FEP): da HiperCard. –Gin (Sistema de Gestão Interna): sistema de apoio a gestão interna do CESAR.
25
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 25 Web Handlers Padrões Relacionados –Na construção dos handlers de apresentação pode ser usado o padrão Web Compiler. –O Facade pode ser usado para agrupar as regras de negócio em um único ponto. –O Controlado de Handlers deve implemetar o padrão Web Interceptor. –O padrão Super Component pode ser usado na implementação dos Handlers de apresentação e de processamento.
26
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 26 Agenda Introdução –Servlets Padrões –Web Interceptor –Web Handlers –Web Compiler –Super Component Referências
27
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 27 Web Compiler Contexto:... mensagem = consultarMensagem(); texto = “ Exemplo 1 ”; texto = texto + mensagem; texto = texto + “ ”; out.println(texto);...
28
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 28 Web Compiler Contexto: –Impossibilidade de ver o Layout –Designers X Engenheiros de Software –Recompilação a cada modificação no Layout –Dificulta a legibilidade do código
29
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 29 Web Compiler Problema: –Como desenvolver uma aplicação Web de forma a evitar que o layout das páginas HTML esteja misturado com a lógica de execução das operações do sistema?
30
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 30 Web Compiler Solução: Regras de Negócio Componente Web Passagem de dados dinâmicos Template Web Compiler Recupera
31
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 31 Web Compiler Cliente Web: Componente Web: Web Compiler template.txt : Template request executar() leitura processar() resposta
32
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 32 Web Compiler Consequências –Separação completa entre o código de apresentação e o de processamento. –Visualização do Layout independente da execução do sistema. –Alterações no Layout não implicam em recompilação. –Um pequeno atraso no processamento da requisição.
33
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 33 Web Compiler Usos Conhecidos –FreeMarker –WebMacro –Velocity –API do CESAR.
34
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 34 Web Compiler Padrões Relacionados –Skin
35
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 35 Agenda Introdução –Servlets Padrões –Web Interceptor –Web Handlers –Web Compiler –Super Component Referências
36
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 36 Super Component Contexto: –Ciclo de vida bem definido: Inicialização, serviço e destruição - ex: Servlets, JSPs, Web Handlers.
37
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 37 Super Component Contexto: –inicialização: conexões com bancos de dados; abertura e leitura de arquivos; criação ou instanciação de objetos; –destruição liberação dos recursos alocados durante a inicialização.
38
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 38 Super Component Problema: –Como evitar a duplicação de código de inicialização e destruição nos diversos componentes Web de um sistema?
39
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 39 Super Component Solução: SuperComponent init () destroy () Component service ()
40
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 40 Super Component Consequências: –Código mais limpo. –Evita a duplicação de código.
41
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 41 Super Component Usos Conhecidos –Sistema Wide: Web Information of Development –Portal Encontre & Compre: sistema de consultas dos assinantes da Listel. –FiS (Financial Services): migração J2EE da HiperCard. –Central de Regulação do SUS: desenvolvido pelo CESAR.
42
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 42 Referências [1] Gibeon Soares de Aquino Júnior, “Desenvolvimento de Sistemas Web em Java”, Universidade Federal de Pernambuco, 2002. [2] Andrade, R.M.C, “Capture, Reuse, and Validation of Requirements and Analysis Patterns for Mobile Systems”, University of Ottawa, Ottawa, Canadá, 2001. [3] Deepak Alur, John Crupi and Dan Malks “Core J2EE Patterns Best Practices and Design Strategies”. Prentice Hall, March 2001. [4] Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. “Design Patterns Elements of Reusable Object Oriented Software”. Addison Wesley, 1994.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.