Intellectual Scalability - Solving a Large Problem With Multiple Cooperating Rails Apps
Location: Saal Maritim B
When a Rails app gets too large, all sorts of problems can arise, including:
- As the number of model classes and controllers increase, it can become difficult to see the wood for the trees.
- Unwanted dependencies can become difficult to keep on top of.
- Automated tests take longer and longer to run, increasing the length of the development cycle and introducing the danger that developers won’t run them or (even worse) write adequate tests for new functionality.
- Splitting functionality between servers can be difficult.
One solution, when faced with a large and complicated problem, is to solve it by dividing the functionality between several small applications. But how do you get all of these applications to cooperate and appear to the user as though they’re a single coherent whole?
In this presentation we’ll demonstrate how we’ve achieved this at Texperts including:
- An integrated user-interface
- Client-side versus server-side integration
- Sharing code between applications
- Cross-application testing
- Synchronized rollout of multiple applications
Fred Cheung is Texperts’ Chief Wizard. A seasoned Mac developer (he’s the author of Speed Download <http://www.yazsoft.com/>), of late he’s turned his attention to web development. He’s submitted several Rails core patches including “faster fixtures” which reduced test suite execution times in Rails 2.0 by up to 50%.
Paul Butcher is Texperts’ CTO. A veteran of of several technology startups, he’s currently working on an upcoming book on debugging for The Pragmatic Programmers.