Engineering the Future of Software
Feb 25–26, 2018: Training
Feb 26–28, 2018: Tutorials & Conference
New York, NY

Designing a resource model for a public API

Tom Hofte (Xebia), Marco van der Linden (Xebia)
1:30pm–5:00pm Monday, February 26, 2018
Business solutions, Microservices
Location: Mercury Ballroom
Secondary topics:  Case Study, Hands-on
Average rating: ****.
(4.00, 1 rating)

Who is this presentation for?

  • IT architects, developers, and business architects

Prerequisite knowledge

  • A basic understanding of REST

Materials or downloads needed in advance

  • A laptop

What you'll learn

  • Learn how to design a public API
  • Explore design patterns for REST API resource modeling
  • Understand design choices and corresponding trade-offs


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.

Photo of Tom Hofte

Tom Hofte


Tom Hofte is an IT architect at Xebia. Tom has been working as a lead architect in IT for more than 10 years, focusing on integration architectures and distributed system design. He began his career as a developer and over the years has taken on a number of roles within project teams, giving him a deep knowledge and understanding of IT technology and delivering IT projects throughout the complete lifecycle, from concept to grave.

Photo of Marco van der Linden

Marco van der Linden


Marco van der Linden is a Netherlands-based IT solutions architect and consultant at Xebia. Marco has more than 15 years’ experience in IT. Previously, he was at IBM and consulted for multiple companies. He’s worked on all kinds of systems using various technologies but is especially interested in distributed systems design. He hosts meetups on RESTful API design, microservices design, and reliability engineering and leads DASA DevOps training. In his spare time, Marco likes to take long walks with his family, do a bit of fencing (épée), and read books.

Comments on this page are now closed.


Picture of Tom Hofte
02/28/2018 3:23pm EST

The slides are now available for download