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.