A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade.

Apresentações semelhantes


Apresentação em tema: "DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade."— Transcrição da apresentação:

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.


Carregar ppt "DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade."

Apresentações semelhantes


Anúncios Google