SlideShare a Scribd company logo
ANOTHER API-BLUEPRINT, RAML
AND SWAGGER COMPARISON
Ole Lensmar, SmartBear Software
We’re building an API !
And for metadata & documentation
we’re gonna use..
ehm…!?
XML?
JSON?
Schemas?
YAML?Markdown?
Resources?
Traits? Methods?
Code Generation?
Testing?
Open Source?
Tools?
Documentation?
Parameters?
OAuth?
Clients?
Community?
GitHub?
Adoption?
iOS?
HTML5?
Android?
Interop?Management?
Hypermedia?
???
Narrowing down the choices
 API-Blueprint
 RAML
 Swagger
 What about Hypermedia? ioDocs? WADL?
WSDL 2.0?
So now we want to know…
 What’s behind the name?
 How does it model REST?
 What tools are available?
 Is there a community / following?
 What’s it gonna be?
What’s behind the name?
API-Blueprint RAML Swagger
Format Markdown YAML JSON
Spec License MIT ASL 2.0 / TM ASL 2.0
Available at GitHub GitHub GitHub
Sponsored by Apiary Mulesoft Reverb
Current Version 1A3 0.8 1.2
Initial commit April, 2013 Sep, 2013 July, 2011
Commercial Offering Yes Yes No
API Design Approach Top-down Top-down Bottom-up
How does it model REST?
API-Blueprint RAML Swagger
Resources X X X (“api”)
Methods/Actions X (“action”) X (“method”) X (“operation”)
Query Parameters X X X
Path/URL Parameters X X X
Header Parameters X X X
Representations
(status codes, mime-types)
X X X
Documentation X X X
How does it model REST – part 2
API-Blueprint RAML Swagger
Authentication Basic, Digest, Oauth
1&2, (*)
Basic, API-Key,
OAuth 2
Representation
Metadata
<any> (inline) <any> (inline/external) JSON Schema
(subset)
Nested Resources X X
Composition/Inheritance Resource Models Traits, Resource Types
File inclusions X
API Version metadata X X
Sample Representations X X
What about tooling?
API-Blueprint RAML Swagger
Authoring apiary.io API-Designer (3rd party)
Ad-hoc testing apiary.io API-Console Swagger-UI
Documentation X X X
Mocking X X (3rd party)
Server Code (3rd party) java java,scala,ruby, node.js
Client Code (3rd party) java,groovy,scala,objc,and
roid,c#,flash,php,python,ru
by,js
Generate from code java, 3rd party (go,python)
Validation X X (java) X
Parsing C++ (nodejs, c#) Java, js Java, js
Some Community Stats
API-Blueprint RAML Swagger
Stackoverflow questions 37 18 596
Most Github Stars
(on single project)
613 478 1859
Total Github projects
(search on name)
72 52 340
Google search (name + “ rest”) 807K 64K 5M
So what gives!?
 Swagger:
– Pros: high adoption rate, good code-level tooling, large community
– Cons: bottom-up, lacks advanced metadata constructs
 RAML
– Pros: good online design tools and mature supporting infrastructure,
seemingly useful advanced constructs
– Cons: very new to the game, low adoption, lacks code-level tooling
 API-Blueprint
– Pros: good online design tools, good community involvement
– Cons: new to the game, low adoption, lacks advanced constructs and
code level tooling
How decide?
 What do your API consumers need/expect?
– Documentation
– Client code / SDKs / etc
– Technologies
 What do you need?
– Approach
– Tooling
– Technologies
 Do you need API management? Commercial Support?
Give them a try!
 apiary and MuleSoft have free tiers
– Try modeling an API with their tools – it’s fun!
 Try corresponding tools for Swagger
References
 Evaluating API development tools
 Hello World Product API With Blueprint, RAML And Swagger
 An Overview of REST Metadata Formats
Thanks
@olensmar
ole.lensmar@smartbear.com

More Related Content

PDF
API Description Languages
PDF
API Description Languages: Which Is The Right One For Me?
PPTX
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
PDF
API Docs Made Right / RAML - Swagger rant
PPTX
API Athens Meetup - API standards 25-6-2014
PPTX
Maintainable API Docs and Other Rainbow Colored Unicorns
PPTX
API Description Languages: Which is the Right One for Me?
PDF
Ultimate Guide to 30+ API Documentation Solutions
API Description Languages
API Description Languages: Which Is The Right One For Me?
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
API Docs Made Right / RAML - Swagger rant
API Athens Meetup - API standards 25-6-2014
Maintainable API Docs and Other Rainbow Colored Unicorns
API Description Languages: Which is the Right One for Me?
Ultimate Guide to 30+ API Documentation Solutions

What's hot (19)

PPTX
Mule raml
PDF
Building Self Documenting REST APIs
PDF
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
PPTX
Publishing strategies for API documentation
PDF
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
PDF
Swagger for-your-api
PPTX
Connect js nodejs_api_shubhra
PDF
Liferay as a headless platform
PDF
Designing APIs with OpenAPI Spec
PPTX
Introducing Swagger
PDF
Mocking APIs Collaboratively with Postman
PPT
API 101 - Understanding APIs
PPTX
Building APIs with Node.js and Swagger
PPTX
Rest API with Swagger and NodeJS
PDF
Developing Faster with Swagger
PPT
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
PPTX
Swagger APIs for Humans and Robots (Gluecon)
PPTX
API-first development
PDF
Implement Web API with Swagger
Mule raml
Building Self Documenting REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
Publishing strategies for API documentation
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
Swagger for-your-api
Connect js nodejs_api_shubhra
Liferay as a headless platform
Designing APIs with OpenAPI Spec
Introducing Swagger
Mocking APIs Collaboratively with Postman
API 101 - Understanding APIs
Building APIs with Node.js and Swagger
Rest API with Swagger and NodeJS
Developing Faster with Swagger
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
Swagger APIs for Humans and Robots (Gluecon)
API-first development
Implement Web API with Swagger
Ad

Viewers also liked (20)

PDF
Design Driven API Development
PDF
Introducing Bonsai
PPTX
Generating the mule flow as html document
PPTX
What is Mule ESB
PDF
20th.陈晓鸣 百度海量日志分析架构及处理经验分享
PDF
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
PDF
Case Study: Rogers Communications Integrates CA API Management and CA Service...
PDF
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PDF
垂直互联网站点的技术改造
PDF
Sample Chapter of Practical Unit Testing with TestNG and Mockito
PDF
API Governance
PDF
CA API Management: A DevOps Enabler
PPTX
Managing api development
PDF
Swagger introduction - the - whys
PDF
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
PPTX
Mulesoft - Documentation (Automation)
PDF
API Design Essentials - Akana Platform Overview
PPTX
Design-first API Development using Swagger and Node
PPTX
API Management and Integrated SOA Governance
PDF
Digital Transformation Journey
Design Driven API Development
Introducing Bonsai
Generating the mule flow as html document
What is Mule ESB
20th.陈晓鸣 百度海量日志分析架构及处理经验分享
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
Case Study: Rogers Communications Integrates CA API Management and CA Service...
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
垂直互联网站点的技术改造
Sample Chapter of Practical Unit Testing with TestNG and Mockito
API Governance
CA API Management: A DevOps Enabler
Managing api development
Swagger introduction - the - whys
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Mulesoft - Documentation (Automation)
API Design Essentials - Akana Platform Overview
Design-first API Development using Swagger and Node
API Management and Integrated SOA Governance
Digital Transformation Journey
Ad

Similar to Another API-Blueprint, RAML and Swagger Comparison (20)

PDF
Zen and the Art of REST API documentation - MuCon London 2015
PPTX
API Description Languages: Which is the Right One for Me?
PPTX
API Athens Meetup - API standards 25-6-2014
PDF
Swagger: Restful documentation that won't put you to sleep
PDF
API Description Languages
PDF
"Design First" APIs with Swagger
PPTX
Swagger - Making REST APIs friendlier
PDF
Swagger 2.0: Latest and Greatest
PPTX
Tools and techniques for APIs
PPTX
Swagger - make your API accessible
PDF
Swagger code motion talk
PPTX
Love your API with Swagger (Gluecon lightning talk)
PPTX
Scaling with swagger
PPTX
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
PPTX
APIdays Paris 2014 - The State of Web API Languages
PDF
Swagger - Make your REST APIs accessible - Victor Trakhtenberg
PPTX
Contract driven development
PPTX
Empathic API-Design
PPTX
API workshop: Introduction to APIs (TC Camp)
PPTX
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Zen and the Art of REST API documentation - MuCon London 2015
API Description Languages: Which is the Right One for Me?
API Athens Meetup - API standards 25-6-2014
Swagger: Restful documentation that won't put you to sleep
API Description Languages
"Design First" APIs with Swagger
Swagger - Making REST APIs friendlier
Swagger 2.0: Latest and Greatest
Tools and techniques for APIs
Swagger - make your API accessible
Swagger code motion talk
Love your API with Swagger (Gluecon lightning talk)
Scaling with swagger
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
APIdays Paris 2014 - The State of Web API Languages
Swagger - Make your REST APIs accessible - Victor Trakhtenberg
Contract driven development
Empathic API-Design
API workshop: Introduction to APIs (TC Camp)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)

More from SmartBear (20)

PPTX
Enforcing Your Organization's API Design Standards with SwaggerHub
PPTX
Introducing OpenAPI Version 3.1
PPTX
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
PPTX
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
PPTX
How LISI Automotive Accelerated Application Delivery with SwaggerHub
PPTX
Standardising APIs: Powering the Platform Economy in Financial Services
PPTX
Getting Started with API Standardization in SwaggerHub
PPTX
Adopting a Design-First Approach to API Development with SwaggerHub
PPTX
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
PPTX
Effective API Lifecycle Management
PDF
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
PDF
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
PPTX
Artificial intelligence for faster and smarter software testing - Galway Mee...
PDF
Successfully Implementing BDD in an Agile World
PPTX
The Best Kept Secrets of Code Review | SmartBear Webinar
PPTX
How Capital One Scaled API Design to Deliver New Products Faster
PPTX
Testing Without a GUI Using TestComplete
PPTX
Hidden Treasure - TestComplete Script Extensions
PDF
How Bdd Can Save Agile
PPTX
API Automation and TDD to Implement Master Data Survivorship Rules
Enforcing Your Organization's API Design Standards with SwaggerHub
Introducing OpenAPI Version 3.1
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
How LISI Automotive Accelerated Application Delivery with SwaggerHub
Standardising APIs: Powering the Platform Economy in Financial Services
Getting Started with API Standardization in SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Effective API Lifecycle Management
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
Artificial intelligence for faster and smarter software testing - Galway Mee...
Successfully Implementing BDD in an Agile World
The Best Kept Secrets of Code Review | SmartBear Webinar
How Capital One Scaled API Design to Deliver New Products Faster
Testing Without a GUI Using TestComplete
Hidden Treasure - TestComplete Script Extensions
How Bdd Can Save Agile
API Automation and TDD to Implement Master Data Survivorship Rules

