Pat*_*sen 7 java google-app-engine portal portlet jsr286
我正在尝试在谷歌应用程序引擎上构建一些"portlet服务器".(作为开源)
我想使用JSR168/286标准,但我认为应用引擎的限制将使它介于棘手和不可能之间.
有没有人试图在谷歌应用引擎上运行jetspeed或内部使用pluto的应用程序?
根据我目前对portlet和谷歌应用程序引擎的了解,我预计会出现以下问题:
带有portlet的war文件从部署的角度来看或多或少是一个完整的webapp(是的,我知道没有门户服务器它真的不起作用).war文件可能包含它自己的web.xml等.这使得在app引擎上的部署相当困难,因为这些应用程序彼此不可见,因此所有包含存档的portlet都需要包含在已部署的"app"的war文件中基于引擎的门户服务器".
"portlet"(至少在liferay中)作为永久servlet进程启动,基于它们的portlet.xmls和web.xmls,它们位于加载的每个portlet存档的相同位置.我想这可能是在应用程序引擎有问题的,因为一切都在一个大的"Web应用程序",因此它可能会非常棘手,从每个归档访问portlet.xmls.
这可以防止我认为100%的兼容性.
在这里有人对portlet和app引擎的组合有任何经验吗?
你认为修改jetspeed,pluto或任何其他portlet容器以便能够在app引擎上运行它是否可行?
我简要地研究过它 - 最大的问题是 Portlet 规范建立在 servlet 规范的基础上,但覆盖了 servlet 规范的一些关键位 - 具体来说,它通常需要支持跨上下文调用。
虽然可以设计一个包含多个 portlet 和 servlet 容器的单个 Web 应用程序(通常是为管理 portlet 完成的,或者在 Liferay 的情况下是其堆栈的大部分),但这并不容易。
事实上,如果考虑在 AppEngine 上做门户类型的事情,我会更仔细地考虑托管 OpenSocial 小部件(如果您确实想要标准),也许在 Shindig 中运行,或者在外部托管。这还可以让您获得 JSR-168 兼容性,因为有许多(不是很好的)桥接 portlet 来托管小部件,并且它不是一个很难编写的适配器。