Ingo Weiss: Process Logic Abstraction With Rails 3

Rails has made it trivial to work with REST resources. As domains get more complex, however, basic CRUD tasks such as the creation or deletion of a resource are likely to be but small building blocks in larger processes involving many resources (take the construction of a car for example). The flow of work is governed by arbitrarily complex rules, managing which can quickly become a challenge if they are hardcoded and scattered across multiple controllers (as they usually are in Rails).

Tackling the task of abstracting out process control we discovered that new Rails 3 features, most notably responders, allowed us to do so unobtrusively, making available CRUD tasks for existing REST resources as building blocks for processes, instantly and without even touching the application’s code. These building blocks can then be assembled into instantly executable processes via drag and drop using an in-browser editor for a flowchart-like graphical notation (BPMN). All this can be done while the application is running, making it very cheap to continuously improve processes.

To show all this in action, I will conclude my talk by building an application that runs a fairly complex example process, from scratch and in a matter of minutes.

Register to hear Ingo talk and win him some points!

About Ingo

Ingo Weiss

Website: http://github.com/ingoweiss

Ingo is a Lead Developer at Metaversum(twinity.com) in Berlin, Germany. Before that, he designed and built web applications and interactive educational experiences at WGBH, Catapult Thinking, and worked as a consultant in Boston, USA. He also taught Interaction design and Rails application development, among other classes, at Northeastern University.

Ingo’s Specialties:

  • Resource Awareness