The following section describes the refactoring that we are in the process
of doing to the
Portlet Container Open source Project (OSP) and the dependencies between the
WSRP
OSP and the Portlet Container OSP. The design of WSRP OSP to some extent
addresses the possibility of supporting other portlet container and not just
Portlet Container OSP.
The Container API is the common abstraction that the portlet container and
the WSRP Consumer implements. The Container API abstracts the local or remote
execution of the portlet and provides a uniform interface for the content
aggregators. The Portlet Container driver which is a test environment for
these portlet uses this abstraction and display content of local or remote
portlets.
The Container Context is the newly refactored abstraction on which is work
in progress, this abstracts the dependencies of WSRP (producer and consumer)
on the content aggregator. WSRP depends certain functionality of the aggregator
rather than just depending the Container API.
The Portlet Container which is the implementation of the Container API provides
the execution environment for local portlets. The WSRP Consumer provides
another implementation for the Container API which executes/routes request
to remote producers and provides content to the aggregators. Apart from providing
an implementation of the Container API the WSRP Consumer also provides the
following functionality's.
- An implementation of Container API which any aggregators can use (where Container API is the exposed/public interface)
- A Resource Proxy Servlet - Which is responsible for getting resources
that a portlet refers too ( for fetching images, scripts etc. from the producer)
- Some implementation of the portlet container test driver interfaces - This can be replaced by other aggregators.
The following diagram shows the web-apps that are deployed on an web container
and some of the high level component dependency with interfaces that are
defined in the system. The direction of arrow shows the dependency.