SlideShare a Scribd company logo
1 of 32
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
API Description Languages:
Which is the right one for me?
Laura Heritage
Director of API Strategy
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
What is an API Description Language (API DL)?
Contract Human DocsMetadataBlueprint
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
API DL Brings REST to the Enterprise
“Lack of a way to describe a RESTful services was one of the
largest barriers to REST adoption in the enterprise.”
Governable ReadableShareable
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Many API DL Are Available Today
Hypermedia
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
What About WSDL2.0 or WADL?
• For REST, they are not widely adopted
• Both are not very “humanly readable”
• Both are typically auto-generate from code – wouldn’t use
them as a “blueprint” amongst non-technical types
• WADL doesn’t contain enough information to adequately
describe a RESTful API. Though does have extension points
which are seldom used.
• WSDL contains almost everything you need but is quite
brittle. If it changes the clients must change too
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
What About HyperMedia?
HAL
Siren
Collection+JSON
JSON-LD
JsonAPI
Mason
UBER
Odata
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Are We Ready For Hypermedia?
http://www.infoq.com/articles/implementing-hypermedia
“While much of the theory of hypermedia talks about hypermedia
as the fundamental, underlying theory of your entire API, I have a
little secret to share with you: it doesn't have to be that way. You
can gain some of the advantages of hypermedia without doing an
entire overhaul of your API” – Steve Klabnik
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Most Active API DL Communities
API-Blueprint RAML* SWAGGER 2.0
(1.2)*
Format Markdown YAML JSON
(YAML Editor provided by 3rd
party with 2.0)
Available at GitHub GitHub GitHub
Sponsored by Apiary Mulesoft Reverb
Current Version 1A3 0.8 2.0
Workgroup No Yes Yes
Initial commit April, 2013 Sep, 2013 July, 2011 (Sept,
2014)
API Design
Approach
Top-down Top-down **Bottom-up
* Most Widely Adopted by Enterprises
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
How Do You Choose?
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Define Key Purpose Behind Using an API DL
Swagger
R 1.2
Swagger
2.0
RAML API Blueprint
I need to generate
documentation from my
existing REST based APIS
X X X -
I need the ability to design the
API with non-super techie API
stakeholders
- X X X
I want a way to describe and
design an API with my technical
team
X X X X
I need to easily consume the
API specification between two
or more systems
X X X X
I need exceptional external API
developer experiences
X X X Markdown
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Core Capabilities Needed
SWAGGE
R 1.2
Swagger
2.0
RAML API Blueprint
I need to validate the requests
and responses at runtime
X
(swagger-node-
express,
swagger -Play)
X X
(Osprey)
-
I need to easily consume the
API specification between two
or more systems
X X X limited
I am an enterprise and want a
standard canonical model
across the enterprise
- limited X limited
I need support for XML - limited X -
I need ability to Mock X X X X
I need to generate server code X X X X
I need to generate client code X X X -
I need to unit Test against the
spec
X X X X
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Look At Their Community
• Swagger by far has the largest community, since its been around since 2011
• RAML has gained traction in the enterprise due to the richness of its modeling
capability; API version metatdata, nested resources, composition and inheritance, file
inclusions and top down approach
• API Blueprint is up and coming.
Generators
SWAGGER RAML API Blueprint
Documentation From
Code
Clojure,
ColdFusion/CFML,
Eiffel, Go, Java,
.Net, Node.js, PHP,
Python, Ruby, Scala
JAX-RS Not from code but HTTP
Requests.
cURL trace parser
Rspect API Blueprint
Spec Parsers Java, node.js PHP, Ruby, Phython,
Java, Javascript
Node, Ruby, .Net
Client Code Several Developing Developing
Editor Tooling Swagger Editor
(YAML based)
API Designer, Sublime
plugin, Atom
Apiary.io, Sublime, Any
markdown editor
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Does One API-DL Fit an Entire Enterprise?
• What is your teams development style?
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Understand How Your Team Works
SWAGGE
R
1.2
SWAGGE
R 2.0
RAML API
Blueprint
Do you design
before you code?
- X X X
Do you generate
documents after you
code from your
code?
X X X -
Do you want docs
embedded in your
server code?
X X - -
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
RAML
Start with tutorial at RAML.org
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
RAML Editors
• API Designer - http://api-
portal.anypoint.mulesoft.com/raml/api-designer
– (allows for mocking)
• Sublime Editor
https://github.com/mulesoft/raml-sublime-
plugin
• Can have 1 to many files
• I have a very simple API.
I kept mine in 1. Didn’t
use includes, but did play
with them
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Document Generation
• RAML to HTML
• RAML to HTML - PHP
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Thoughts on RAML Experience
• Great documentation, samples and tutorial
• Good way to model your API
– When writing my server code, I did find I went back to my RAML model to
remember what I was suppose to be doing.
• You can generate JAX-RS code
• It is easy to understand and write, from the basic API perspective.
– When you get into Includes, Traits, it becomes a little more technical.
• Good way to enforce design standards for your APIs
• Community tools
– Are easy to understand, install and work with.
– I played with:
• API Designer
• RAML Sublime Plugin
• RAML to HTML
• Swagger2raml
• Osprey / Osprey CLI
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
SWAGGER http://swagger.io
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Three Ways To Create Swagger Docs
1. Codegen: Traditional way of creating a Swagger Specification.
The swagger codegen converts annotation in your code to
Swagger Specification
2. Automatically: swagger-node-express and swagger-play will
create both your REST APIs and your Swagger Specification for
you at the same time
– https://www.npmjs.org/package/swagger-node-express
3. Manually: Write the json by hand.
4. NEW - Swagger Editor
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Used swagger-node-express
• Server.js – the node-
express server
• Model.js - describes
the resources (User,
Wish)
• Routes.js – defines the
routes for data access
logic
Spec
Action
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Swagger Editor
• Available both
online and to
download
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Swagger Documentation
Swagger 1.2 is composed of two files:
• Resource Listing: Lists the APIs that are available and gives a brief description of the them.
• API Description: Detailed description of each API in the Resource Listing.
• No ability to split out
Swagger 2.0 reduced this to one file with ability to split parts of the definition
out into separate files.
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Thoughts on SWAGGER Experience
• Most widely used API DL to date, mostly generated from code
• Swagger-core project provides nice examples on how to build a Swagger
enabled server using java-jaxrs, scala-jaxrs and more.
• Swagger-UI is very useful to help visualize and test your API
• If you have complex APIs, swagger probably won’t have the the
constructs you need to fully express them.
• Writing swagger manually in JSON is not fun. It is not very human
readable.
• A new Swagger Editor project based on YAML was launched in May is very
nice.
• On working with swagger-node-express:
– Fast way to prototype and API
– Once you get the hang of it, went smooth and very fun to see results.
– Key is to get your model.js (resource definitions) and your routes.js for your
data access specified correctly.
– Definitely not top down. I ended up using my RAML spec to keep me on track.
– Con - you are really embedding swagger throughout your code. Code which
may live forever.
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
APIBlueprint.org
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
APIBlueprint Editors
• Apiary.io
http://apiary.io
– allows for mocking
• Sublime Editor
https://github.com/apiaryio/api-blueprint-sublime-plugin
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Thought on APIBlueprint
• Good for rapid prototyping and testing of an API
• Really non-techie readable due to markdown
• Because of markdown, easily read by any markdown
viewer. Github ready, so to say.
• Not as easy to get the sublime plugin installed.
– Didn’t manage to get it working yet
• Not as big of following in the enterprise as swagger and
raml… yet..
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
Thoughts On the API DL Focused on Today
• All the API DL are starting to provide similar features and functions. They will
continue to get closer and closer.
• All are extremely painful when your API is large and you get “off” on your
markdown, YAML or JSON.
• None of the specifications that we focused on today can describe anything
other then a RESTful API/Service.
– For SOAP based APIs WSDL is still king. An API Platform you choose should support
SOAP based APIs via WSDL as well.
• None of the specifications provides ability for extension, for example:
describing testing and monitoring of the operations
– Swagger 2.0 has added the capability to provide extensions
• None of the specifications handles National Language (NLS) of documentation
• System to System interactions – Today mostly focused on API creation and
developer consumption. Next step is for system-to-system integrations
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
The SOA Software Digital Business Platform
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
API Resources and API University
• Resource Center
– http://resource.soa.com/
• Follow us on:
www.facebook.com/soasoftware
www.linkedin.com/company/soasoftware
@soasoftwareinc
Copyright © 2001-2014 SOA Software, Inc. All Rights Reserved.
Questions
Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved.
References
• Another API-Blueprint, RAML, Swagger Comparison – Ole
Lensmar
• Investigating API Developer Tooling - @DanMayer

