world tutorial hello google engine deploy app java google-app-engine portal portlet jsr286

hello - google app engine tutorial java



¿Contenedor de portlet como pluto o jetspeed en el motor de la aplicación google? (1)

Estoy intentando crear algo como "servidor de portlet" en el motor de la aplicación de Google. (como fuente abierta)

Me gustaría utilizar los estándares JSR168 / 286, pero creo que las restricciones del motor de la aplicación harán que sea complicado o imposible.

¿Alguien ha intentado ejecutar jetspeed o una aplicación que usa pluto internamente en el motor de la aplicación google?

De acuerdo con mi conocimiento actual de los portlets y el motor de la aplicación de Google, anticipo estos problemas:

Un archivo war con portlets es, desde el punto de vista de la implementación, más o menos una aplicación web completa (sí, sé que realmente no funciona sin un servidor de portal). El archivo war puede contener su propio web.xml, etc. Esto dificulta la implementación en el motor de la aplicación, ya que las aplicaciones no son visibles entre sí, por lo que todos los portlets que contengan archivos deben incluirse en el archivo war de la aplicación desplegada. servidor de portal basado en motor ".

Los "portlets" se iniciaron (al menos en liferay) como procesos de servlet permanentes, en función de su portlet.xmls y web.xmls, que se encuentra en el mismo lugar para cada archivo de portlet que se carga. Creo que esto puede ser problemático en el motor de la aplicación, porque todo está en una gran "aplicación web", por lo que puede ser complicado acceder al portlet.xmls de cada archivo.

Esto evita una compatibilidad del 100% en mi opinión.

¿Hay alguien que tenga alguna experiencia con la combinación de portlets y el motor de la aplicación?

¿Crees que es factible modificar jetspeed, pluto o cualquier otro contenedor de portlet para poder ejecutarlo en el motor de la aplicación?


Lo he analizado brevemente: su mayor problema es que la especificación de Portlet se basa en algunas especificaciones de servlet, pero sobrepasa algunas de ellas, específicamente requiere soporte para llamadas de contexto cruzado.

Si bien es posible diseñar una sola aplicación web que contenga varios portlets y el contenedor de servlets (a menudo hecho para portlets de administración, o en el caso de Liferay gran parte de su pila) no es fácil.

En realidad, si se trata de hacer cosas de tipo de portal en App Engine, me gustaría mirar más de cerca el alojamiento de widgets de OpenSocial (si realmente quieres estándares), tal vez ejecutarse en Shindig o alojado externamente. Esto también puede obtener compatibilidad con JSR-168, ya que hay una cantidad de portlets de puente (no geniales) para alojar widgets, y no es un adaptador difícil de escribir.