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.
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.
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.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org