Olio defines an example web2.0 application (an events site somewhat like yahoo.com/upcoming) and provides three initial implementations : PHP, Java EE and RubyOnRails (ROR).
The Olio toolkit also defines ways to drive load against the web application in order to measure performance.
Here are some key features of "Olio":
· Understand how to use various web2.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.
· Evaluate the differences in the three implementations: php, ruby and java to understand which might best work for your situation.
· Within each implementation, evaluate different infrastructure technologies by changing the servers used (e.g: apache vs lighttpd, mysql vs postgre, ruby vs Jruby etc.)
· Drive load against the application to evaluate the performance and scalability of the chosen platform.
· Experiment with different algorithms (e.g. memcache locking, a different DB access API) by replacing portions of code in the application.