Another API-Blueprint, RAML and Swagger Comparison

  • 1. ANOTHER API-BLUEPRINT, RAML AND SWAGGER COMPARISON Ole Lensmar, SmartBear Software
  • 2. We’re building an API ! And for metadata & documentation we’re gonna use.. ehm…!?
  • 3. XML? JSON? Schemas? YAML?Markdown? Resources? Traits? Methods? Code Generation? Testing? Open Source? Tools? Documentation? Parameters? OAuth? Clients? Community? GitHub? Adoption? iOS? HTML5? Android? Interop?Management? Hypermedia? ???
  • 4. Narrowing down the choices  API-Blueprint  RAML  Swagger  What about Hypermedia? ioDocs? WADL? WSDL 2.0?
  • 5. So now we want to know…  What’s behind the name?  How does it model REST?  What tools are available?  Is there a community / following?  What’s it gonna be?
  • 6. What’s behind the name? API-Blueprint RAML Swagger Format Markdown YAML JSON Spec License MIT ASL 2.0 / TM ASL 2.0 Available at GitHub GitHub GitHub Sponsored by Apiary Mulesoft Reverb Current Version 1A3 0.8 1.2 Initial commit April, 2013 Sep, 2013 July, 2011 Commercial Offering Yes Yes No API Design Approach Top-down Top-down Bottom-up
  • 7. How does it model REST? API-Blueprint RAML Swagger Resources X X X (“api”) Methods/Actions X (“action”) X (“method”) X (“operation”) Query Parameters X X X Path/URL Parameters X X X Header Parameters X X X Representations (status codes, mime-types) X X X Documentation X X X
  • 8. How does it model REST – part 2 API-Blueprint RAML Swagger Authentication Basic, Digest, Oauth 1&2, (*) Basic, API-Key, OAuth 2 Representation Metadata <any> (inline) <any> (inline/external) JSON Schema (subset) Nested Resources X X Composition/Inheritance Resource Models Traits, Resource Types File inclusions X API Version metadata X X Sample Representations X X
  • 9. What about tooling? API-Blueprint RAML Swagger Authoring apiary.io API-Designer (3rd party) Ad-hoc testing apiary.io API-Console Swagger-UI Documentation X X X Mocking X X (3rd party) Server Code (3rd party) java java,scala,ruby, node.js Client Code (3rd party) java,groovy,scala,objc,and roid,c#,flash,php,python,ru by,js Generate from code java, 3rd party (go,python) Validation X X (java) X Parsing C++ (nodejs, c#) Java, js Java, js
  • 10. Some Community Stats API-Blueprint RAML Swagger Stackoverflow questions 37 18 596 Most Github Stars (on single project) 613 478 1859 Total Github projects (search on name) 72 52 340 Google search (name + “ rest”) 807K 64K 5M
  • 11. So what gives!?  Swagger: – Pros: high adoption rate, good code-level tooling, large community – Cons: bottom-up, lacks advanced metadata constructs  RAML – Pros: good online design tools and mature supporting infrastructure, seemingly useful advanced constructs – Cons: very new to the game, low adoption, lacks code-level tooling  API-Blueprint – Pros: good online design tools, good community involvement – Cons: new to the game, low adoption, lacks advanced constructs and code level tooling
  • 12. How decide?  What do your API consumers need/expect? – Documentation – Client code / SDKs / etc – Technologies  What do you need? – Approach – Tooling – Technologies  Do you need API management? Commercial Support?
  • 13. Give them a try!  apiary and MuleSoft have free tiers – Try modeling an API with their tools – it’s fun!  Try corresponding tools for Swagger
  • 14. References  Evaluating API development tools  Hello World Product API With Blueprint, RAML And Swagger  An Overview of REST Metadata Formats