I have a search portlet. There is one search portlet, and one or more results portlets. Each of these portlets are deployed as different war files. What I need is, if user enters some search string, I need to pass the search string to other portlets. Is there any way to achieve this? Since portlets are part of different applications, using APPLICATION of portlet session will not help. I need to have different applications for each portlet since they are all loosely coupled. Each search result portlet will show different results. User has the freedom of selecting search result portlets as per their convenience.
The big question is 'how are you deploying these portlets?'
If the portlets are packaged in a common war file, they can share data through the PortletSession, but only if you use the application scope. The application scope of the portlet session makes data accessible to all portlets in a common war file, but not to all portlets on the portal server as some incorrectly believe.
Here's a free tutorial on developing portlets and using the various portal session scopes:
If the data is not in a common war, you've got some problems. Maybe a common database table for sharing portlet data? IBM provides Click to action services, but those are proprietary.