November 16, 2019

317 words 2 mins read

Designing a resource model for a public API

Designing a resource model for a public API

A public API is a new type of service that extends the business model beyond traditional boundaries. Tom Hofte and Marco van der Linden walk you through designing a resource model for a public API. You'll then work in teams to design an API for a fictional case study.

Talk Title Designing a resource model for a public API
Speakers Tom Hofte (Xebia), Marco van der Linden (Xebia)
Conference O’Reilly Software Architecture Conference
Conf Tag Engineering the Future of Software
Location New York, New York
Date February 26-28, 2018
URL Talk Page
Slides Talk Slides
Video

Doing business digitally means that a public API has become a key asset for many companies. A public API is a new type of service that extends the business model beyond traditional boundaries and acts as a true market differentiator. But how do you model a public API that extends your business while staying consumer friendly, scalable, and maintainable? REST (representational state transfer) is a web architecture pattern built on top of HTTP that serves these needs. Designing a REST API starts with defining your required business capabilities, after which you can start discovering the resources, their representations, relations, and operations that will form the resource model underpinning your REST API. When defining the resource model, you’ll soon discover that the path to a REST API resource model is not straightforward. Design choices have to be made about resource representations, granularity, and how to version. Public APIs are often also built on top of a microservice architecture, influencing its design. Tom Hofte and Marco van der Linden walk you through designing a resource model for a public API. You’ll then work in teams to design an API for a fictional case study. At the end of the workshop, each team will present their solution. You’ll leave with applied API design skills and a better understanding of design choices and corresponding trade-offs.

comments powered by Disqus