• Engine Yard
  • LivingSocial
  • VMware
  • Heroku
  • Rackspace Hosting
  • Blue Box Group
  • JetBrains
  • New Relic
  • Percona
  • Pivotal Labs
  • Rails Dog
  • WyeWorks
  • Chargify

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at RailsConf, contact Yvonne Romaine at yromaine@oreilly.com.

Download the RailsConf Sponsor/Exhibitor Prospectus

Contact Us

View a complete list of RailsConf contacts.

Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA System

Dan Pilone (Element 84, LLC), Jason Gilman (Element 84)
General
Location: Ballroom I
Average rating: ***..
(3.88, 17 ratings)

This presentation is a case study in introducing Ruby on Rails into a highly available NASA Earth Science Data Search and Order system. The NASA ECHO system is a publicly accessible system that catalogs roughly 100M pieces of Earth Science metadata. Our metadata database is a three node Oracle RAC cluster of roughly 1TB in size representing several PBs of raw science data. The majority of the system system was implemented in Java with one significant exception: the web client used by 98% of our users was written in Perl. After over a decade of maintenance the Perl based application had reached the end of its serviceable life and we had the opportunity to build a new client application.

The ECHO team conducted a survey of modern development technologies including Flex, Python/Django, JSF2/Spring and Ruby on Rails. We chose to implement the new client using Ruby on Rails with JRuby which led directly to reimplementing multiple core pieces of the system beyond the client application.

The impacts on the ECHO team, including our stakeholders, were immediate and sometimes subtle. The technology selection caused shifts in our architecture and design, development and deployment procedures, requirement definition approach, testing approach, and, somewhat surprisingly, our project team structure and software processes.

This presentation discusses our experiences, including technical, process, and psychological, using RoR on a production system. During this session we discuss:

  • Real impacts of introducing a dynamic language to a Java team including tooling changes, training, learning curves, fear and loathing of metaprogramming, and becoming “native” Ruby developers.
  • Real and perceived efficiency advantages including our original thought that using JRuby would mean we’d take advantage of large parts of our existing code base.
  • Impediments to adoption and effectiveness and how we tackled them including collapsing our test team into our development team, changing our sprint lengths… then changing them back, and setting up an environment that promoted learning not only Ruby but new patterns and views of the system.
  • Impacts of transition from Test Driven Development to Behavior Driven Development including stakeholder impact of leveraging Cucumber to provide fully executable requirement documents
  • Overview of how we implemented a REST API alongside our SOAP/Java based application including bridging APIs and how we use Warbler and Bundler to continue deploying into our existing app servers.
  • A frank discussion of what went wrong, what we would have done differently and what we still haven’t really figured out.

This presentation targets experienced developers and project managers who are interested in how Ruby on Rails can have cascading effects beyond just the development team. In addition, our experiences can provide Rails shops and consultants some insight as to how to successfully move client projects to Rails.

Photo of Dan Pilone

Dan Pilone

Element 84, LLC

Dan Pilone is the founder and Managing Partner of Element 84, a consulting and custom software development company located in Northern Virginia. He has designed and implemented systems for NASA, Hughes, ARINC, UPS, and the Naval Research Laboratory. He has taught project management, software design, and software engineering at The Catholic University in Washington D.C. Dan has written several books on software development, including Head First iPhone Development, Head First Software Development, UML 2.0 in a Nutshell and UML 2.0 Pocket Reference.

Photo of Jason Gilman

Jason Gilman

Element 84

Jason Gilman is a software engineer with 10 years of experience developing C++, Java, and Ruby on Rails applications. Jason has been published on the DevX website. Jason has developed several high performance query and processing implementations for Earth Science data.