Peter Marklund's Home |
RailsConf Europe 2007: Rails and the Next Generation Web
A sponsored presentation at the conference that I think stood out in how professionally it was executed and also touched on interesting topics was the one by Craig R. McClanahan from Sun. As I learned later, Craig has one of the most impressive track records I've seen in the Java community, being the creator of Struts and a contributer to a wide range of technologies including Tomcat and JavaServer Faces. In his talk Craig was urging Rails developers to move beyond the traditional three tier architecture of web applications. In plain english this means moving away from the classic scenario of a dumb browser talking to a single Rails application connected to a single database. Three developments in the industry today that are moving us away from this architecture are:
- Moving application logic to the client with JavaScript and transfering data instead of markup
- Server side mashups - refactoring a monolithic big app into multiple small apps
- Massively scaled applications - shifting vertical scaling to horizontal scaling
Craig was urging Rails plugin developers to avoid hard wired dependencies on ActiveRecord. Examples of plugins that succeed with this are acts_as_authenticated, make_resourceful, and paginator. Craig ended with three pieces of advice:
- Leverage duck typing to provide functionality without assuming an underlying base class
- Expose services with REST
- Think of your application as an internal mashup
The presentation slides are available online.