Patterns on Deriving APIs and their Endpoints from Domain Models

Patterns on Deriving APIs and their Endpoints from Domain Models

Abstract

Domain-Driven Design (DDD) places the domain model at the center of all software development practices. Remote API design is crucial for developing distributed systems including, for example, microservice-based systems. While software practitioners realize APIs based on DDD models, clear guidance on how to derive APIs and API endpoints from domain model elements is still missing. Based on prior in-depth studies of practitioner sources on this and related topics, we have mined patterns to address these design problems. In particular, we present the domain model facade as api pattern which describes how to derive an API from a Domain Model. To explain further how derive API endpoints constituting the API from Domain Model elements, we present the aggregate roots as api endpoints, domain services as api endpoints, and domain processes as api endpoints patterns. In addition, we relate these patterns to the previously published patterns api description and api contract, both explaining how to describe APIs formally.

Grafik Top
Authors
  • Singjai, Apitchaka
  • Zdun, Uwe
  • Zimmermann, Olaf
  • Pautasso, Cesare
Grafik Top
Projects
Grafik Top
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
26th European Conference on Pattern Languages of Programs 2021
Divisions
Software Architecture
Subjects
Systemarchitektur Allgemeines
Event Location
Irsee, Germany
Event Type
Conference
Event Dates
July 7-9, 2021
Series Name
Proceedings of the European Conference on Pattern Languages of Programs 2021
Date
7 July 2021
Export
Grafik Top