More Related Content

What's hot

Moving into API documentation writing
Moving into API documentation writingMoving into API documentation writing
Moving into API documentation writingEllis Pratt
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs3scale
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentationTom Johnson
 
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsREST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsHiranya Jayathilaka
 
Liferay as a headless platform
Liferay as a headless platform  Liferay as a headless platform
Liferay as a headless platform Jorge Ferrer
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanNordic APIs
 
Swagger for-your-api
Swagger for-your-apiSwagger for-your-api
Swagger for-your-apiTony Tam
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksTony Tam
 

What's hot (11)

Moving into API documentation writing
Moving into API documentation writingMoving into API documentation writing
Moving into API documentation writing
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
 
How to define an api
How to define an apiHow to define an api
How to define an api
 
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsREST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
 
Liferay as a headless platform
Liferay as a headless platform  Liferay as a headless platform
Liferay as a headless platform
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with Postman
 
Swagger for-your-api
Swagger for-your-apiSwagger for-your-api
Swagger for-your-api
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification Links
 
Mule raml
Mule ramlMule raml
Mule raml
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 

Viewers also liked

Maybe It's Time for a Connector-less approach to Cloud Integration
Maybe It's Time for a Connector-less approach to Cloud  IntegrationMaybe It's Time for a Connector-less approach to Cloud  Integration
Maybe It's Time for a Connector-less approach to Cloud IntegrationAkana
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description LanguagesAkana
 
