Riding the Rails with Coupa

As you may recall, Sourcing Innovation was one of the first blogs to bring you a detailed preview of Coupa, the revolutionary new enterprise open-source e-Procurement application from Silicon Valley. One of the most interesting aspects of this technology is that it is being built on Ruby on Rails (RoR), as discussed by co-founder Dave Stephens in this post on his blog Procurement Central.

This is a bold move considering that RoR is still a relatively new technology that is essentially unproven in the enterprise application market beyond the corporate website, but one that could pay off big time for Coupa when you consider the rapid development time enabled by RoR as compared to other enterprise platforms such as Java and .NET (where WORA* does not apply). Personally, I’m still a big Java fan, but I can see RoR becoming the platform of choice in a couple of years for a number of reasons:

  • faster development time
    following the mantra of “convention over configuration”, RoR sacrifices flexibility for convenience, allowing developers to do more, quicker, and better within the framework provided which makes basic assumptions that significantly decrease the amount of configuration required
  • MVC architecture
    unlike most enterprise frameworks that have preceded it, RoR was built on the MVC architecture from the ground up and has built in object-relational mapping capabilities
  • full stack framework
    whereas some platforms require extensions from multiple vendors, Rails provides all of the components commonly needed by most web-based systems
  • designed for reusability
    RoR adheres to the DRY (Don’t Repeat Yourself) philosophy and its framework was designed to allow every piece of knowledge in the system to be expressed in just one place
  • preconfigured application structure
    RoR automates the creation of project structure and automatically creates all files and components needed by default (no need for a fancy IDE to automate these tasks for you)
  • simplicity
    rails wasn’t designed to do everything, and its focus on the common features used by a majority of programmers a majority of the time removed much of the complexity inherent in many application frameworks; note that this does not limit its capability, as it includes a robust extension mechanism to allow development teams to add (only) the capabilities they need
  • strong community uptake
    a large number of developers, especially in the open source community, are latching onto RoR as their development environment of choice as it overcomes the shortcomings of web scripting languages such as PhP and the impracticality of J2EE for (rapid) web-based development
  • XML compliant
    so if you need to integrate with a non RoR app, no problem!
  • rapidly maturing environment
    just like Java, RoR is rapidly maturing from a neat language for cool web page development to a full fledged enterprise application development platform – I’d say it’s pretty close to Java 1.2 in terms of lifecycle, which is where Java truly became a solid language for application development

In other words, instead of jumping onto someone else’s bandwagon, Coupa has decided to jump into the driver’s seat and lead the charge in the development of eProcurement applications.

And if you want to join the RoR movement early, but don’t know where to begin, consider checking out www.daveastels.com, especially if you are in the NorthEast, for courses, resources, and best practices consulting.

*WORA: Write Once Run Anywhere