Tapestry e Servlet

Tapestry é um framework open-source da Fundação Apache para desenvolvimento de aplicativos web robustos e dinâmicos com java, usando orientação a objetos e componentes reutilizáveis. Um framework fornece um conjunto de classes que encapsulam funções de baixo nível do sistema, oferecendo maneiras simples de realizar tarefas complexas e/ou repetitivas.

O aplicativo é formado por uma série de páginas construídas por componentes.

TapestryApplication

Uma página é um tipo especial de componente. Um componente é formado basicamente por uma classe java, opcionalmente pode usar um template html, recursos, catálogo de mensagens, serviços, parâmetros e sub-componentes. Cada componente é configurado por seus atributos, eles controlam o seu comportamento. Os aplicativos são criados em termos de objetos, e dos métodos e propriedades desses objetos.

TapestryComponent

A página de browser é um tipo de formulário onde os métodos e variáveis ficam dentro da classe java e o layout dentro do template html. As entradas de dados (campos) da página podem ser associadas as propriedades da classe java. As ações da página são associadas aos métodos da classe java através de links, eventos e anotações, passando ou não parâmetros. Quando o browser faz a requisição da página o tapestry "entra em ação" para renderizar a página requisitada usando os dados da classe java e do template, depois retorna essa página ao navegador. Quando o browser envia a página para o servidor, o tapestry intercepta e faz o processamento, ele identifica e controla a sessão do usuário, faz a transformação (cast) dos dados recebidos da requisição html para os campos da classe java, e executa uma sequência de eventos, disparando métodos predefinidos que permitem o acesso ao processo de renderização da página de resposta. O framework se encarrega de unir as partes java e html das páginas/componentes.

O tapestry oferece suporte a Ajax (Prototype e Scriptaculous) e integração com os frameworks Spring e Hibernate.

Servlet

Na base de toda aplicação Java para Internet existe o Servlet, ele é uma unidade de software rodando numa Máquina Virtual Java (JVM) dentro do servidor. A especificação Servlet é implementada pelo Container Web, ou Servidor de Aplicações Java (AS). Um Servidor AS é stateless, isto é, trata cada requisição como uma transação independente, que não está relacionada com nenhuma requisição anterior. Um Servlet pode ser acessado diretamente pelo browser. Quando o navegador faz uma requisição, o AS chama o servlet correspondente, que envia a resposta ao browser. Quando o navegador devolve a página ao servidor, o AS chama o Servlet passando a página atual, com seus dados e parâmetros, nesse ponto ele vai executar o método doGet ou doPost, dependendo de como foi feita a requisição. Após o processamento, o Servlet é responsável por devolver uma página HTML para o navegador. Esse é, basicamente, o processo de programação Java para Web.

O framework Tapestry é construído usando a tecnologia Servlet. O desenvolvimento de um software dentro do contexto stateless de um servidor de aplicativos web deve considerar e tratar certas características. O framework abstrai a complexidade envolvida no processo de identificação da sessão, persistência e conversão de dados entre a requisição, a classe java, e a resposta do servlet. O servidor de aplicativos web pode atender centenas ou milhares de usuários ao mesmo tempo (multi-threaded), o tapestry faz o trabalho de garantir o isolamento entre eles (thread safe). Ele faz a associação consistente (statefull) entre as requisições de um mesmo usuário, usando para isso o identificador da sessão aberta pelo browser.

O tapestry assume a responsabilidade de realizar algumas tarefas chaves como: validação de entradas; persistência de objetos; internacionalização; pool de páginas e clustering.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License