Padrão Arquitetural MVC e suas aplicações para WEB

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

Favorites, Groups & Events

Padrão Arquitetural MVC e suas aplicações para WEB - Presentation Transcript

  1. Padrão Arquitetural MVC e suas aplicações para Web Rafael Mendonça França DCOMP - UFS
  2. Sumário
    • Introdução
    • Padrão MVC
    • Evolução do desenvolvimento WEB
    • Implementações do MVC
    • JSF
  3. Introdução
    • A luta pela qualidade no Software vem produzindo a anos padrões e técnicas para construção de sistemas com menos defeitos e de manutenção mais fácil e simples.
    • O uso de camadas é um padrão arquitetural que ajuda na tarefa de separar responsabilidades, promovendo baixo acoplamento e alta coesão
  4. Introdução
    • Aplicações de uma camada:
      • Antigamente um aplicativo era desenvolvido para ser usado em uma única máquina.
      • Esse aplicativo continha todas a funcionalidades em um único módulo gerado por uma grande quantidade de linhas de código e de manutenção nada fácil.
      • A entrada do usuário, verificação, lógica de negócio e acesso a banco de dados estava presente em um mesmo lugar.
    Lógica de Apresentação Lógica de Negócios Acesso a Dados
  5. Introdução
    • Aplicações de duas camadas:
      • Surgiram com a necessidade de compartilhar a lógica de acesso a dados.
      • A base de dados geralmente é colocada em uma máquina específica.
      • Aplicativos instalados em estações clientes contendo toda a lógica da aplicação.
      • Grande problema com o gerenciamento de versões.
    Lógica de Apresentação Lógica de Negócios Acesso a Dados
  6. Introdução
    • Aplicações de n camadas:
      • Separa a lógica de negócio da interface com o usuário.
      • Cada camada é auto-contida o suficiente de forma que a aplicação pode ser dividida em vários computadores numa rede distribuída.
      • Possibilita que vários usuários tenham acesso as mesmas aplicações sem ter que instala-las em suas máquinas.
      • Torna os sistemas mais flexíveis permitindo que as partes possam ser alteradas de forma independente.
      • Facilita a reutilização e manutenção.
    Lógica de Apresentação Lógica de Negócios Acesso a Dados
  7. Padrão MVC: Model-View-Controller
    • É um padrão arquitetural que divide as aplicações em 3 camadas independentes.
    • Permite que um mesmo aplicativo possa ser visualizado através de vária interfaces.
  8. Padrão MVC: Model-View-Controller
    • Camadas do MVC:
      • Camada de Apresentação (View)‏
        • Inclui os elementos de exibição no cliente: HTML, XML, Applets, MIDlets.
        • É usada para receber a entradas de dados e apresentar o resultado.
      • Camada de Lógica da Aplicação (Model)‏
        • Modela os dados e o comportamento por trás do processo de negócio.
        • Se preocupa apenas com o armazenamento e geração dos dados.
      • Camada de Controle
        • Interpreta as ações do usuário e as mapeia para chamadas do modelo.
        • É responsável pelo fluxo da aplicação.
  9. Padrão MVC: Model-View-Controller
  10. Evolução do desenvolvimento WEB
    • Sem o MVC
      • Na primeira fase da evolução apenas eram produzidas páginas em HTML estático para mostrar informações estáticas.
      • Na próxima fase evolutiva, foram usadas tecnologias de geração dinâmica de páginas como o CGI, Servlets e JSP.
  11. Evolução do desenvolvimento WEB
    • Model 1: Arquitetura centrada na página
      • As páginas JSP tratam todos os aspectos da aplicação – apresentação, controle e processos de negócio – utilizando JavaBean para processar a lógica e links para a navegação.
  12. Evolução do desenvolvimento WEB
    • Model 2: Arquitetura centrada no Servlet
      • As aplicações implementadas utilizando o Model 2 são mais fáceis de manter e extender.
  13. Implementações do MVC
    • .NET
      • Microsoft UIP
      • Maverick.NET
    • ActionScript
      • ARP
      • PureMVC
    • Java
      • JavaServer Faces
      • Spring Framework
      • Struts
    • PHP
      • Zend Framework
      • Symfony Framework
  14. JSF – JavaServer Faces
    • É uma implementação do Model 2.
    • É também uma especificação da JCP – Java Community Process. (JSR-127)‏
    • Foi criado com o intuito de facilitar o desenvolvimento de interfaces web.
    • Facilita a integração com IDEs.
    • Possui um conjunto padrão de componentes.
    • Possui uma API para validação dos dados.
    • Especifica um modelo para internacionalização e localização.
  15. JSF – JavaServer Faces
  16. JSF – JavaServer Faces
    • Principais partes do JSF
      • Componentes de Interface com o usuário
        • Foca na interatividade com o usuário final.
        • Diferente dos componentes Swing eles ficam residentes no lado do servidor, não do cliente.
        • Os componentes tem a capacidade de guardar informações de estado entre as requisições.
      • Renderizadores
        • São responsáveis por gerar as diferentes formas de visualização (HTML, WML, SVG, applet, etc.)‏
        • São organizados em Render Kits.
  17. JSF – JavaServer Faces
    • Principais partes do JSF (continuação)‏
      • Validadores
        • Responsável por validar os dados digitados pelo usuário.
        • Os dados são validados no lado do servidor.
      • Backing beans
        • É responsável pela interação entre a camada de visão e a de modelo.
        • Geralmente contém propriedades que serão utilizadas pelos usuários e tratadores de eventos que processarão essas propriedades e irão manipular a interface ou fazer algum processamento da aplicação.
  18. JSF – JavaServer Faces
    • Principais partes do JSF (continuação)‏
      • Conversores
        • Responsável por converter um objeto em String para mostra-lo na tela, e de uma String de entrada para um objeto.
      • Eventos e listeners
        • São responsáveis por capturar e tratar os meios que o usuário interage com os componentes de interface.
          • Tipos de eventos:
            • Eventos de mudança de valor
            • Eventos de ações
            • Eventos de modelo de dados
            • Eventos de fase
  19. JSF – JavaServer Faces
    • Principais partes do JSF (continuação)‏
      • Mensagens
        • Auxiliam a informar o usuários erros na aplicação.
        • As mensagens podem ser de dois tipos:
          • Mensagens de erros na aplicação
          • Mensagens de erros na entrada do usuário
      • Navegação
        • O Faces possibilita um sistema de navegação elegante, onde o tratador de navegação é responsável que página vai ser carregada de acordo com a lógica da ação.
  20. JSF – JavaServer Faces
    • Ciclo de vida do processo de requisição
      • O clico de vida da requisições do Faces são divididos em 6 fases.
        • Fase 1: Restaurar árvore de componentes
        • Fase 2: Aplicar valores da requisição
        • Fase 3: Processar validação
        • Fase 4: Atualizar valores do Modelo
        • Fase 5: Chamar aplicação
        • Fase 6: Renderizar resposta
      • Após cada fase o JSF irá enviar os eventos para os listeners interessados. Esses listeners irão processar lógica de negócio ou manipular componentes.
  21. JSF – JavaServer Faces
    • Ciclo de vida do processo de requisição (continuação)‏
      • Os listeners podem se necessário pular para a fase final: “Renderizar resposta”.
      • Quatro dessas fases geram mensagens: “Aplicar valores da requisição”, “Processar validação”, “Atualizar valores do Modelo”, “Chamar aplicação”. Com ou sem mensagem é a fase “Renderizar resposta” que envia as saídas para o usuário.
  22. JSF – JavaServer Faces
  23. Bibliografia
    • K. D. Mann. JavaServer Faces In Action. Manning, 2005
    • G. Seshadri. Understanding JavaServer Pages Model 2 architecture: Exploring the MVC design pattern. JavaWorld.com, 1999.
    • Arquitetura MVC baseada em modelos. PUC-RIO.
    • The J2EE tuturial 1.4: The Life Cycle of a JavaServer Faces Page. Sun.
    • Disponível em: http://java.sun.com/j2ee/1.4/docs/tutorial
    • Página da web: http://jcp.org

+ Rafael FrançaRafael França, 2 years ago

custom

4113 views, 0 favs, 3 embeds more stats

More info about this document

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Go to text version

  • Total Views 4113
    • 4092 on SlideShare
    • 21 from embeds
  • Comments 1
  • Favorites 0
  • Downloads 128
Most viewed embeds
  • 19 views on http://rafael-ufs.blogspot.com
  • 1 views on http://gabrieloliveira.atspace.org
  • 1 views on http://www.imobiliariariodejaneiro.cim.br

more

All embeds
  • 19 views on http://rafael-ufs.blogspot.com
  • 1 views on http://gabrieloliveira.atspace.org
  • 1 views on http://www.imobiliariariodejaneiro.cim.br

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories