What is a best practice when building System APIs?

What is a best practice when building System APIs?
A . Document the API using an easily consumable asset like a RAML definition
B . Model all API resources and methods to closely mimic the operations of the backend system
C . Build an Enterprise Data Model (Canonical Data Model) for each backend system and apply it to System APIs
D . Expose to API clients all technical details of the API implementation’s interaction wifch the backend system

Answer: B

Explanation:

Correct Answer. Model all API resources and methods to closely mimic the operations of the backend system.

*****************************************

>> There are NO fixed and straight best practices while opting data models for APIs. They are completly contextual and depends on number of factors. Based upon those factors, an enterprise can choose if they have to go with Enterprise Canonical Data Model or Bounded Context Model etc.

>> One should NEVER expose the technical details of API implementation to their API clients. Only the API interface/ RAML is exposed to API clients.

>> It is true that the RAML definitions of APIs should be as detailed as possible and should reflect most of the documentation. However, just that is NOT enough to call your API as best documented API. There should be even more documentation on Anypoint Exchange with API Notebooks etc. to make and create a developer friendly API and repository..

>> The best practice always when creating System APIs is to create their API interfaces by modeling their resources and methods to closely reflect the operations and functionalities of that backend system.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments