This page has moved to

Saturday, July 07, 2007

REST rules

I am a software architect who also writes a lot of code. I very much like using different programming languages for different system modules based on language features and available libraries. In other words, I have moved past trying to write everything in C++ or Java.

For my current project, I need to do a lot of development in both Ruby (small utilities, database, text utilities, Rails) and back end Common Lisp AI processes. After decades of building custom socket interfaces, CORBA, SOAP, JMS, etc. the simplicity of REST is just right for most of what I need to do that consists of stateless service requests. REST services can return plain text, JSON, XML, etc., depending on what makes sense for any given service.

Implementing Ruby REST clients is simple (what isn't in Ruby :-), and writing generic REST services in Lisp is simple enough using any of the common Lisp web servers (I use Portable AllegroServe, but any that you like will do).