Differences between revisions 38 and 39
Revision 38 as of 2005-06-10 10:41:24
Size: 7061
Editor: DiegoLouzan
Comment:
Revision 39 as of 2009-09-20 23:35:44
Size: 7101
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
This document is a proposal for [http://code.google.com/summerofcode.html Google's Summer of Code 2005]. It's based on a refactoring of the [http://ws.apache.org/wsrp4j/ WSRP4J project], aiming towards the final acceptance of WSRP4J as a full Apache project. This document is a proposal for [[http://code.google.com/summerofcode.html|Google's Summer of Code 2005]]. It's based on a refactoring of the [[http://ws.apache.org/wsrp4j/|WSRP4J project]], aiming towards the final acceptance of WSRP4J as a full Apache project.
Line 22: Line 22:
  [http://ws.apache.org/wsrp4j/ Apache WSRP4J] is the Java language reference implementation of the [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp 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.   [[http://ws.apache.org/wsrp4j/|Apache WSRP4J]] is the Java language reference implementation of the [[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp|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.
Line 29: Line 29:
  * All of the improvements will benefit other Apache projects which use WSRP4J underneath (like [http://portals.apache.org/jetspeed-2/ Apache Jetspeed]).
  * Currently, WSRP4J is too closely tied to [http://portals.apache.org/pluto/ Apache Pluto]. The refactoring will make WSRP4J Pluto-independent by means of a plugin system, so other portal servers ([http://www.uportal.org/ uPortal], [http://www.tic.udc.es/~fbellas/mypersonalizer/ MyPersonalizer]) will be able to be used with WSRP4J.
  * All of the improvements will benefit other Apache projects which use WSRP4J underneath (like [[http://portals.apache.org/jetspeed-2/|Apache Jetspeed]]).
  * Currently, WSRP4J is too closely tied to [[http://portals.apache.org/pluto/|Apache Pluto]]. The refactoring will make WSRP4J Pluto-independent by means of a plugin system, so other portal servers ([[http://www.uportal.org/|uPortal]], [[http://www.tic.udc.es/~fbellas/mypersonalizer/|MyPersonalizer]]) will be able to be used with WSRP4J.
Line 34: Line 34:
  * Repository reorganization for making it clearer and cleaner. Covering [http://issues.apache.org/jira/browse/WSRP4J-56 WSRP4J-56].
  * Improved build, configuration and installation process by use of [http://maven.apache.org/ Apache Maven].
  * Producer & Consumer code Pluto-independent, using a plugin system for making it compatible with any portal server. Covering [http://issues.apache.org/jira/browse/WSRP4J-30 WSRP4J-30], [http://issues.apache.org/jira/browse/WSRP4J-61 WSRP4J-61] and [http://issues.apache.org/jira/browse/WSRP4J-62 WSRP4J-62].
  * Repository reorganization for making it clearer and cleaner. Covering [[http://issues.apache.org/jira/browse/WSRP4J-56|WSRP4J-56]].
  * Improved build, configuration and installation process by use of [[http://maven.apache.org/|Apache Maven]].
  * Producer & Consumer code Pluto-independent, using a plugin system for making it compatible with any portal server. Covering [[http://issues.apache.org/jira/browse/WSRP4J-30|WSRP4J-30]], [[http://issues.apache.org/jira/browse/WSRP4J-61|WSRP4J-61]] and [[http://issues.apache.org/jira/browse/WSRP4J-62|WSRP4J-62]].
Line 59: Line 59:
  I am a student on the [http://www.tic.udc.es/ Information and Communication Technologies Department] in [http://www.fi.udc.es/ Computer Science Faculty] at [http://www.udc.es/ University of A Coruña], Spain. I am currently developing a WSRP integration layer with [http://www.tic.udc.es/~fbellas/mypersonalizer/ MyPersonalizer], an open source J2EE-based framework for engineering "My" portals, developed under the direction of my master thesis teacher [http://www.tic.udc.es/~fbellas/ Fernando Bellas].   I am a student on the [[http://www.tic.udc.es/|Information and Communication Technologies Department]] in [[http://www.fi.udc.es/|Computer Science Faculty]] at [[http://www.udc.es/|University of A Coruña]], Spain. I am currently developing a WSRP integration layer with [[http://www.tic.udc.es/~fbellas/mypersonalizer/|MyPersonalizer]], an open source J2EE-based framework for engineering "My" portals, developed under the direction of my master thesis teacher [[http://www.tic.udc.es/~fbellas/|Fernando Bellas]].
Line 61: Line 61:
  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 [http://www.debian.org/ Debian GNU/Linux] as my main operating system since 1998 and I am a member of [http://www.gpul.org/ 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.   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 [[http://www.debian.org/|Debian GNU/Linux]] as my main operating system since 1998 and I am a member of [[http://www.gpul.org/|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.

Diego Louzán Summer of Code 2005 Proposal

This document is a proposal for Google's Summer of Code 2005. It's based on a refactoring of the WSRP4J project, aiming towards the final acceptance of WSRP4J as a full Apache project.

Name

  • Diego Louzán

Email

Project Title

  • wsrp4j-refactor

Synopsis

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

Deliverables

  • Repository reorganization for making it clearer and cleaner. Covering WSRP4J-56.

  • Improved build, configuration and installation process by use of Apache Maven.

  • Producer & Consumer code Pluto-independent, using a plugin system for making it compatible with any portal server. Covering WSRP4J-30, WSRP4J-61 and WSRP4J-62.

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

Project Details

  • 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:
    1. It does not fully implement the OASIS WSRP specification (particularly it does not support Producer Templates).

    2. 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.
    3. It is difficult to configure the web applications, it's needed to ease the burden of configuration.
    4. The producer and consumer code is tightly coupled to Apache Pluto, this prevents other portals from supporting WSRP4J.
    5. There is very little documentation about the project.
    The fact that WSRP4J is still inside the incubator and that the size of the code base is relatively small makes us think that these goals are feasible. The proposal covers all these deficiencies and takes advantage of my experience gained last year using and studying WSRP4J. The goal of these improvements is graduate WSRP4J to a full Apache project.

Project Schedule

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

Bio

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

References

DiegoLouzan/SummerOfCode2005Proposal (last edited 2009-09-20 23:35:44 by localhost)