Friday, January 04, 2008

Ruby On Rails: New Book Guides New Solutions (Review)

A new book, just released by Packt Publishing, can help make elearning solutions more efficient by using the Ruby on Rails web development framework. The book, which is intended for users who have a basic familiarity with the framework, and who wish to develop their own applications or enterprise solutions, contains valuable guidance and insight. It is not intended for users who want to develop exotic uses, nor does it require users to be familiar with more complex web-based applications. It is most valuable for the ways in which it instructs users in the planning, development, and deployment processes. The book is entitled Ruby on Rails Enterprise Application Development: Plan, Program, Extend.

Ruby on Rails (Rails for short) has become a very popular web development framework for business applications. It is ideal for training solutions because it can enable applications that do not communicate with each other to interface in a productive way. While such a statement may not seem to mean much at first glance, a closer look into the typical corporate training environment or elearning organization yields a situation where test results, certifications, instructional materials, assessments, registrations, records, and payments are just a few of the data repositories that must communicate with each other.

The problem with canned commercial solutions, or even customized solutions by a provider such as Oracle, is that the organization changes, objectives redefine themselves, and needs emerge -- all outside the capabilities of the "off the shelf" product.

Ruby on Rails is open source, and readily available for download. While there are a number of sites that provide help with installation and getting started with Rails, there are few resources for the mid-level user who would like to start using Ruby on Rails to help with both mundane tasks as well as more complex ones.

Rails is a very clear, easy-to-use framework that can be written in a text file (using notepad, for example, in Windows), which makes the creation and modification of templates a very simple task. Rails also lends itself to more complex tasks, such as data mining from several different databases that are housed in different servers and accessed using different protocols. So, in addition to making the elearning organization's life easier with respect to organizing and integrating elearning user and content information, Rails can also help make life easier with respect to marketing, tracking, and auditing information.

One of the main advantages of using Ruby on Rails Enterprise Application Development: Plan, Program, Extend is that it guides the user from installation, deployment, and development (and testing) of applications.

Chapter 2 begins with a typical day at the office, and a computing task which turns out to be much more complicated and time-consuming to do than the boss who wants it yesterday would dare to imagine. The programmer is panicked, until she realizes that Rails will allow her to easily do what the boss wants, which is to gather and organize client information from multiple sales rep accounts. The chapter describes the typical database problem, the nature of the challenges, and different strategies for organizing a solution.

Chapters 3 and 4 show the user how to build a foundation for Rails and then to start to work with the web framework, which includes setting up a new Rails application, connecting Rails to a database, and migrating records to complete a database. The chapters are very detailed and contain specific code and instruction.

Chapters 5, 6, 7, and 8 deal with the application experience. The Rails programmer must understand the user and how the user is going to need to use an interface in order to obtain the best results. For the daring developers, the chapters also discuss how to integrate AJAX libraries, which constitute ready-made scripts for integrating web applications. I would say that this is not for the faint of heart. AJAX scripts are notoriously finicky -- just look at all the mashups that limp along and do not play nicely with the various applications they are attempting to integrate. This is most definitely the case when it comes to formatting and display. The chapters continue to roll out the most useful and most-sought-out enterprise needs, which include authentication, task tracking, and catching missing records.

Chapters 9 and 10 help refine and improve deployment of the Rails applications, and guide the user in the best way to build on one's initial success in developing a Rails application. The tips and pointers are pragmatic. They urge the programmer to keep it simple, and to try to keep the applications as object-oriented as possible, as well as streamlined and granular.

In addition to encouraging the user of Rails to be pragmatic and to not attempt what is not feasible, the book guides the Rails application developer to a balanced philosophy -- develop what you need to, to it elegantly, and don't develop what you don't need.

While the Ruby on Rails application manual provides specific solutions which not meet the needs of all readers, the overall organization and the discussion of how to analyze a problem and to bring it into development are extremely helpful because the tips and pointers are universal.

Ruby on Rails: Enterprise Application Development is highly recommended for corporations and elearning organizations seeking to improve quality, efficiency, and marketing of their learning solutions.

Ruby on Rails Enterprise Application Development: Plan, Program, Extend


Smith, E. and Nicols, R. (2007) Ruby on Rails: Enterprise Application Development. Packt Publishing.
508 p. $49.99 US

Blog Archive