
Coordination between portlets is a very common requirement. An example of information sharing between portlets can be a weather portlet displaying the weather information of a city and a map portlet displaying the location of the city. Since, both the portlets would be using the same zip code for a user, there should be mechanism provided by the portlal containers to allow portlets to share the zip code.
Prior to JSR 286, the support for inter portlet communication was rather minimal and information sharing between different portlets was accompalished primarily using application scoped session objects or vendor specific APIs. Both of above methods were rather problematic as in the former maintaining the uniqueness of the session attribute over a complex aaplication was a concern and in the later portability of the portlet was hampered. In order to provide coordination between portlets the Java Portlet Specification v2.0 (JSR 286) introduces the following mechanisms:
Let's have a look how to use the above features.
–You write a java class that extends GenericPortlet.
–You override/implement several methods inherited from GenericPortlet.
–You use some supporting classes/interfaces
•Many are analogous to their servletequivalents
•Some (portletsession) actually seem to be trivial wrappers around servletequivalents in Pluto.