PROGRESS PORTLET FRAMEWORK
Motivation
The first version of the PROGRESS portlets were built on the base of the test client applications for
Web Services automatically generated by Sun Forte For Java 4. We slightly adjusted proxy clients
included in these test applications to facilitate their usage within our client applications. This solution
worked, however, these classes did not provide the functionality to improve the process of creating
new portlets utilizing the WS services. We instead ended up with a software package with an unclear structure,
which was difficult to manage and reuse:
- any new portlet must had been designed completely from scratch
- it was hard to change the behavior of the portlets
- the cutomization of portlets always required re-programming
- it was completely impossible to create many portlets accessing the same services in a reasonable time
PROGRESS Portlet Framework
To improve the efficiency of building portlets utilizing the functionality of GSP and DMS services,
we decided to design the PROGRESS Portlet Framework. It allows preparing a higher-level interface
to Web Services with special beans to store the data obtained from WS responses and classes used
to translate HTTP requests into the invocation of proper WS methods. The latter additionally help
to quickly build new portlets on top of them to utilize the already existing functionality that
they provide.
The PROGRESS Portlet Framework features four layers in its architecture and forms a clear structure
of an application accessing Web Services. The bottom layer consists of Web Service Proxy classes,
which handle the SOAP communication with WS services. The next layer features Request Handler classes,
which are capable of translating user's requests into a proper stream of invocations of WS methods.
The third layer provides Content Generator classes, which prepare the content to be returned to the
user. Finally, the highest layer includes Provider classes, which can take a form of portlets. The
layered architecture of the PROGRESS Portlet Framework is presented in the figure below.
The layered architecture of the PROGRESS Portlet Framework enables flexible and easy development
of user interfaces to Web Services. Its structure is clear to the developer, thus
facilitating his/her work. The parts of the already existing code are easily reusable when a newly
designed portlet is required to utilize the same functionality of the WS services that were utilized
in previously developed portlets. This last feature provides a great opportunity to create highly
specialized application portlets, that facilitate the use of grid-enabled applications by non-advanced
users. We are utilizing the features of the Framework to create such portlets for work within
the PROGRESS HPC Portal. The Framework gives the following advatages and opportunities:
- it allows to build portlets to access Web Services
- it allows to resuse components of the existing portlets in new web applications/portlets
- it allows to customize the existing portlets with NO Java coding
- it allows to install portlets in any portal framework or as generic servlets
Get it now!
Version 1.1 of the PROGRESS Portlet Framework together with example Portlets can be
downloaded here (you must download the Portlets or Upload Servlet package
to get the Framework).