NoSQL Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

DDD, Rails, and MongoDB

08.11.2013
| 2543 views |
  • submit to reddit

DDD isn't well known in Ruby developer circles.  Don't discount it.  DDD could be a boon to the Ruby community if it gained momentum.  See how this sample Ruby on Rails/MongoDB app was built using DDD techniques.  

Ruby has a rich OSS ecosystem, a vibrant agile development community, a strong commitment to design, and many talented modelers and designers. Yet using DDD to do strategic design and domain modeling is virtually unknown in the Ruby community.

This presentation is an attempt to bridge the gap via an exploration of what DDD might look like through Ruby/NoSQL-coloured glasses. The basis for this will be a port of the DDD sample app to Ruby on Rails using MongoDB for persistence. We'll cover interesting questions such as:

  • How does the choice of Ruby affect the implementation of the DDD building block patterns?
  • How well does an opinionated MVC framework like Rails support doing DDD?
  • What are implications of choosing a document store like MongoDB for aggregate design and eventual consistency?

In the process we'll highlight significant lessons learned from porting the DDD sample app to Ruby/MongoDB, some significant concerns and aim to show potential ways forward.