Best Practices: The Role of API Management
Best Practices: The Role of API ManagementBest Practices: The Role of API Management
Best Practices: The Role of API ManagementAkana
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption PatternsAkana
 
Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?Akana
 
Intermediary for Microsoft: Product Overview and Demo
Intermediary for Microsoft: Product Overview and DemoIntermediary for Microsoft: Product Overview and Demo
Intermediary for Microsoft: Product Overview and DemoAkana
 
API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101Akana
 
The Datacenter API
The Datacenter APIThe Datacenter API
The Datacenter APIAkana
 
A New Breed of Technical Leaders: The 101 to Defining Your API Business Strategy
A New Breed of Technical Leaders: The 101 to Defining Your API Business StrategyA New Breed of Technical Leaders: The 101 to Defining Your API Business Strategy
A New Breed of Technical Leaders: The 101 to Defining Your API Business StrategyAkana
 
Turbo-Charge DataPower to Reach Your SOA Goals
Turbo-Charge DataPower to Reach Your SOA GoalsTurbo-Charge DataPower to Reach Your SOA Goals
Turbo-Charge DataPower to Reach Your SOA GoalsAkana
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?Akana
 
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3 Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3 Akana
 
APIs and SOA: Two Sides of the Same Coin?
APIs and SOA: Two Sides of the Same Coin?APIs and SOA: Two Sides of the Same Coin?
APIs and SOA: Two Sides of the Same Coin?Akana
 
Best Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemBest Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemPrabath Siriwardena
 
API Design Essentials - Akana Platform Overview
API Design Essentials - Akana Platform OverviewAPI Design Essentials - Akana Platform Overview
API Design Essentials - Akana Platform OverviewAkana
 
Mindbody: A Digital Transformation Story
Mindbody: A Digital Transformation StoryMindbody: A Digital Transformation Story
Mindbody: A Digital Transformation StoryApigee | Google Cloud
 
The Latest in API Orchestration, Mediation, and Integration
The Latest in API Orchestration, Mediation, and IntegrationThe Latest in API Orchestration, Mediation, and Integration
The Latest in API Orchestration, Mediation, and IntegrationAkana
 

Viewers also liked (18)

