Last updated by
5 years ago
Page: PepsiCo Grails Sites Post-Analysis, Version:0
PepsiCo Grails Sites Post-Analysis
There are many in-bound links to this article that may imply that Pepsico itself is using Grails. It is important to stress that this work is performed by Enotions Ltd. on behalf of their Pepsico-owned clients, who love the work we do for their brands but wouldn't know what Grails was if it fell on their toes. Our work with Grails is very well received and we are continuing to roll out further Grails sites for these Pepsico-owned brands.Early in 2007 we (Enotions) put together the first three in a number of commercial websites for some high profile UK food brands, using Grails.Some background: I have previously implemented sites like this using a miminal custom app framework I wrote using Spring, WebMacro and Groovy for logic scripting. I learned a little about grails early in 2006 and have been increasingly involved in Grails itself and eventually in 2007 felt that Grails had what I need to do these new sites.I wanted to use Grails for the following reasons:
- I wanted an ORM but don't have the patience to learn Hibernate. There was just too much ugly parameterized SQL in my sites.
- I wanted to increase unit testing of my apps and the components within them
- Scaffolding offers an attractive way to get quick and dirty back-end admin interfaces for web-apps
- I was already enchanted with Groovy
- Spring rocks
- The sheer simplicitly and compact code had me smitten
It should be noted, though I omitted this originally when writing this page, that this is not a problem with Grails itself. It is a problem for all Java Web applications bundled as WAR files, as the paradigm is to include your view pages + images in the .WAR. In the real world, for content based sites at least, this is not a good paradigm.A minor issue we have is that while the convention-based URI space is convenient, it is not very SEO-friendly. We like to have "search engine friendly" URIs including meaningful words relating to the subject of the page. Again this is fixed in 0.5 with the new URL mappings artefact.The other big issue for us currently is performance. GSP rendering/taglib invocation seems to be slower than it should be and we're working to shake down these issues. We believe some major improvements are possible, but even now our form rendering (the slowest pages to serve due to complexity + taglib usage) is running faster than my previous home-grown application which did not use GSP, and this is actually on a slower box than the home-grown solution.I have confidence that Grails will offer us the scalability options we need to handle large traffic spikes, but we have the separate challenge of working out how to code for this and how to deploy this in hardware terms. After all if anything is "slow" we can fall back to Java classes or JSP pages (shudder).All in all, Grails activity is high. More and more people are joining the team and becoming involved, and there is a good buzz about this. It feels like Rails but on a more proven (Java) infrastructure, with many more options for handling the things that get thrown at us.Marc Palmer marc at anyware dot co dot uk http://www.anyware.co.uk/