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:

 

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:

 

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).