Maybe It's Time for a Connector-less approach to Cloud Integration
Maybe It's Time for a Connector-less approach to Cloud  IntegrationMaybe It's Time for a Connector-less approach to Cloud  Integration
Maybe It's Time for a Connector-less approach to Cloud Integration
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
Best Practices: The Role of API Management
Best Practices: The Role of API ManagementBest Practices: The Role of API Management
Best Practices: The Role of API Management
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption Patterns
 
Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?
 
Intermediary for Microsoft: Product Overview and Demo
Intermediary for Microsoft: Product Overview and DemoIntermediary for Microsoft: Product Overview and Demo
Intermediary for Microsoft: Product Overview and Demo
 
API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101
 
The Datacenter API
The Datacenter APIThe Datacenter API
The Datacenter API
 
A New Breed of Technical Leaders: The 101 to Defining Your API Business Strategy
A New Breed of Technical Leaders: The 101 to Defining Your API Business StrategyA New Breed of Technical Leaders: The 101 to Defining Your API Business Strategy
A New Breed of Technical Leaders: The 101 to Defining Your API Business Strategy
 
Turbo-Charge DataPower to Reach Your SOA Goals
Turbo-Charge DataPower to Reach Your SOA GoalsTurbo-Charge DataPower to Reach Your SOA Goals
Turbo-Charge DataPower to Reach Your SOA Goals
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
 
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3 Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
Securing Your APIs against the Recent Vulnerabilities in SSLv2/SSLv3
 
APIs and SOA: Two Sides of the Same Coin?
APIs and SOA: Two Sides of the Same Coin?APIs and SOA: Two Sides of the Same Coin?
APIs and SOA: Two Sides of the Same Coin?
 
Best Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemBest Practices in Building an API Security Ecosystem
Best Practices in Building an API Security Ecosystem
 
API Design Essentials - Akana Platform Overview
API Design Essentials - Akana Platform OverviewAPI Design Essentials - Akana Platform Overview
API Design Essentials - Akana Platform Overview
 
How to Achieve Agile API Security
How to Achieve Agile API SecurityHow to Achieve Agile API Security
How to Achieve Agile API Security
 
Mindbody: A Digital Transformation Story
Mindbody: A Digital Transformation StoryMindbody: A Digital Transformation Story
Mindbody: A Digital Transformation Story
 
The Latest in API Orchestration, Mediation, and Integration
The Latest in API Orchestration, Mediation, and IntegrationThe Latest in API Orchestration, Mediation, and Integration
The Latest in API Orchestration, Mediation, and Integration
 

Similar to API Description Languages: Which is the Right One for Me?

Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?Akana
 
Are APIs and SOA Converging
Are APIs and SOA ConvergingAre APIs and SOA Converging
Are APIs and SOA ConvergingSachin Agarwal
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)Tom Johnson
 
APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API LanguagesRestlet
 
API and SOA: Two Sides of the Same Coin?
API and SOA: Two Sides of the Same Coin?API and SOA: Two Sides of the Same Coin?
API and SOA: Two Sides of the Same Coin?Akana
 
API and SOA: Two sides of the same coin
API and SOA: Two sides of the same coinAPI and SOA: Two sides of the same coin
API and SOA: Two sides of the same coinSachin Agarwal
 
InfluxDB 2.0 Client Libraries by Noah Crowley
InfluxDB 2.0 Client Libraries by Noah CrowleyInfluxDB 2.0 Client Libraries by Noah Crowley
InfluxDB 2.0 Client Libraries by Noah CrowleyInfluxData
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Laravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdfLaravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdfOZONESOFT Solutions
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source ContributionsNeev Technologies
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Shelly Megan
 
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...Codemotion
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolAlessandro Cinelli (cirpo)
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadTed Epstein
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJSLuigi Saetta
 
The Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the EnterpriseThe Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the EnterpriseAkana
 

Similar to API Description Languages: Which is the Right One for Me? (20)

Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?
 
Are APIs and SOA Converging
Are APIs and SOA ConvergingAre APIs and SOA Converging
Are APIs and SOA Converging
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API Languages
 
API and SOA: Two Sides of the Same Coin?
API and SOA: Two Sides of the Same Coin?API and SOA: Two Sides of the Same Coin?
API and SOA: Two Sides of the Same Coin?
 
