在谷歌应用引擎上像冥王星或jetspeed一样的Portlet容器?

时间:2010-04-08 05:58:44

标签: java google-app-engine portal portlet jsr286

我正在尝试在谷歌应用引擎上构建一些“portlet服务器”。 (作为开源)

我想使用JSR168 / 286标准,但我认为有限制 应用程序引擎将使它介于棘手和不可能之间。

是否有人试图在内部运行jetspeed或使用pluto的应用程序 在谷歌应用程序引擎上?

基于我目前对portlet和谷歌应用引擎的了解,我是 预见到这些问题:

带有portlet的war文件或多或少是从部署的角度来看的 完整的webapp(是的,我知道没有门户网站它真的没有用 服务器)。 war文件可能包含它自己的web.xml等。 这使得在应用程序引擎上的部署相当困难,因为应用程序是 彼此不可见,因此所有包含档案的portlet都需要 包含在已部署的“基于应用引擎的门户网站服务器”的war文件中。

“portlet”(至少在liferay中)作为永久servlet启动 进程,基于它们的portlet.xmls和web.xmls,它们位于同一个地方 每个加载的portlet存档。我认为这可能会有问题 应用程序引擎,因为一切都在一个大的“网络应用程序”,所以它可能是棘手的 从每个档案中访问portlet.xmls。

这可以防止我认为100%的兼容性。

这里是否有任何对portlet和组合有任何经验的人 应用引擎?

您认为修改jetspeed,pluto或任何其他portlet容器以便能够运行是否可行 它在应用引擎上?

1 个答案:

答案 0 :(得分:2)

我简要地看了一下 - 你最大的问题是Portlet规范建立在但过度使用了servlet规范的一些关键位 - 特别是它通常需要支持跨上下文调用。

虽然可以设计一个包含多个portlet和servlet容器的web应用程序(通常用于管理portlet,或者在Liferay的情况下大部分都是堆栈),但这并不容易。

实际上,如果考虑在AppEngine上做门户类型的东西,我会更密切地关注托管OpenSocial小部件(如果你真的想要标准),可能在Shindig中运行,或者在外部托管。这也可以让你获得JSR-168兼容性,因为有许多(不是很好的)桥接小部件来托管小部件,而且它不是一个硬写的适配器。