Using GWT as a replacement for JSR-286 and Inter Portlet communication

592 Views Asked by At

I would like to implement or mimic the behaviour of the Portlet JSR286 spec and the Interportlet Communication feature using GWT only (without Google Gadget).

Here is my use case:
-I have a GWT App-1 hosted on site1.abc.org
-I have a GWT App-2 hosted on site2.abc.org
-I have a GWT App-Portal (ie My Portal-a-like app) hosted on site-portal.abc.org

My GWT App-Portal need to display on the same page the GWT App-1 and GWT-App2. Also, App-1 need to interact and send Data (via a call or events) to the App2.

Questions:
1) Is this possible technically possible?
2) How would you implement this?

PS: If this works, we might have to shutdown our Big-Vendor-Horizontal-Portal initiative.

1

There are 1 best solutions below

0
On

I have been contemplating and experimenting with such a project since I started using GWT 2 years ago and I believe what you want is possible, however a few technical hurdles exist. The main technical hurdle is that the linkers are not designed to have modules loaded dynamically(the boot script relies on the onLoad event), so you will either have to write your own linker or run the boot script for every installed portlet that might appear on the page(which isn't a huge performance hit if you have code splitting in the load function. A GWT portal implementation will rely heavily on Ray Cromwell's GWT-Exporter. You will need to implement the portlet APIs using this to allow communication between the portal and the portlets. Also, because the portlets have to be loaded on start with the default linker, you will need to export a function from the portlet that takes a DOM element as an argument so that the portal can tell the portlet to load an instance of the portlet into the defined element.