API and SOA: Two sides of the same coin
API and SOA: Two sides of the same coinAPI and SOA: Two sides of the same coin
API and SOA: Two sides of the same coin
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
The impact of IoT on APIs
The impact of IoT on APIsThe impact of IoT on APIs
The impact of IoT on APIs
 
InfluxDB 2.0 Client Libraries by Noah Crowley
InfluxDB 2.0 Client Libraries by Noah CrowleyInfluxDB 2.0 Client Libraries by Noah Crowley
InfluxDB 2.0 Client Libraries by Noah Crowley
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Laravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdfLaravel vs CodeIgniter_ Which One Is Better_.pdf
Laravel vs CodeIgniter_ Which One Is Better_.pdf
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
 
Api design part 1
Api design part 1Api design part 1
Api design part 1
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!
 
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the fool
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
 
The Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the EnterpriseThe Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the Enterprise
 

More from Akana

Deconstructing API Security
Deconstructing API SecurityDeconstructing API Security
Deconstructing API SecurityAkana
 
Eat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a TimeEat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a TimeAkana
 
API Economy - The Making of a Digital Business
API Economy - The Making of a Digital BusinessAPI Economy - The Making of a Digital Business
API Economy - The Making of a Digital BusinessAkana
 
Extracting Insights from your API Programs
Extracting Insights from your API ProgramsExtracting Insights from your API Programs
Extracting Insights from your API ProgramsAkana
 
Confronting API Security in the Brave New Open Banking Era
Confronting API Security in the Brave New Open Banking EraConfronting API Security in the Brave New Open Banking Era
Confronting API Security in the Brave New Open Banking EraAkana
 
API Adoption Patterns in Banking & The Promise of Microservices
API Adoption Patterns in Banking & The Promise of MicroservicesAPI Adoption Patterns in Banking & The Promise of Microservices
API Adoption Patterns in Banking & The Promise of MicroservicesAkana
 
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPowerRealizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPowerAkana
 
Architecting Mobile Solutions Using Microsoft Azure and Akana
Architecting Mobile Solutions Using Microsoft Azure and AkanaArchitecting Mobile Solutions Using Microsoft Azure and Akana
Architecting Mobile Solutions Using Microsoft Azure and AkanaAkana
 
Digital Healthcare – Realizing Interoperability with APIs
Digital Healthcare – Realizing Interoperability with APIsDigital Healthcare – Realizing Interoperability with APIs
Digital Healthcare – Realizing Interoperability with APIsAkana
 
Driving Digital Innovation with a Layered API Design Approach
Driving Digital Innovation with a Layered API Design ApproachDriving Digital Innovation with a Layered API Design Approach
Driving Digital Innovation with a Layered API Design ApproachAkana
 
Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Akana
 
Using APIs
Using APIsUsing APIs
Using APIsAkana
 
Unified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebUnified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebAkana
 
The Science of APIs in a Mobile World:Security, Control and Quality
The Science of APIs in a Mobile World:Security, Control and QualityThe Science of APIs in a Mobile World:Security, Control and Quality
The Science of APIs in a Mobile World:Security, Control and QualityAkana
 
The Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the EnterpriseThe Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the EnterpriseAkana
 
The API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
The API Economy is Here: Facebook, Twitter, Netflix and Your IT EnterpriseThe API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
The API Economy is Here: Facebook, Twitter, Netflix and Your IT EnterpriseAkana
 
Realizing SOA and API Convergence for IBM DataPower Customers
Realizing SOA and API Convergence for IBM DataPower CustomersRealizing SOA and API Convergence for IBM DataPower Customers
Realizing SOA and API Convergence for IBM DataPower CustomersAkana
 
Rapid Mobile App to API Integration
Rapid Mobile App to API IntegrationRapid Mobile App to API Integration
Rapid Mobile App to API IntegrationAkana
 
Powering Internal API Communities
Powering Internal API CommunitiesPowering Internal API Communities
Powering Internal API CommunitiesAkana
 
Platform for Secure Digital Business
Platform for Secure Digital BusinessPlatform for Secure Digital Business
Platform for Secure Digital BusinessAkana
 

More from Akana (20)

Deconstructing API Security
Deconstructing API SecurityDeconstructing API Security
Deconstructing API Security
 
Eat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a TimeEat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a Time
 
