Desenvolvendo Portlets utilizando
JSF, Ajax, Richfaces
●
O que será apresentado é uma continuação do WebCast
“Escrevendo meu primeiro portlet”, cujo audio e slides
podem ser baixados através do link
http://www.4linux.com.br/podcasts/podcast-downloadescrevendo-meu-primeiro-portlet.html
JSF Portlet Bridge
●
Permite usar um framework criado para um ambiente
de Servlets dentro de um Container de Portlets
●
JSR-301 (JSF 1.2 x Portlet 1.0)
●
JSR-329 (JSF 1.2 x Portlet 2.0)
●
RIs no projeto Apache MyFaces, porém compatíveis com
outras implementações do JSF
Bridge x Servidor de Aplicação
●
Os JARs do Portlet Bridge devem ser inclusos na
aplicação ou copiados para o diretório de bibliotecas do
servidor
●
Alguns servidores já possuem as bibliotecas do JSF e do
JSTL
●
Cuidado com as dependências, ex: Jakarta Commons
Projeto JSF Tradicional x Portlets
●
Arquivos JAR do Portlet Bridge
●
portlet.xml referencia o GenericFacesPortlet fornecido
pelo Bridge
●
Configure views padrões para View (obrigatória), Edit e
Help
●
Você poderá continuar usando o taglib de portlets
●
Algumas extensões do JSF podem não ser compatíveis
com o Portlet Bridge!
Como Funciona?
●
O Portlet Bridge quebra o ciclo de processamento do JSF
nas fases action e render do portlet
●
Como o JSF sempre faz POST, todas as requisições
serão actions (seguidas por renders)
●
O portlet bridge não é um portlet!
●
Ele é apenas um intermediador entre o JSF e o
container de portlets
Namespaces x JSF
●
Espera-se que a implementação do JSF utilize o
getPortletNamespace() sempre que necessário no
código Javascript e CSS gerado pelo render kit
●
Componentes extras podem não ter esta inteligência, e
serem incompatíveis com o ambiente de Portlet
JBoss Portlet Bridge
●
É uma implementação da JSR-329 que utiliza a API 2.0
de portlets e JSF, com melhorias adicionadas ao suporte
a outros frameworks web (RichFaces e JBoss Seam)
●
Neste momento, o JBoss Portlet Bridge é suportado
apenas para o GateIn, JBoss Portal ou eXo Platform