使用GWT替代JSR-286和Inter Portlet通信

时间:2011-02-23 04:07:59

标签: javascript ajax gwt portlet jsr286

我想仅使用GWT(没有Google Gadget)实现或模仿Portlet JSR286规范和Interportlet通信功能的行为。

这是我的用例:
  - 我在site1.abc.org上托管了一个GWT App-1   - 我在site2.abc.org上托管了一个GWT App-2   - 我在site-portal.abc.org上托管了一个GWT App-Portal(即My Portal-a-like app)

我的GWT App-Portal需要在同一页面上显示GWT App-1和GWT-App2。 此外,App-1需要交互并将数据(通过一个或多个事件)发送到App2。

问题
1)这在技术上是否可行? 2)你会如何实现这个?

PS:如果这样做,我们可能不得不关闭我们的Big-Vendor-Horizo​​ntal-Portal计划。

1 个答案:

答案 0 :(得分:0)

自从我2年前开始使用GWT以来,我一直在考虑和尝试这样的项目,我相信你想要的是可能的,但是存在一些技术障碍。主要技术障碍是链接器不是设计为动态加载模块(引导脚本依赖于onLoad事件),因此您必须编写自己的链接器或为可能出现的每个已安装的portlet运行引导脚本页面(如果你在加载函数中有代码分裂,这不是一个巨大的性能影响.GWT门户实现将严重依赖于Ray Cromwell的GWT-Exporter。你需要使用它实现portlet API以允许通信在门户网站和portlet之间。因为必须在开始时使用默认链接器加载portlet,你需要从portlet中导出一个函数,该函数将DOM元素作为参数,以便门户网站可以告诉portlet将portlet的一个实例加载到已定义的元素中。