A REST API is a popular way for systems to expose useful functions and data to consumers over the Internet. REST stands for Representational State Transfer, which can be described as an architectural pattern describing how distributed systems can expose a consistent interface.

In this presentation Michael will discuss REST APIs.

What Two Generals Can Teach Us About Web APIs

Consider two generals trying to capture a besieged city. How can they agree on a day to attack? Their messengers travel through enemy territory, and if only one general attacks, then he will surely fail. What protocol can guarantee mutual agreement?

Searching for an answer to this puzzle helps us to design more resilient distributed systems. It shows us what features a Web API should have. Use the concept of immutability to design APIs for services that reach eventual consistency. Use local bookmarks to create mobile back ends that synchronize data. Use natural keys to enable high availability.

The API that you design makes promises about your system. Make sure that they are promises that it can keep.

Software is math. Michael L Perry has built upon the works of mathematicians like Bertrand Meyer, James Rumbaugh, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects, Update Controls and Correspondence. As a Principal Consultant at Improving Enterprises, he applies mathematical concepts to building scalable and robust enterprise systems. You can find out more at qedcode.com..

You must be the change you wish to see in the world. --- Mahatma Ghandi