Friday, June 16, 2006

Cocoon, my preferred platform for web development

I thought it was about time I posted something on the platform I have been producing sites and applications with for about two years now, Cocoon. We use Cocoon at my company VNU BME Europe for all our main business websites. Initially this was just within the UK where we have had some fifteen or so websites running on Cocoon 2.1.5 for about two and a half years. Our sites get vast amounts of traffic, and all 15 are running off three live machines, with the load spread by two proxies. The platform was designed and architected by a friend of mine Pier Fumagalli (of Java, Apache and Cocoon fame), and thanks to him I have had some excellent experience in working with high load sites, and cutting edge XML publishing systems.

More recently, Pier once again designed the basis for a new platform which we are rolling out across Europe (already live in Italy), see the following list of sites;

This time my role, aside from the custom Cocoon templating language Pier built, was much more involved in architecting key parts of the system, this was great experience for me at this point in my career. The Italian websites have so far been up and running for some ten weeks, so far so good. France and Spain are soon to follow! Just a few weeks ago, I stepped up into Pier's role as Application Developer and Architect, as sadly he has decided it is time to leave the websites business after spending the best part of the last fifteen years in it. So now the challenge, and problems to solve are mine, lets hope all his help and passing on of knowledge has set me in good stead!

So why Cocoon? Well, we, as part of the publishing world, opted for XML as a format for handling articles, (common sense really), and Cocoon is just about the most complete XML manipulation toolkit you can find. Currently on 2.1.9 stable, it is a little more complex and heavyweight than many platforms, but just enables you to do things in a very tidy way when the solution is thought through carefully. Our platform is a stripped down version of 2.1.9, with a custom templating language built on, and a nice 'inherited' component system. It enables our designers to build entire sites in a matter of days once the core generic components are available, this enables us to work with a small agile team of developers.

Hope you go take a look at Cocoon, its worth a try. More details to come soon!

No comments: