Most modern IT companies embrace an API (Application programming interface) as an important part of their businesses. Remember the API will always be customer facing even though the current consumer you have is just a web application.
Blueprint: It’s a blueprint for your API that describes the function and can be used to share and collaborate with other team members. It makes to manage the whole API lifecycle from design to sharing.
Contract: It acts as the contract between provider and consumer with system integration details.
MetaData: Provides the details of the metadata like resources, methods, parameters and so forth that are used to integrate.
Human Readable: Makes it easy to understand and how to use it.
Using API DL you can do some of the following
- Documentation & Sharing
- Mocking & Virtualization
- Monitoring & Governance
We already have WSDL & WADL so what about them?
These are not widely adopted, not human readable, auto generated and too technical.
API languages make enterprises adopt REST and the two mostly used API DL’s are Swagger and RAML.
RAML uses a top down approach and is sponsored by MuleSoft.
Swagger primarily uses a bottom-up approach, has a large community and is sponsored by Reverb.