Inter-Portlet communication is probably one of the problems every portlet developer has faced. In the first version of portlet spec (JSR-168) there wasn’t really any standard way the only one way of doing it was through the shared portlet session. The new JSR-286 which is supported by Liferay 5.0 introduced two standard ways of doing IPC. Those two are events and shared render parameters.
Jorge from Liferay just blogged about another interesting way of doing IPC and that is on the client-side through javascript. This is not a standard way but a Liferay specific way of doing IPC. Never the less it might be quite useful especially in ajax driven portlets. The details of this javascript api are documented in Liferay wiki.
