Web services on rails: Using ruby and rails for Web services development and mashups
Abstract
One of the interesting aspects of the Web 2.0 'evolution' is the wide-availability of various Web applications as APIs or Web services. These APIs expose informational services on the Web and take many form of remote invocation of functions using standard Web protocols and XML for data representations, e.g., REST, SOAP/WSDL, XML-RPC, and other approaches. The services (or APIs) are also usually accompanied by user facing Web applications for human-consumption. Canonical examples are Google Maps, Yahoo! Flykr and del.icio.us, EVDB's Eventful's application and API, Amazon.com's S3, ECS, Alexa, and many others. The Ruby programming language and its Rails framework are ideal for programming Web applications and services in the Web 2.0. Ruby's modern and dynamic features make it an excellent language for rapid prototyping and integration of various Web services. Rails' superb support for rapid Web application development, database access, and AJAX, make it well suited for creating front-ends and back-ends to the next generation of Web applications and services. In this tutorial we will take a hands-on deep-dive into the Ruby and Rails platform and learn how they can be used to: (1) create Web applications backed by a relational database, (2) consume Web services, (3) create and deploy APIs or Web services, and (4) mashup of existing Web services and applications. No a priori knowledge of Ruby or Rails is require-although some programming in a modern OO language and Web application development are definite plus.