SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
Shubhra Kar
 
Building Self Documenting REST APIs
Building Self Documenting REST APIsBuilding Self Documenting REST APIs
Building Self Documenting REST APIs
Yan Pritzker
 
API Design Workflows
API Design WorkflowsAPI Design Workflows
API Design Workflows
Jakub Nesetril
 
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Nordic APIs
 
API Trends: What to expect in 2012
API Trends: What to expect in 2012API Trends: What to expect in 2012
API Trends: What to expect in 2012
Apigee | Google Cloud
 
Realizing SOA and API Convergence
Realizing SOA and API ConvergenceRealizing SOA and API Convergence
Realizing SOA and API Convergence
Akana
 
Node.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarNode.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns Webinar
Shubhra Kar
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
Shubhra Kar
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
Katy Slemon
 
Triangle Node Meetup : APIs in Minutes with Node.js
Triangle Node Meetup :  APIs in Minutes with Node.jsTriangle Node Meetup :  APIs in Minutes with Node.js
Triangle Node Meetup : APIs in Minutes with Node.js
Shubhra Kar
 
Is it time for a Connector-less Approach to Cloud Integration?
Is it time for a Connector-less Approach to Cloud Integration? Is it time for a Connector-less Approach to Cloud Integration?
Is it time for a Connector-less Approach to Cloud Integration?
Akana
 
Scale a Swagger based Web API (Guillaume Laforge)
Scale a Swagger based Web API (Guillaume Laforge)Scale a Swagger based Web API (Guillaume Laforge)
Scale a Swagger based Web API (Guillaume Laforge)
Nordic APIs
 
Who Cares About APIs? (NordicAPIS April 2014)
Who Cares About APIs? (NordicAPIS April 2014)Who Cares About APIs? (NordicAPIS April 2014)
Who Cares About APIs? (NordicAPIS April 2014)
Nordic APIs
 
Huge: Running an API at Scale
Huge: Running an API at ScaleHuge: Running an API at Scale
Huge: Running an API at Scale
Apigee | Google Cloud
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb
 
Platform for Secure Digital Business
Platform for Secure Digital BusinessPlatform for Secure Digital Business
Platform for Secure Digital Business
Akana
 
Why APIs are Different Than Integration
Why APIs are Different Than IntegrationWhy APIs are Different Than Integration
Why APIs are Different Than Integration
Apigee | Google Cloud
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
Apigee | Google Cloud
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs
3scale
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
Apigee | Google Cloud
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
Shubhra Kar
 
Building Self Documenting REST APIs
Building Self Documenting REST APIsBuilding Self Documenting REST APIs
Building Self Documenting REST APIs
Yan Pritzker
 
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Gotta Block ‘Em All – Observations on Controlling Access to Mobile APIs using...
Nordic APIs
 
Realizing SOA and API Convergence
Realizing SOA and API ConvergenceRealizing SOA and API Convergence
Realizing SOA and API Convergence
Akana
 
Node.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarNode.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns Webinar
Shubhra Kar
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
Shubhra Kar
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
Katy Slemon
 
Triangle Node Meetup : APIs in Minutes with Node.js
Triangle Node Meetup :  APIs in Minutes with Node.jsTriangle Node Meetup :  APIs in Minutes with Node.js
Triangle Node Meetup : APIs in Minutes with Node.js
Shubhra Kar
 
Is it time for a Connector-less Approach to Cloud Integration?
Is it time for a Connector-less Approach to Cloud Integration? Is it time for a Connector-less Approach to Cloud Integration?
Is it time for a Connector-less Approach to Cloud Integration?
Akana
 
Scale a Swagger based Web API (Guillaume Laforge)
Scale a Swagger based Web API (Guillaume Laforge)Scale a Swagger based Web API (Guillaume Laforge)
Scale a Swagger based Web API (Guillaume Laforge)
Nordic APIs
 
Who Cares About APIs? (NordicAPIS April 2014)
Who Cares About APIs? (NordicAPIS April 2014)Who Cares About APIs? (NordicAPIS April 2014)
Who Cares About APIs? (NordicAPIS April 2014)
Nordic APIs
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb
 
