+1 (binding)
Note: I updated the proposal on the Wiki with my normal e-mail account
([EMAIL PROTECTED]) instead of my work e-mail ([EMAIL PROTECTED])
since my mentoring of this project is unrelated to any aspect of my
work responsibilities).
On Sep 23, 2008, at 10:33 AM, Craig L Russell wrote:
Please vote on accepting Olio into incubation.
The proposal can be found at: http://wiki.apache.org/incubator/OlioProposal
[This proposal was formerly known as Web20Kit]
The text of the proposal:
OlioProposal
Abstract
Apache Olio is a web 2.0 toolkit to help developers evaluate the
suitability, functionality and performance of various web
technologies by implementing a reasonably complex application in
several different technologies.
Proposal
Olio will develop an example application to understand the benefits,
performance, and scalability of popular web technologies. Multiple
implementations of the application are planned - each providing the
same functionality but staying true to the philosophy of its base
language/framework.
Background
Most web 2.0 sites today use open source languages and frameworks
such as PHP, Ruby on Rails, and Java EE to develop their
applications. Deployments of these applications also use popular
open source servers such as Apache httpd, Tomcat, MySQL, Memcache,
and Glassfish. Many other servers/technologies such as lighttpd,
mogileFS, mongrels, JRuby are also gaining popularity.
With the myriad technologies available, it is not easy to understand
how they differ, especially in terms of performance and scalability.
With varied levels of documentation available for some open source
applications, it is also quite difficult for a web 2.0 startup to
understand the correct usage of these technologies so that they
don't become a bottleneck as their site grows.
Rationale
Olio is a toolkit that will attempt to address the above issues.
What it does
Olio defines an example web 2.0 application (the initial
implementation uses an events site somewhat like yahoo.com/upcoming)
and provides three implementations: PHP, Java EE, and Ruby on Rails.
The toolkit will also define ways to drive load against the
application in order to measure performance.
As developers join the project, they can implement the same
application using their favorite web frameworks and compare their
implementations to others.
What you can learn from it
a) Understand how to use various web 2.0 technologies such as AJAX,
memcached, mogileFS etc. in the creation of your own application.
Use the code in the application to understand the subtle
complexities involved and how to get around issues with these
technologies.
b) Evaluate the differences in the implementations: PHP, Ruby on
Rails, Java EE, and other contributed implementations to understand
which might best work for your situation.
c) Within each language implementation, evaluate different
infrastructure technologies by changing the servers used (e.g:
apache vs lighttpd, MySQL vs PostgreSQL, Ruby vs Jruby etc.)
d) Drive load against the application to evaluate the performance
and scalability of the chosen platform.
e) Experiment with different algorithms (e.g. memcache locking, a
different DB access API) by replacing portions of code in the
application.
A robust, community-developed standard implementations of a web 2.0
application using different technologies will enable developers to
compare and contrast these technologies in a manner that does not
exist today. By providing excellent sample implementations of a
concrete application that is available to everyone, we will enable
faster and easier application development for users. Although we
list three implementations in this proposal, we encourage others to
come up with many more using other language stacks and/or frameworks
e.g. Spring framework, Python etc.
Current Status
This is a new project with some sample not-ready-for-prime-time code.
Meritocracy
The initial developers are very familiar with meritocratic open
source development, both at Apache and elsewhere. Apache was chosen
specifically because the initial developers want to encourage this
style of development for the project.
Community
Olio seeks to create developer and user communities during incubation.
Core Developers
The initial core developers are Sun Microsystems, Inc. employees,
and faculty and students at UC Berkeley. We hope to expand this very
quickly.
Alignment
The developers of the Olio want to work with the Apache Software
Foundation specifically because Apache has proven to provide a
strong foundation and set of practices for community-based
development.
Known RisksOrphaned products
This project has a lot of enthusiasm among the core developers, has
ongoing development, and is not orphaned.
Inexperience with Open Source
The initial developers are well-versed in open source methodologies
and practices.
Homogenous Developers
The initial group of developers is from two organizations. We would
like to expand this and that is a primary reason for bringing this
project to Apache.
Reliance on Salaried Developers
Although part of the initial development team are students, the core
developers are employed by Sun Microsystems.
Relationships with Other Apache Products
None in particular, except that Apache HTTPD is the most common
place to run PHP, and which the initial PHP implementation uses.
A Excessive Fascination with the Apache Brand
We believe in the processes, systems, and framework Apache has put
in place. The brand is nice, but is not why we wish to come to Apache.
DocumentationInitial Source
Sun Microsystems Inc. intends to donate code for their PHP
implementation of the sample events application as well as code to
drive load against the application. UC Berkeley intends to donate
code for the Ruby on Rails implementation.
This code is still a work in progress and will be provided primarily
as a starting place for a much more robust, community- developed
implementation.
External DependenciesRequired Resources
Developer mailing lists<moin-email.png> olio-
[EMAIL PROTECTED] <moin-email.png> [EMAIL PROTECTED]
<moin-email.png> [EMAIL PROTECTED] <moin-email.png> [EMAIL PROTECTED]
A subversion repository
A JIRA issue tracker
Initial Committers
•
Akara Sucharitakul <<moin-email.png> [EMAIL PROTECTED]>
Shanti Subramanyam <<moin-email.png> [EMAIL PROTECTED]>
Sheetal Patil <<moin-email.png> [EMAIL PROTECTED]> Binu John
<<moin-email.png>[EMAIL PROTECTED]> Kim Lichong <<moin-email.png> [EMAIL PROTECTED]
> William Sobel <<moin-email.png> [EMAIL PROTECTED]> Arthur
Klepchukov <<moin-email.png> [EMAIL PROTECTED]> Craig Russell <<moin-
email.png>[EMAIL PROTECTED]>
SponsorsChampion
•
Craig Russell <<moin-email.png> [EMAIL PROTECTED]>
Nominated Mentors
•
Craig Russell <<moin-email.png> [EMAIL PROTECTED]> Henning
Schmiedehausen <<moin-email.png> [EMAIL PROTECTED]> Matt
Hogstrom <<moin-email.png> [EMAIL PROTECTED]> Rick Hillegas <<moin-
email.png>[EMAIL PROTECTED]>
Sponsoring Entity
The Apache Incubator.
Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]