Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

DDD, Rails, and MongoDB

DZone's Guide to

DDD, Rails, and MongoDB

· Database Zone ·
Free Resource

Discover Tarantool's unique features which include powerful stored procedures, SQL support, smart cache, and the speed of 1 million ACID transactions on a single CPU core!

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.

Discover Tarantool's unique features such as powerful stored procedures, SQL support, smart cache, and the speed of 1 million ACID transactions on a single CPU.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}