API Economy - The Making of a Digital Business
API Economy - The Making of a Digital BusinessAPI Economy - The Making of a Digital Business
API Economy - The Making of a Digital Business
 
Extracting Insights from your API Programs
Extracting Insights from your API ProgramsExtracting Insights from your API Programs
Extracting Insights from your API Programs
 
Confronting API Security in the Brave New Open Banking Era
Confronting API Security in the Brave New Open Banking EraConfronting API Security in the Brave New Open Banking Era
Confronting API Security in the Brave New Open Banking Era
 
API Adoption Patterns in Banking & The Promise of Microservices
API Adoption Patterns in Banking & The Promise of MicroservicesAPI Adoption Patterns in Banking & The Promise of Microservices
API Adoption Patterns in Banking & The Promise of Microservices
 
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPowerRealizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
Realizing Hybrid Cloud: Using IBM Bluemix, APIs, and DataPower
 
Architecting Mobile Solutions Using Microsoft Azure and Akana
Architecting Mobile Solutions Using Microsoft Azure and AkanaArchitecting Mobile Solutions Using Microsoft Azure and Akana
Architecting Mobile Solutions Using Microsoft Azure and Akana
 
Digital Healthcare – Realizing Interoperability with APIs
Digital Healthcare – Realizing Interoperability with APIsDigital Healthcare – Realizing Interoperability with APIs
Digital Healthcare – Realizing Interoperability with APIs
 
Driving Digital Innovation with a Layered API Design Approach
Driving Digital Innovation with a Layered API Design ApproachDriving Digital Innovation with a Layered API Design Approach
Driving Digital Innovation with a Layered API Design Approach
 
Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?
 
Using APIs
Using APIsUsing APIs
Using APIs
 
Unified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the WebUnified Security for Mobile, APIs and the Web
Unified Security for Mobile, APIs and the Web
 
The Science of APIs in a Mobile World:Security, Control and Quality
The Science of APIs in a Mobile World:Security, Control and QualityThe Science of APIs in a Mobile World:Security, Control and Quality
The Science of APIs in a Mobile World:Security, Control and Quality
 
The Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the EnterpriseThe Business Value for Internal APIs in the Enterprise
The Business Value for Internal APIs in the Enterprise
 
The API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
The API Economy is Here: Facebook, Twitter, Netflix and Your IT EnterpriseThe API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
The API Economy is Here: Facebook, Twitter, Netflix and Your IT Enterprise
 
Realizing SOA and API Convergence for IBM DataPower Customers
Realizing SOA and API Convergence for IBM DataPower CustomersRealizing SOA and API Convergence for IBM DataPower Customers
Realizing SOA and API Convergence for IBM DataPower Customers
 
Rapid Mobile App to API Integration
Rapid Mobile App to API IntegrationRapid Mobile App to API Integration
Rapid Mobile App to API Integration
 
Powering Internal API Communities
Powering Internal API CommunitiesPowering Internal API Communities
Powering Internal API Communities
 
Platform for Secure Digital Business
Platform for Secure Digital BusinessPlatform for Secure Digital Business
Platform for Secure Digital Business
 

Recently uploaded

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsMonica Sydney
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolinonuriaiuzzolino1
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptxAsmae Rabhi
 

Recently uploaded (20)

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 

