{"API Evangelist"}

API Design Tooling From RAML

As part of my research in the world of API design, I’m looking into the different approaches by API Blueprint, RAML and Swagger, to provide API definitions, services and tools that assist developers in better designing APIs. I have already look at the evolving motivations behind API definitions, and some insight into the vision behind Swagger, API Blueprint and RAML, next up is taking a look at the tooling that is emerged around each approach.

I began with a look at the tooling around Swagger, then I laid out what is offered around API Blueprint, from Apiary.io—next up, RAML which is developed by Mulesoft, and reflects the evolution of the API design space, making it much more attractive to the enterprise.

Like API Blueprint, RAML is a markdown based API description format, which is an evolution from the XML of WADL, and the JSON of Swagger. I think this approach to defining APIs has significance when exposing API design beyond the developers community, but only time will tell.

Everything RAML centers around the RESTful API Modeling Language:

With RAML interpreters available in JS and Java:

Beyond the RAML interpreter you start seeing some pretty sophisticated tooling for the API design process emerge:

These API design tools reflect the open enterprise approach to software development from Mulesoft, but there is also other tooling emerging from within the RAML community:

When reviewing the tooling for RAML, you can tell some serious planning has gone into it. Wordnik was developing open tooling based upon their immediate needs, and Swagger just happened, with API Blueprint being designed to match the API design workflow of Apiary. Mulesoft obviously had time to put a plan together when it came to RAML, based upon what they already saw occurring in the space, and their own experience.

When it comes to tools that facilitates the API design process, RAML is definitely the leader. However Swagger and API Blueprint definitely enjoy a first mover lead in the world of delivering API design services. I’m not convinced a first mover advantagee, or a suite of well designed tooling will be more valuable to developers—I will play with actually designing and deploying each platform next, to see what I learn by actually using Swagger, API Blueprint and RAML to design a basic API.