Proposal for WADI (Web Application Distribution Infrastructure) to Join Geronimo
Section 0 : Rationale
Achieving software infrastructure scalability is a tenet of Return on Investment (ROI) for any IT infrastructure and usually takes place in two forms: vertical scalability and horizontal scalability. Vertical addresses the scalability within the software itself whereas horizontal deals with it from the amount of hardware that can be utilized. Clustering, load balancing and failover is a necessity for any application server to be taken seriously in the enterprise in terms of scalability. Without the ability to cluster the application server, vertical scalability cannot take place. Without such vertical scalability, applications built on top of it can only be scaled horizontally. In order to make Geronimo more enterprise ready, it needs to provide such vertical scalability.
WADI is a clustering, load balancing and failover solution for the web application container tier. It currently supports both Jetty and Tomcat and plans are currently afoot to add full J2EE clustering functionality. WADI will help Geronimo to achieve vertical scalability.
Section 0.1 : Criteria
We believe that this project has a continued probability of success at the ASF under the guidance of the Geronimo PMC. WADI already has a code base and a group of committers. The following considerations have gone into this line of thinking:
a) Meritocracy: The project will be meritocratic - the usual Apache meritocracy rules would apply.
b) Community: The initial developer community will consist of the current WADI committers as well as the existing Geronimo developer community. The need for a full service clustering and caching component in the open source is tremendous as its use can be applied in many areas, thus providing the potential for an incredibly large community. In addition, as the project is integrated with Geronimo, we expect this community to grow immensely.
d) Alignment: The alignment of WADI with Geronimo is only one offering. WADI will also align nicely with Tomcat and very likely other projects at the ASF. The need for WADI should allow for powerful alignment in nearly any server based offering in Apache that requires high availability.
e) License: WADI already utilizes the Apache License 2.0.
Section 0.2 : Warning Signs
a) Orphaned Software: WADI contains no software that was abandoned and the developers on the project have no intentions of leaving the project behind at the ASF.
b) Experience With Open Source: Most of the comitters have a proven track record in open source.
c) Homogeneous Developers: WADI's developers are currently all over the world, including the UK, US, and France. There are developers from various companies: Core Developer's Network, Jailey Solutions, Virtuas, Gordon Technologies, Savoir Technologies, Mortbay, and Quativa.
d) Reliance on salaried developers: All committers are a part of WADI due to their interest in producing a clustering component. This project does not rely on 9-5-only workers who are paid solely to work on WADI.
e) No Ties to Other Apache Products: WADI already provides clustering and high availability to the Tomcat and Jetty projects and will be providing the same thing for OpenEJB and the Geronimo project.
f) Achieving the Apache Brand is a Prominent Goal: WADI shares a set of common goals with the ASF and it is already licensed using the Apache License 2.0. The developer base agrees that joining the ASF will help the project continue to flourish and grow. The ASF model for growing communities is ideal for WADI. WAID already exercises meritocracy and Apache best practices.
Section 1 : Scope of the project
WADI currently provides a distributed cache with pessimistic locking along with a Web Session implementation and integrations to Tomcat-5.0/5.5 and Jetty5/6. We are working on an OpenEJB integration, so that both Web and EJB tiers may make use of a common framework. Ultimately, we intend to make the clustering framework available to any tier in which it may be useful, including application-space POJOs, via a standard interface (JSR107/JCache).
Geronimo is the natural home for WADI as here we will be able to tighten our integrations to all of these projects, as well as working on Application Server space clustering issues that are not found when dealing with isolated containers.
Section 2 : Initial source from which the project is to be populated
The initial source code will come from a subset of the code from the WADI project at Codehaus (http://wadi.codehaus.org/).
Section 3: Identify the ASF resources to be created
Section 3.1 : Mailing Lists
Section 3.2: SVN Repositories
Section 3.3: Issue Tracking
Section 4: Identify the Initial Set of Committers
- Bill Dudney (MyFaces)
- Bruce Snyder (Castor, Geronimo PMC, ServiceMix, TranQL)
- Jan Bartel (Geronimo PMC, Jetty)
- Greg Wilkins (Geronimo PMC, Jetty)
- James Strachan (Geronimo PMC, ActiveCluster, ActiveMQ, ServiceMix, ...)
- Jeff Genender (Geronimo PMC, OpenEJB, ServiceMix, Mojo)
- Jules Gosnell (Geronimo PMC, Jetty)
- Gianni Scenini
- James Goodwill
Section 5: Identify ASF Sponsor
The Champions will be James Strachan and Geir Magnusson and the sponsor for Incubation will be the Geronimo PMC.