Advanced Rails - Building Industrial-Strength Web Apps in Record Time

(Tuis.) #1
Further Reading | 235

The s3fuse project (http://sourceforge.net/projects/s3fuse/) is an implementation of an
S3 client using FUSE (a Linux filesystem framework that runs in userspace rather than
kernel space). This makes it possible to mount an S3 bucket as a Linux filesystem and
use it transparently within unmodified applications.


Park Place, bywhy the lucky stiff(http://code.whytheluckystiff.net/parkplace), is a
nearly complete clone of the Amazon S3 web service. It is perfect for developing and
testing S3 applications without requiring an S3 account or payment. It does not sup-
port S3’s SOA Pinterface, but it supports most everything else, including distributing
objects with BitTorrent.


Park Place is written using the excellent Camping web microframework,
also bywhy the lucky stiff(http://code.whytheluckystiff.net/camping).
Camping is a very stripped-down Ruby framework modeled after Rails
but taking less than 4 kb of source (packed).
Incidentally, the Camping source is a great place to learn Ruby meta-
programming inside and out.

Further Reading


Roy Fielding’s dissertation,Architectural Styles and the Design of Network-Based
Software Architectures, is available online fromhttp://www.ics.uci.edu/~fielding/pubs/
dissertation/top.htm.


The REST wiki is full of theoretical as well as practical guidance about the principles
of REST:http://rest.blueoxen.net/.


The HTTP/1.1 specification, RFC 2616, is fairly accessible for the working web
developer. Every web application developer should at least be conversant in HTTP.
An HTML version of the RFC is available fromhttp://www.w3.org/Protocols/rfc2616/
rfc2616.html.


Leonard Richardson and Sam Ruby’sRESTful Web Services(O’Reilly) is a very acces-
sible, yet comprehensive, introduction to the principles of RESTful design. Although
it is oriented toward machine-consumable web services, the principles of REST are
generally applicable to any network architecture.


Software architecture has a surprising amount in common with building architec-
ture. For a different perspective on software architecture, Christopher Alexander’s
classic trilogy (The Timeless Way of Building,A Pattern Language, andThe Oregon
Experiment) is worth a read. The books describe how architecture influences and is
influenced by life. Alexander’s philosophies on architecture were the inspiration for
the modern software design patterns movement.

Free download pdf