Speakers
- Ben Alex
- Michael Alford
- Andres Almiray
- Scott Andrews
- Alex Antonov
- Alef Arendsen
- Mattias Arthursson
- Shay Banon
- Jean Barmash
- Antranig Basman
- Chris Beams
- Burt Beckwith
- Peter Bell
- Tim Berglund
- Imad Bernoussi
- Jonas Boner
- Jon Brisbin
- Jeff Brown
- Kent Brown
- Dennis Callaghan
- Isaac Christoffersen
- Andy Clement
- Christophe Coenraets
- Adrian Colyer
- Michael Cote
- Hamlet D'Arcy
- Joshua Davis
- Scott Davis
- Hans Dockter
- Keith Donald
- Christian Dupuis
- Justin Edelson
- Mike Esler
- Mike Evans
- Danno Ferrin
- Robert Fischer
- Adam Fitzgerald
- Andrew Glover
- Jeremy Grelle
- Filip Hanik
- Colin Harrington
- Rob Harrop
- Ryan Heaton
- Jennifer Hickey
- Pete Higgins
- Hal Hildebrand
- Al Hilwa
- Juergen Hoeller
- Jim Jagielski
- Steve Jin
- Rod Johnson
- Mike Keith
- Jack Kennedy
- Mik Kersten
- Paul King
- Dave Klein
- Mark Kralj-Taylor
- Guillaume LaForge
- Costin Leau
- Scott Leberknight
- Peter Ledbrook
- Charles Lee
- John Lewis
- Patrick Linskey
- Martin Lippert
- Mat Lowery
- Wayne Lund
- Randy MacBlane
- Andi Mann
- Maudrit Martinez
- Ross Mason
- Tom McCuch
- Richard McDougall
- Sudhir Menon
- Marty Messer
- Russell Miles
- Jim Moore
- Ryan Morgan
- Justin Murray
- Billy Newport
- John Newton
- Peter Niederwieser
- Glyn Normington
- Brian Oliver
- Pratik Patel
- Prasad Pimplaskar
- Mark Pollack
- Alexandru Popescu
- Arjen Poutsma
- Yan Pujante
- Cameron Purdy
- Jags Ramnarayan
- Mark Richards
- Thomas Risberg
- Jared Rodriguez
- John Rymer
- Vipul Savjani
- Stefan Schmidt
- Mark Schwartz
- Nati Shalom
- Ken Sipe
- Brian Sletten
- Javier Soltero
- Randy Stafford
- Mike Stenhouse
- Matt Stine
- Rossen Stoyanchev
- Venkat Subramaniam
- Dave Syer
- Matthew Taylor
- Mark Thomas
- Greg Turnquist
- Thomas Van de Velde
- Erwin Vervaet
- Scott Vlaminck
- Alexander von Zitzewitz
- Chris Wall
- Craig Walls
- Lucas Ward
- Kevin Whinnery
- James Williams
- David Winterfeldt
- Chip Witt
- Eberhard Wolff
- Aaron Zeckoski
- Oleg Zhurakousky
- Ari Zilka
- Kris Zyp
RESTing easy with Grails
Representational state transfer (REST) is a way of thinking, not a protocol or standard-- it's a style of designing loosely coupled applications that rely on named resources (in the form of URLs, URIs and URNs, for instance) rather than messages. Ingeniously, REST piggybacks on the already validated and successful infrastructure of the Web-- HTTP. That is, REST leverages aspects of the HTTP protocol such as GET and POST requests, which map quite nicely to standard business-application needs such as create read, update, and delete (CRUD). By associating requests, which act like verbs, with resources, which act like nouns, you end up with a logical expression of behavior: GET this document and DELETE that record, for example.
To quote Leonardo da Vinci, "simplicity is the ultimate sophistication." REST embodies this thought and thus yields highly scalable, loosely coupled systems that, as it turns out, are simple to build. There are a few mechanisms for implementing RESTful applications-- Restlets and JSR 311 are two in a handful of options; however, they address one aspect of RESTful applications and ignore other aspects like an ORM and testing. Groovy's Grails gives you the ability to apply RESTful techniques with a full fledged web application framework that supports an ORM and testing to boot! As you see, using Groovy's Grails framework makes building RESTful Web services a snap.
About Andrew Glover
Andrew is the founder of the easyb BDD framework and the co-author of Addison Wesley's "Continuous Integration", Manning's "Groovy in Action" and "Java Testing Patterns". He is an author for multiple online publications including IBM's developerWorks and Oreilly's ONJava and ONLamp portals. He actively blogs about software at thediscoblog.com.
More About Andrew »