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

VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 

Recently uploaded (20)

VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 

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