API Description Languages: Which is the Right One for Me?

  • 1. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. API Description Languages: Which is the right one for me? Laura Heritage Director of API Strategy
  • 2. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. What is an API Description Language (API DL)? Contract Human DocsMetadataBlueprint
  • 3. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. API DL Brings REST to the Enterprise “Lack of a way to describe a RESTful services was one of the largest barriers to REST adoption in the enterprise.” Governable ReadableShareable
  • 4. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Many API DL Are Available Today Hypermedia
  • 5. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. What About WSDL2.0 or WADL? • For REST, they are not widely adopted • Both are not very “humanly readable” • Both are typically auto-generate from code – wouldn’t use them as a “blueprint” amongst non-technical types • WADL doesn’t contain enough information to adequately describe a RESTful API. Though does have extension points which are seldom used. • WSDL contains almost everything you need but is quite brittle. If it changes the clients must change too
  • 6. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. What About HyperMedia? HAL Siren Collection+JSON JSON-LD JsonAPI Mason UBER Odata
  • 7. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Are We Ready For Hypermedia? http://www.infoq.com/articles/implementing-hypermedia “While much of the theory of hypermedia talks about hypermedia as the fundamental, underlying theory of your entire API, I have a little secret to share with you: it doesn't have to be that way. You can gain some of the advantages of hypermedia without doing an entire overhaul of your API” – Steve Klabnik
  • 8. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Most Active API DL Communities API-Blueprint RAML* SWAGGER 2.0 (1.2)* Format Markdown YAML JSON (YAML Editor provided by 3rd party with 2.0) Available at GitHub GitHub GitHub Sponsored by Apiary Mulesoft Reverb Current Version 1A3 0.8 2.0 Workgroup No Yes Yes Initial commit April, 2013 Sep, 2013 July, 2011 (Sept, 2014) API Design Approach Top-down Top-down **Bottom-up * Most Widely Adopted by Enterprises
  • 9. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. How Do You Choose?
  • 10. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Define Key Purpose Behind Using an API DL Swagger R 1.2 Swagger 2.0 RAML API Blueprint I need to generate documentation from my existing REST based APIS X X X - I need the ability to design the API with non-super techie API stakeholders - X X X I want a way to describe and design an API with my technical team X X X X I need to easily consume the API specification between two or more systems X X X X I need exceptional external API developer experiences X X X Markdown
  • 11. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Core Capabilities Needed SWAGGE R 1.2 Swagger 2.0 RAML API Blueprint I need to validate the requests and responses at runtime X (swagger-node- express, swagger -Play) X X (Osprey) - I need to easily consume the API specification between two or more systems X X X limited I am an enterprise and want a standard canonical model across the enterprise - limited X limited I need support for XML - limited X - I need ability to Mock X X X X I need to generate server code X X X X I need to generate client code X X X - I need to unit Test against the spec X X X X
  • 12. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Look At Their Community • Swagger by far has the largest community, since its been around since 2011 • RAML has gained traction in the enterprise due to the richness of its modeling capability; API version metatdata, nested resources, composition and inheritance, file inclusions and top down approach • API Blueprint is up and coming. Generators SWAGGER RAML API Blueprint Documentation From Code Clojure, ColdFusion/CFML, Eiffel, Go, Java, .Net, Node.js, PHP, Python, Ruby, Scala JAX-RS Not from code but HTTP Requests. cURL trace parser Rspect API Blueprint Spec Parsers Java, node.js PHP, Ruby, Phython, Java, Javascript Node, Ruby, .Net Client Code Several Developing Developing Editor Tooling Swagger Editor (YAML based) API Designer, Sublime plugin, Atom Apiary.io, Sublime, Any markdown editor
  • 13. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Does One API-DL Fit an Entire Enterprise? • What is your teams development style?
  • 14. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Understand How Your Team Works SWAGGE R 1.2 SWAGGE R 2.0 RAML API Blueprint Do you design before you code? - X X X Do you generate documents after you code from your code? X X X - Do you want docs embedded in your server code? X X - -
  • 15. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. RAML Start with tutorial at RAML.org
  • 16. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. RAML Editors • API Designer - http://api- portal.anypoint.mulesoft.com/raml/api-designer – (allows for mocking) • Sublime Editor https://github.com/mulesoft/raml-sublime- plugin • Can have 1 to many files • I have a very simple API. I kept mine in 1. Didn’t use includes, but did play with them
  • 17. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Document Generation • RAML to HTML • RAML to HTML - PHP
  • 18. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Thoughts on RAML Experience • Great documentation, samples and tutorial • Good way to model your API – When writing my server code, I did find I went back to my RAML model to remember what I was suppose to be doing. • You can generate JAX-RS code • It is easy to understand and write, from the basic API perspective. – When you get into Includes, Traits, it becomes a little more technical. • Good way to enforce design standards for your APIs • Community tools – Are easy to understand, install and work with. – I played with: • API Designer • RAML Sublime Plugin • RAML to HTML • Swagger2raml • Osprey / Osprey CLI
  • 19. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. SWAGGER http://swagger.io
  • 20. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Three Ways To Create Swagger Docs 1. Codegen: Traditional way of creating a Swagger Specification. The swagger codegen converts annotation in your code to Swagger Specification 2. Automatically: swagger-node-express and swagger-play will create both your REST APIs and your Swagger Specification for you at the same time – https://www.npmjs.org/package/swagger-node-express 3. Manually: Write the json by hand. 4. NEW - Swagger Editor
  • 21. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Used swagger-node-express • Server.js – the node- express server • Model.js - describes the resources (User, Wish) • Routes.js – defines the routes for data access logic Spec Action
  • 22. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Swagger Editor • Available both online and to download
  • 23. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Swagger Documentation Swagger 1.2 is composed of two files: • Resource Listing: Lists the APIs that are available and gives a brief description of the them. • API Description: Detailed description of each API in the Resource Listing. • No ability to split out Swagger 2.0 reduced this to one file with ability to split parts of the definition out into separate files.
  • 24. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Thoughts on SWAGGER Experience • Most widely used API DL to date, mostly generated from code • Swagger-core project provides nice examples on how to build a Swagger enabled server using java-jaxrs, scala-jaxrs and more. • Swagger-UI is very useful to help visualize and test your API • If you have complex APIs, swagger probably won’t have the the constructs you need to fully express them. • Writing swagger manually in JSON is not fun. It is not very human readable. • A new Swagger Editor project based on YAML was launched in May is very nice. • On working with swagger-node-express: – Fast way to prototype and API – Once you get the hang of it, went smooth and very fun to see results. – Key is to get your model.js (resource definitions) and your routes.js for your data access specified correctly. – Definitely not top down. I ended up using my RAML spec to keep me on track. – Con - you are really embedding swagger throughout your code. Code which may live forever.
  • 25. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. APIBlueprint.org
  • 26. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. APIBlueprint Editors • Apiary.io http://apiary.io – allows for mocking • Sublime Editor https://github.com/apiaryio/api-blueprint-sublime-plugin
  • 27. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Thought on APIBlueprint • Good for rapid prototyping and testing of an API • Really non-techie readable due to markdown • Because of markdown, easily read by any markdown viewer. Github ready, so to say. • Not as easy to get the sublime plugin installed. – Didn’t manage to get it working yet • Not as big of following in the enterprise as swagger and raml… yet..
  • 28. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. Thoughts On the API DL Focused on Today • All the API DL are starting to provide similar features and functions. They will continue to get closer and closer. • All are extremely painful when your API is large and you get “off” on your markdown, YAML or JSON. • None of the specifications that we focused on today can describe anything other then a RESTful API/Service. – For SOAP based APIs WSDL is still king. An API Platform you choose should support SOAP based APIs via WSDL as well. • None of the specifications provides ability for extension, for example: describing testing and monitoring of the operations – Swagger 2.0 has added the capability to provide extensions • None of the specifications handles National Language (NLS) of documentation • System to System interactions – Today mostly focused on API creation and developer consumption. Next step is for system-to-system integrations
  • 29. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. The SOA Software Digital Business Platform
  • 30. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. API Resources and API University • Resource Center – http://resource.soa.com/ • Follow us on: www.facebook.com/soasoftware www.linkedin.com/company/soasoftware @soasoftwareinc
  • 31. Copyright © 2001-2014 SOA Software, Inc. All Rights Reserved. Questions
  • 32. Copyright © 2001-2013 SOA Software, Inc. All Rights Reserved. References • Another API-Blueprint, RAML, Swagger Comparison – Ole Lensmar • Investigating API Developer Tooling - @DanMayer

Editor's Notes

  1. Blueprint - It allows you to draw out what the potential API version can and should look like when it is completed. Contract – It becomes the agreed upon contract between the consumer and provider Metadata - houses the metadata which can be used in machine to machine communication or system to system interactions, primed for IoT Instruction Manual - Human readable documentation is produced to all people to understand how to use the API
  2. Sharable -- Not description languages was one of the largest barriers to adoption in an enterprise. No easy way to share internally Readable - relatively non-technical person can read it Governable – Enterprises like it or not need governance, with the lack of a way to describe a RESTful API there wasn’t a good way to put governance around it
  3. http://upload.wikimedia.org/wikipedia/commons/c/c2/WSDL_11vs20.png