DDD and REST – Domain-driven APIs for the Web
While Domain-driven Design is supposed to take care of complexity in the very core of software, REST is usually treated as a plain remoting technology. In this talk we’re going to explore some of their commonalities in respect to designing both the domain and the resources. We’re going to discover how a good domain design is essential to building a great REST API in the first place and illustrate which means REST provides in order to make your APIs more domain driven.
Among all building blocks of DDD, the talk identifies the most important ones when it comes to building a good REST API: we’re going to look at aggregates as natural boundaries for representations, repositories as the backing foundation for collection resources and how hypermedia allows making domain specific state transitions explicit.