Diego Louzán Summer of Code 2005 Proposal
- Diego Louzán
Apache WSRP4J is the Java language reference implementation of the OASIS WSRP specification, a web services protocol for aggregating content and interactive web applications from remote sources. However, in its current state, it isn't easily usable. This proposal includes a partial refactoring of WSRP4J, as well as a set of new features. The purpose of these improvements is to help WSRP4J graduate from the Apache Incubator and become a full Apache project.
Benefits to the Apache Community
- A set of features necessary to graduate WSRP4J to a full Apache project.
- Creation of several utility programs and directory restructuring, with the purpose of making the framework easier to use and to attract new developers.
- Project revitalization with new activity.
All of the improvements will benefit other Apache projects which use WSRP4J underneath (like Apache Jetspeed).
Currently, WSRP4J is too closely tied to Apache Pluto. The refactoring will make WSRP4J Pluto-independent by means of a plugin system, so other portal servers (uPortal, MyPersonalizer) will be able to be used with WSRP4J.
Repository reorganization for making it clearer and cleaner. Covering WSRP4J-56.
Improved build, configuration and installation process by use of Apache Maven.
Producer URL Writing support through templates, currently only Consumer URL Rewriting is supported.
- Taking advantage of the experience gained using WSRP4J, add documentation about the architecture and configuration to the web site, enabling a shorter learning curve for new developers.
- WSRP4J project is an implementation of the OASIS WSRP specification, and it's been in the Apache Incubator for two years. Although several companies use WSRP4J as a basis for their WSRP code, WSRP4J is difficult to use in its current state due to, amongst other reasons:
It does not fully implement the OASIS WSRP specification (particularly it does not support Producer Templates).
- There are many inconsistencies and redundancies in the directory structure of the repository, that make the project hard to understand and modify. Additionally, the build and installation process is not very intuitive.
- It is difficult to configure the web applications, it's needed to ease the burden of configuration.
- The producer and consumer code is tightly coupled to Apache Pluto, this prevents other portals from supporting WSRP4J.
- There is very little documentation about the project.
- The proposal schedule is constrained by the conditions imposed by Google in the participation rules. The application will be resolved by June 24th and, in case of acceptance, the project must be finished by September 1st. Therefore, the project duration will be 2 months (approximately), working full time on it.
Initially, I will redesign the repository structure (both directory and package), possibly creating a sandbox inside the main repository. Once I have gotten the initial version working with Maven, I will take the Producer & Consumer code and make them independent of Pluto using a plugin system. I will test that it works with other portal servers by means of integrating it with MyPersonalizer (possibly with uPortal and Jetspeed too, through contacts with other developers). The next step will be to add to the Producer the ability to support Producer templates. Finally, in parallel with all of the other work developed, I will add project documentation to the web site.
I am a student on the Information and Communication Technologies Department in Computer Science Faculty at University of A Coruña, Spain. I am currently developing a WSRP integration layer with MyPersonalizer, an open source J2EE-based framework for engineering "My" portals, developed under the direction of my master thesis teacher Fernando Bellas.
I am also an active user and developer of open source solutions, especially those which are Java-based, and I have been a Java developer since 1999. I haved used Debian GNU/Linux as my main operating system since 1998 and I am a member of GPUL, a Spanish Linux group. I started using WSRP in April 2004 as part of my master thesis and, after some contributions, I was accepted as a committer on the WSRP4J project in March of this year.
My areas of interest include web services, distributed objects & component systems, database design and implementation, design patterns and system administration.
University of A Coruña http://www.udc.es/
Computer Science Faculty http://www.fi.udc.es/
Information and Communication Technologies Department http://www.tic.udc.es/