February 6, 2020

313 words 2 mins read

Mapping a domain model to a RESTful web API

Mapping a domain model to a RESTful web API

A web API is a channel into your business domain. Because of its simplicity, REST is the de facto standard for developing web APIs, but translating complex domain behavior to simple REST concepts is typically not straightforward. Tom Hofte and Marco van der Linden explore RESTful resource modeling and share practical solutions to bridge the gap between a domain model and a RESTful API.

Talk Title Mapping a domain model to a RESTful web API
Speakers Tom Hofte (Xebia), Marco van der Linden (Xebia)
Conference O’Reilly Software Architecture Conference
Conf Tag Engineering the Future of Software
Location London, United Kingdom
Date October 29-31, 2018
URL Talk Page
Slides Talk Slides
Video

Doing business digitally means that having a web API has become a key asset for many companies. A web API, like a website, is a channel into the business domain. It extends a company’s business beyond traditional boundaries and can act as a true market differentiator. REST—based around resources accessed by simple HTTP CRUD operations—is still the de facto standard for designing web APIs because of its HTTP-based characteristics, such as interface uniformity, client-server decoupling, and web scalability. However, translating often complex business domain behavior to simple REST CRUD concepts is not easy. REST resource modeling is therefore a key activity in the API development process and should get sufficient attention in order to get to a consumer-friendly and evolvable web API. Tom Hofte and Marco van der Linden share practical solutions on how to model domain behavior to a RESTful API, based on DDD concepts and drawn from their own experiences in the field. You’ll have the opportunity to practice in teams with designing a RESTful API for a fictional case and will leave with applied design skills, practical solutions for complex domain to REST mappings, and a better understanding about the choices to be made when designing an API .

comments powered by Disqus