Platform for Secure Digital Business
Platform for Secure Digital BusinessPlatform for Secure Digital Business
Platform for Secure Digital Business
Akana
 
Why APIs are Different Than Integration
Why APIs are Different Than IntegrationWhy APIs are Different Than Integration
Why APIs are Different Than Integration
Apigee | Google Cloud
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
Apigee | Google Cloud
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs
3scale
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
Apigee | Google Cloud
 

Viewers also liked (20)

API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101
Akana
 
Manage Your Mesh
Manage Your MeshManage Your Mesh
Manage Your Mesh
Akana
 
Api economy
Api economyApi economy
Api economy
Marketing Fiorano
 
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
3scale
 
Anatomy of a Successful Oracle AIA for Communications Implementation
Anatomy of a Successful Oracle AIA for Communications ImplementationAnatomy of a Successful Oracle AIA for Communications Implementation
Anatomy of a Successful Oracle AIA for Communications Implementation
Revelation Technologies
 
How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind
Apigee | Google Cloud
 
EAI Best Practices
EAI Best PracticesEAI Best Practices
EAI Best Practices
Kannan Subbiah
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como Backend
Jorge Maia
 
If data is the new oil, then interfaces are the new delivery means -- Ignite ...
If data is the new oil, then interfaces are the new delivery means -- Ignite ...If data is the new oil, then interfaces are the new delivery means -- Ignite ...
If data is the new oil, then interfaces are the new delivery means -- Ignite ...
3scale
 
SnapLogic Live: IoT Integration
SnapLogic Live: IoT IntegrationSnapLogic Live: IoT Integration
SnapLogic Live: IoT Integration
SnapLogic
 
Kill the fail whale for your API
Kill the fail whale for your APIKill the fail whale for your API
Kill the fail whale for your API
3scale
 
Pitch
PitchPitch
Pitch
Soujanya Rachakonda
 
Lamdba micro service using Amazon Api Gateway
Lamdba micro service using Amazon Api GatewayLamdba micro service using Amazon Api Gateway
Lamdba micro service using Amazon Api Gateway
Mike Becker
 
Fiorano ESB: Integration Solution for Banks
Fiorano ESB: Integration Solution for BanksFiorano ESB: Integration Solution for Banks
Fiorano ESB: Integration Solution for Banks
Ashraf Imran
 
Module 10 - Session 2 ICTs and environmental observation 20110223
Module 10 - Session 2 ICTs and environmental observation 20110223Module 10 - Session 2 ICTs and environmental observation 20110223
Module 10 - Session 2 ICTs and environmental observation 20110223
Richard Labelle
 
Delivering on Personalization with the Power of APIs
Delivering on Personalization with the Power of APIsDelivering on Personalization with the Power of APIs
Delivering on Personalization with the Power of APIs
Akana
 
Integrating microservices in the cloud
Integrating microservices in the cloudIntegrating microservices in the cloud
Integrating microservices in the cloud
Jason Bloomberg
 
Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?
Akana
 
DataBearings: A semantic platform for data integration on IoT, Artem Katasonov
DataBearings: A semantic platform for data integration on IoT, Artem KatasonovDataBearings: A semantic platform for data integration on IoT, Artem Katasonov
DataBearings: A semantic platform for data integration on IoT, Artem Katasonov
VTT Technical Research Centre of Finland Ltd
 
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
Akana
 
API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101
Akana
 
Manage Your Mesh
Manage Your MeshManage Your Mesh
Manage Your Mesh
Akana
 
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
APIs and the Creation of Wealth in the Digital Economy - APIDays Paris 2015 K...
3scale
 
Anatomy of a Successful Oracle AIA for Communications Implementation
Anatomy of a Successful Oracle AIA for Communications ImplementationAnatomy of a Successful Oracle AIA for Communications Implementation
Anatomy of a Successful Oracle AIA for Communications Implementation
Revelation Technologies
 
How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind
Apigee | Google Cloud
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como Backend
Jorge Maia
 
