Rapid Application Development com Tapestry 5

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.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Rapid Application Development com Tapestry 5 - Presentation Transcript

    1. Marcelo Rodrigues Costa - 2009 Rapid Application Development com Tapestry 5
      • Framework: Benefícios e funcionalidades
      • A necessidade
        • Empresas online
        • Frameworks
      • O objetivo deste trabalho
        • Avaliar a utilização do Tapestry
      • A metodologia
        • Criação de uma loja virtual
      • O escopo deste trabalho
        • Apresentar recursos do framework
      • A estrutura deste trabalho
        • 5 capítulos
      • Java
      • Applets
      • Servlets
      • Java Server Pages (JSP)
      • Expression Languages (JSP 2.0)
      • Frameworks Java para web
        • Rapid Application Delevopment
      • A J2EE
        • Web
        • Serviços
        • Frameworks
      frameworks J2EE: Echo Cocoon Millstone OXF Struts SOFIA Tapestry WebWork RIFE Spring MVC Canyamo Maverick JPublish JATO Folium Jucas Verge Niggle Bishop Barracuda Action Framework Shocks TeaServlet wingS Expresso Bento jStatemachine jZonic OpenEmcee Turbine Scope Warfare JWAA Jaffa Jacquard Macaw Smile MyFaces Chiba JBanana Jeenius JWarp Genie Melati Dovetail Cameleon JFormular Xoplon Japple Helma Dinamica WebOnSwing Nacho Cassandra Baritus Stripes Click GWT
      • Tapestry
        • Howard Lewis Ship
        • HTML & Java
        • Componentes customizados
        • Integração com AJAX
        • Validação
        • Internacionalização
        • Inversão de controle
      • Detalhes técnicos
        • Conjunto de páginas (POJO)
        • Navegação
        • Estado da aplicação
      • Conjunto de páginas
        • A página Tapestry
        • Start.tml
      <html xmlns:t=&quot;http://tapestry.apache.org/schema/tapestry_5_0_0.xsd&quot;> <head> <title>Título da página inicial</title> </head> <body> <h1>Tapestry</h1> <p> Esta é a página inicial</p> <p> A data e hora atual é: ${tempoAgora}. </p> <p> [<t:pagelink t:page=&quot;Start&quot;>atualiza</t:pagelink>] </p> </body> </html> Obs: Case insensitive
      • Propriedades dentro de propriedades
        • ${currentTime.hashCode}
      • Componentes
        • t:TextField
        • t:PageLink
      • Annotations
        • @InjectPage
        • @Persist
        • @OnEvent(value=&quot;submit&quot;, component=&quot;userInputForm&quot;)
      • Controlador de eventos
        • onSubmit()
        • void onSubmitFromUserInputForm()
      • Páginas (página x classe de página)
        • Usuários concorrentes (escalabilidade)
        • O Tapestry reinicia páginas
        • onActivate() & onPassivate() – url
        • OnPassivate() retorna o contexto de ativação
        • para os métodos onActivate()
        • Velhas páginas comunicam-se com
        • novas páginas
      @Persist? Usuario & Valores Session – 30 min
      • O ciclo de vida de uma página
        • @PageLoaded
        • método: pageLoaded.
        • @PageAttached
        • método: pageAttached.
        • @PageDeatached
        • método: pageDeatached”.
      Pool de páginas Página carregada (loaded) 1º Requisição Página anexada (Attached) (anexada a requisição) Requisição Resposta Página desanexada (Deatached) (retirada da requisição após a resposta)
      • Estrutura da aplicação
        • Páginas em pastas & classes em pacotes
          • Nomes lógicos (SecurePage = secure/page)
      • ASO (Application State Object)
        • @ApplicationState
        • private User user;
        • ${user.firstName}
        • Verificar a existência de um ASO: UserExists
          • (valor booleano convertido automaticamente para true caso este ASO seja criado).
      • O componente BeanEditForm
        • <t:beaneditform t:id=&quot;celebrity&quot;/>
        • Remover campos (id)
        • Reordenar
        • Validação
        • CSS
        • DateField
        • SelectLists com Enums
        • Agilidade
      • CRUD de produtos
      • Tela de login
      • Navegação
      • Área do administrador
      • Autenticação
      • Criação de um Componente
      • Uso do componente “Layout”
      • O componente “Layout”
        • Determina que a página utiliza um esqueleto fixo
          • <html t:type= &quot;Layout&quot; …
        • Para determinar a área de conteúdo dinâmico
          • <t:body>
      • Utilização do ciclo de vida de páginas
        • listar produtos na página incial
        • Customizar o BeanEditForm
      • Criação do componente “Repetidor”
        • Utilizado para paginação
      • Autenticação
        • Utiliza ASO
        • Páginas protegidas herdam a classe “ProtectedPage”
      • CRUD de produtos
        • CREATE: Inserir produtos – componente “BeanEditForm”.
        • READ: Listar produtos – componente “Loop”.
        • UPDATE: Atualizar produtos – componente “BeanEditForm” & id no contexto.
        • DELETE: Deletar produto – id no contexto.
      • CRUD de produtos
        • CREATE: Inserir produtos – componente “BeanEditForm”.
        • READ: Listar produtos – componente “Loop”.
        • UPDATE: Atualizar produtos – componente “BeanEditForm” & id no contexto.
        • DELETE: Deletar produto – id no contexto.
      • Framework dinâmico e robusto
      • Padrões de projetos implementados
        • Soluções comuns (validação, navegação, controle de erros, ...)
      • Suporte em múltiplas plataformas
        • Model-view-controller (recursos em classes de página, HTML e Beans)
      • Extensibilidade
        • Diferentes implementações (criação de componentes próprios)
      • Servidor de aplicação neutro
        • Sem restrições ( servlet conteiner , geralmente usa o Jetty para testes)
      • Configurável
        • Basicamente: Web.xml e a classe de configuração do pacote “services”.
      • Útil mas não intrusivo
        • Não força metodologias (deve usar Java, J2EE consistente e previsível)
      • Geração de código
        • Não há geração de código (ótimo debugging, tratamento de exceções)
      • Serviços dependentes
        • Vários serviços e componentes acopláveis (nada mandatório)
      • Desenvolvimento rápido
      • O futuro do Tapestry

    + Marcelo RodriguesMarcelo Rodrigues, 1 month ago

    custom

    77 views, 0 favs, 0 embeds more stats

    Apresentação de slides da minha monografia da pó more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 77
      • 77 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    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