Olaf Zimmermann

SoC and ADK Tool Dev edited this page Jun 9, 2016 · 23 revisions

Olaf Zimmermann is a professor and institute partner at the Institute for Software at the University of Applied Sciences (HSR FHO) in Rapperswil, Switzerland. His areas of interest include Web-based application and integration architectures, SOA and cloud design, and architectural knowledge management


Title Domain-Driven Design (DDD) and REST
Level (Un-)Panel
Panelists Dynamically allocated during panel

Domain-Driven Design (DDD) and related practices (e.g., Behavior-Driven Design (BDD) have been proposed as resource identification strategies, for instance in the context of microservices architectures. However, little advice beyond "turn every bounded context into a service that exposes a RESTful HTTP resource" can be found in blog posts and books. This session aims at collecting related patterns, recipes, and good practices. We'll start with a quick recap of the most relevant DDD patterns and the BDD scenario template, and then discuss audience questions and concerns with the objective to compile a collection of candidate patterns/recipes/practices.

  • Are the existing DDD patterns sufficient or should they be refined?
  • Can coupling criteria be identified (a.k.a. forces or decision drivers)?
  • Do we need a resource identification method or practice:
    • How should aggregates and their root entities be translated to REST APIs?
    • What about other entities and value objects? Domain events?
    • What is an adequate representation for service, factory, registry/repository patterns?
    • How can the relationship types in DDD context maps be translated into/leveraged in RESTful API design?
  • Can tools help, or do they only get in the way? How does BDD fit in?
  • How about middleware, e.g. microservices technologies (API GWs)?
Supplemental Domain-Driven Design Quickly (InfoQ e-book, 2006)
Implementing Domain-Driven Design (book by V. Vaughn)
Patterns, Principles and Practices of Domain-Driven Design (book by S. Millett)
E. Evans on DDD and Microservices (Context Maps, Bounded Contexts) (QCon conference presentation video, April 2016)
Using Domain-Driven Design When Creating Microservices (InfoQ report on conference presentation, Feb 16, 2016)
Slides Final Version of Introductory Slides ("5 in 5" plus Supplemental Information)
Minutes Google Doc with raw and postprocessed notes