Hi Martin, On Aug 26, 2008, at 7:51 PM, Martin Cooper wrote:
Yeah, an association with WebKit was my first assumption as well.
Agreed. New name.initiate().run().
My greater concern, though, is purporting to compare technologies using one application with a very specific purpose. Certain technologies may shine in one application scenario and suck in others, while other technologies may show quite the opposite characteristics. Picking one application with which to demonstrate and, especially, compare a set of technologies doesn't tell a particularly useful story unless you happen to be building just that type of application. Sadly, many people don't take that into account, so that atechnology demonstration such as this may lead them in non-optimal directions.
There are at least two different objectives for the project. First is to show how to build applications in different frameworks that would give an idea of how the pieces are put together using the different frameworks. Second is how the implementations actually work under load.
What we would like to do here is to put an application together that has a number of web 2.0 features and then mix and match the presented load based on users' configurations. So rather than a fixed set of operations that yields a single number result, varying the load would allow you to compare operations that better match your application.
Incidentally, there also appear to be assumptions about the architecture. For example, it looks like the use of a database is assumed, whereas incertain applications, a content repository might be more appropriate.Similarly, the use of a server-side web framework versus directly callingweb services. There are many, many more options to consider.
These are excellent points where it would make sense to add a replacement point for technology. With some skilled architects on the project, defining the replacement points (architected interfaces) would be a strong plus.
Craig
-- Martin CooperOn Tue, Aug 26, 2008 at 7:13 PM, Brett Porter <[EMAIL PROTECTED]>wrote:Without too much thought into the rest of it just now, the first thingI thought was that this would have something to do with WebKit, which it doesn't and would probably be very confusing? - Brett 2008/8/27 Craig L Russell <[EMAIL PROTECTED]>:This is a proposal to incubate http://wiki.apache.org/incubator/Web20KitProposal We're looking for a couple more mentors. Web20Kit Abstract Web20Kit is a web 2.0 toolkit to help developers evaluate thesuitability,functionality and performance of various web technologies by implementingareasonably complex application in several different technologies. ProposalWeb20Kit will develop an example application to understand the benefits,performance, and scalability of popular web technologies. Multipleimplementations of the application are planned - each providing the samefunctionality but staying true to the philosophy of its base language/framework. BackgroundMost web 2.0 sites today use open source languages and frameworks such asPHP, Ruby on Rails, and Java EE to develop their applications.Deploymentsof these applications also use popular open source servers such as Apachehttpd, Tomcat, MySQL, Memcache, and Glassfish. Many otherservers/technologies such as lighttpd, mogileFS, mongrels, JRuby are alsogaining popularity.With the myriad technologies available, it is not easy to understand how they differ, especially in terms of performance and scalability. Withvariedlevels of documentation available for some open source applications, itisalso quite difficult for a web 2.0 startup to understand the correctusageof these technologies so that they don't become a bottleneck as theirsitegrows. RationaleWeb2.0kit is a toolkit that will attempt to address the above issues.What it does Web20Kit defines an example web 2.0 application (the initialimplementationuses 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 measureperformance.As developers join the project, they can implement the same application using their favorite web frameworks and compare their implementations toothers. 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 involvedandhow to get around issues with these technologies.b) Evaluate the differences in the implementations: PHP, Ruby on Rails,JavaEE, and other contributed implementations to understand which might bestwork for your situation.c) Within each language implementation, evaluate different infrastructure technologies by changing the servers used (e.g: apache vs lighttpd, MySQLvsPostgreSQL, Ruby vs Jruby etc.)d) Drive load against the application to evaluate the performance andscalability of the chosen platform. e) Experiment with different algorithms (e.g. memcache locking, adifferentDB 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 tocompareand contrast these technologies in a manner that does not exist today. By providing excellent sample implementations of a concrete application thatisavailable to everyone, we will enable faster and easier applicationdevelopment for users. Although we list three implementations in thisproposal, we encourage others to come up with many more using otherlanguagestacks and/or frameworks e.g. Spring framework, Python etc. Current StatusThis is a new project with some sample not-ready-for-prime-time code.MeritocracyThe initial developers are very familiar with meritocratic open source development, both at Apache and elsewhere. Apache was chosen specificallybecause the initial developers want to encourage this style ofdevelopmentfor the project. Community Web20Kit seeks to create developer and user communities duringincubation.Core DevelopersThe 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 Web20Kit want to work with the Apache SoftwareFoundation specifically because Apache has proven to provide a strongfoundation and set of practices for community-based development. Known RisksOrphaned products This project has a lot of enthusiasm among the core developers, hasongoingdevelopment, and is not orphaned. Inexperience with Open SourceThe initial developers are well-versed in open source methodologies andpractices. Homogenous DevelopersThe initial group of developers is from two organizations. We would liketoexpand this and that is a primary reason for bringing this project toApache. 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 ProductsNone in particular, except that Apache HTTPD is the most common place torunPHP, and which the initial PHP implementation uses. A Excessive Fascination with the Apache BrandWe believe in the processes, systems, and framework Apache has put inplace.The brand is nice, but is not why we wish to come to Apache. DocumentationInitial SourceSun Microsystems Inc. intends to donate code for their PHP implementationofthe sample events application as well as code to drive load against the application. UC Berkeley intends to donate code for the Ruby on Railsimplementation.This code is still a work in progress and will be provided primarily as astarting place for a much more robust, community- developedimplementation.External DependenciesRequired Resources Developer mailing lists [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] A subversion repository A JIRA issue tracker Initial Committers • Akara Sucharitakul < [EMAIL PROTECTED]> Shanti Subramanyam < [EMAIL PROTECTED]> Binu John < [EMAIL PROTECTED]> Kim Lichong < [EMAIL PROTECTED]> William Sobel < [EMAIL PROTECTED]> Arthur Klepchukov < [EMAIL PROTECTED]> Craig Russell < [EMAIL PROTECTED]> SponsorsChampion • Craig Russell < [EMAIL PROTECTED]> Nominated Mentors • Craig Russell < [EMAIL PROTECTED]> Sponsoring Entity The Apache Incubator. Craig L Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!-- Brett Porter Blog: http://blogs.exist.com/bporter/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Craig L Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature