Chapter 10. Making Service Design Decisions
This is the million-dollar question: what kind of a service do I need for my next project? REST is cool, but RPC is familiar. JSON is lighter, but the client already works with XML. The API will be used by mobile consumers, or web consumers, or a reporting engine, or all of these.
There’s rarely a clear-cut “one true way” when picking the best solution for a given API, but there are some key elements that can influence how to choose a solution that will be a good fit. API design is mostly engineering with a generous dash of common sense also required.
The big questions you need to ask at each step are these:
- Who will be using this API?
- What are they trying to achieve?
- Which technologies do they use?
With these in mind, you can consider each of the following points.
- It can be helpful to create some user stories to represent some of the expected users and tasks that the API will serve.
- Building APIs is all about creating an interface point that makes sense when viewed from the outside, so the users’ perspective is always the lens needed to scrutinize any decision.
- Not every piece of data or possible piece of functionality in an application will necessarily make sense exposed over an API, so don’t be tempted to build something huge immediately!
Service Type Decisions
The first decision to make when designing any API is one that can’t be changed: decide what kind of a service you will offer. This depends on a combination of the audience and ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access