If data is the new oil, then interfaces are the new delivery means -- Ignite ...
If data is the new oil, then interfaces are the new delivery means -- Ignite ...If data is the new oil, then interfaces are the new delivery means -- Ignite ...
If data is the new oil, then interfaces are the new delivery means -- Ignite ...
3scale
 
SnapLogic Live: IoT Integration
SnapLogic Live: IoT IntegrationSnapLogic Live: IoT Integration
SnapLogic Live: IoT Integration
SnapLogic
 
Kill the fail whale for your API
Kill the fail whale for your APIKill the fail whale for your API
Kill the fail whale for your API
3scale
 
Lamdba micro service using Amazon Api Gateway
Lamdba micro service using Amazon Api GatewayLamdba micro service using Amazon Api Gateway
Lamdba micro service using Amazon Api Gateway
Mike Becker
 
Fiorano ESB: Integration Solution for Banks
Fiorano ESB: Integration Solution for BanksFiorano ESB: Integration Solution for Banks
Fiorano ESB: Integration Solution for Banks
Ashraf Imran
 
Module 10 - Session 2 ICTs and environmental observation 20110223
Module 10 - Session 2 ICTs and environmental observation 20110223Module 10 - Session 2 ICTs and environmental observation 20110223
Module 10 - Session 2 ICTs and environmental observation 20110223
Richard Labelle
 
Delivering on Personalization with the Power of APIs
Delivering on Personalization with the Power of APIsDelivering on Personalization with the Power of APIs
Delivering on Personalization with the Power of APIs
Akana
 
Integrating microservices in the cloud
Integrating microservices in the cloudIntegrating microservices in the cloud
Integrating microservices in the cloud
Jason Bloomberg
 
Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?
Akana
 
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
Akana
 
Ad

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

API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
Akana
 
Are APIs and SOA Converging
Are APIs and SOA ConvergingAre APIs and SOA Converging
Are APIs and SOA Converging
Sachin 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
 
Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?
Akana
 
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
Restlet
 
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 coin
Sachin Agarwal
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
Prabhat gangwar
 
The impact of IoT on APIs
The impact of IoT on APIsThe impact of IoT on APIs
The impact of IoT on APIs
HaufeLexwareRomania
 
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
InfluxData
 
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
 
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
Shaer Hassan
 
Swagger Rails: The Right Guide For You..
Swagger Rails: The Right Guide For You..Swagger Rails: The Right Guide For You..
Swagger Rails: The Right Guide For You..
rorbitssoftware
 
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
OZONESOFT Solutions
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
Neev Technologies
 
Api design part 1
Api design part 1Api design part 1
Api design part 1
Ibrahim Elsawaf
 
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 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
Alessandro Cinelli (cirpo)
 
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
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
thisismusthafa
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
Akana
 
Are APIs and SOA Converging
Are APIs and SOA ConvergingAre APIs and SOA Converging
Are APIs and SOA Converging
Sachin 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
 
Are APIs and SOA Converging?
Are APIs and SOA Converging?Are APIs and SOA Converging?
Are APIs and SOA Converging?
Akana
 
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
Restlet
 
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 coin
Sachin 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 Crowley
InfluxData
 
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
 
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
Shaer Hassan
 
Swagger Rails: The Right Guide For You..
Swagger Rails: The Right Guide For You..Swagger Rails: The Right Guide For You..
Swagger Rails: The Right Guide For You..
rorbitssoftware
 
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
OZONESOFT Solutions
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
Neev 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 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
Alessandro Cinelli (cirpo)
 
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
 
Ad

More from Akana (18)

A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...
A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...
A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...
Akana
 
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
Akana
 
Lifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle APILifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle API
Akana
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption Patterns
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 Demo
Akana
 
API Security: Securing Digital Channels and Mobile Apps Against Hacks
API Security: Securing Digital Channels and Mobile Apps Against HacksAPI Security: Securing Digital Channels and Mobile Apps Against Hacks
API Security: Securing Digital Channels and Mobile Apps Against Hacks
Akana
 
Driving Business Partner Adoption with APIs
Driving Business Partner Adoption with APIsDriving Business Partner Adoption with APIs
Driving Business Partner Adoption with APIs
Akana
 
Jumping Ahead with Enterprise APIs
Jumping Ahead with Enterprise APIsJumping Ahead with Enterprise APIs
Jumping Ahead with Enterprise APIs
Akana
 
The Datacenter API
The Datacenter APIThe Datacenter API
The Datacenter API
Akana
 
Turbo Charge DataPower to Reach Your SOA Goals
Turbo Charge DataPower to Reach Your SOA Goals Turbo Charge DataPower to Reach Your SOA Goals
Turbo Charge DataPower to Reach Your SOA Goals
Akana
 
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
Akana
 
Using APIs
Using APIsUsing APIs
Using APIs
Akana
 
Using APIs for better Business Partnerships
Using APIs for better Business PartnershipsUsing APIs for better Business Partnerships
Using APIs for better Business Partnerships
Akana
 
API Security: Does My Business Need OAuth?
API Security: Does My Business Need OAuth?API Security: Does My Business Need OAuth?
API Security: Does My Business Need OAuth?
Akana
 
API Management - A Transformation
API Management - A TransformationAPI Management - A Transformation
API Management - A Transformation
Akana
 
A Peek Into The Future of Mobile-Enabled Health Care
A Peek Into The Future of Mobile-Enabled Health CareA Peek Into The Future of Mobile-Enabled Health Care
A Peek Into The Future of Mobile-Enabled Health Care
Akana
 
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
Akana
 
API Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API StrategyAPI Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API Strategy
Akana
 
A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...
A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...
A New Breed of Technical Leaders: The 101 to Defining Your API Business Stra...
Akana
 
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
Akana
 
Lifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle APILifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle API
Akana
 
Enterprise API Adoption Patterns
Enterprise API Adoption PatternsEnterprise API Adoption Patterns
Enterprise API Adoption Patterns
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 Demo
Akana
 
API Security: Securing Digital Channels and Mobile Apps Against Hacks
API Security: Securing Digital Channels and Mobile Apps Against HacksAPI Security: Securing Digital Channels and Mobile Apps Against Hacks
API Security: Securing Digital Channels and Mobile Apps Against Hacks
Akana
 
Driving Business Partner Adoption with APIs
Driving Business Partner Adoption with APIsDriving Business Partner Adoption with APIs
Driving Business Partner Adoption with APIs
Akana
 
Jumping Ahead with Enterprise APIs
Jumping Ahead with Enterprise APIsJumping Ahead with Enterprise APIs
Jumping Ahead with Enterprise APIs
Akana
 
The Datacenter API
The Datacenter APIThe Datacenter API
The Datacenter API
Akana
 
Turbo Charge DataPower to Reach Your SOA Goals
Turbo Charge DataPower to Reach Your SOA Goals Turbo Charge DataPower to Reach Your SOA Goals
Turbo Charge DataPower to Reach Your SOA Goals
Akana
 
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
Akana
 
Using APIs
Using APIsUsing APIs
Using APIs
Akana
 
Using APIs for better Business Partnerships
Using APIs for better Business PartnershipsUsing APIs for better Business Partnerships
Using APIs for better Business Partnerships
Akana
 
API Security: Does My Business Need OAuth?
API Security: Does My Business Need OAuth?API Security: Does My Business Need OAuth?
API Security: Does My Business Need OAuth?
Akana
 
API Management - A Transformation
API Management - A TransformationAPI Management - A Transformation
API Management - A Transformation
Akana
 
A Peek Into The Future of Mobile-Enabled Health Care
A Peek Into The Future of Mobile-Enabled Health CareA Peek Into The Future of Mobile-Enabled Health Care
A Peek Into The Future of Mobile-Enabled Health Care
Akana
 
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
Akana
 
API Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API StrategyAPI Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API Strategy
Akana
 

Recently uploaded (19)

APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 

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

  • #3: 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
  • #4: 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
  • #6: http://upload.wikimedia.org/wikipedia/commons/c/c2/WSDL_11vs20.png