quarta-feira, 19 de agosto de 2009

Limitações no uso de Ajax em portlets

Não tem nada mais eficiente hoje em dia do que atender as requisições dos usuários em uma chamada Ajax, principalmente em Portais, onde as vezes o conteúdo requisitado é apenas de um pequeno portlet dentre uma página cheia deles. Para isso, o WebSphere Portlet Factory provê alguns builders para trabalhar com Ajax, e a famosa seção "Post-action behavior" nos builders que o suportam.
Andei implementando essa funcionalidade esses dias, e notei algumas limitações importantes.

1. Toda requisição Ajax é delegada a um Servlet dentro da sua aplicação de portlet, e assim, você não possui o contexto de Portal. Ou seja, nem pense em recuperar o PortletRequest ou PortletResponse.

2. O contexto de segurança também não é passado, fiz alguns testes tentando recuperar o UserPrincipal da requisição, e o mesmo sempre retorna nulo. Conversei com o suporte da IBM e me informaram que isso não seria mesmo possível, NA VERSÃO 6.0, pois na versão 6.1 (Spec 286) o contexto do portlet é mantido através do Resource Serving.

Do resto, achei expetacular a facilidade de se implementar chamadas Ajax com o WebSphere Portlet Factory. Sem uma linha de código, consegui trazer algumas aplicações de portlet para o mundo Web 2.

Mais informações:
http://www.ibm.com/developerworks/websphere/library/techarticles/0711_cooke/0711_cooke.html
http://www-10.lotus.com/ldd/pfwiki.nsf/dx/learning-websphere-portlet-factory

Um comentário:

Alê disse...

Muito interessante seu blog!
Eu ia tentar fazer isso via DWR. Mas pelo que eu li se torna impossivel?