SlideShare une entreprise Scribd logo
1  sur  33
API Standards
Michael Petychakis
@mpetyx
958 million websites
60 trillion
web pages
Each API is Unique
Documentation?
Fragile Systems
Different Practices
Different cycles
Think it’s Fun?!
The Answer
Narrowing down the
choices
API-Blueprint
RAML
Swagger
What about Hypermedia? ioDocs?
WADL? WSDL 2.0?
So now we want to
know…
What’s behind the name?
How does it model REST?
What tools are available?
Is there a community / following?
What’s it gonna be?
What’s behind the
name?
API-Blueprint RAML Swagger
Format Markdown YAML JSON
Spec License MIT ASL 2.0 / TM ASL 2.0
Available at GitHub GitHub GitHub
Sponsored by Apiary Mulesoft Reverb
Current Version 1A3 0.8 1.2
Initial commit April, 2013 Sep, 2013 July, 2011
Commercial Offering Yes Yes No
API Design Approach Top-down Top-down Bottom-up
How does it model
REST?
API-Blueprint RAML Swagger
Resources X X X (“api”)
Methods/Actions X (“action”) X (“method”) X (“operation”)
Query Parameters X X X
Path/URL Parameters X X X
Header Parameters X X X
Representations
(status codes, mime-types)
X X X
Documentation X X X
How does it model REST –
part 2
API-Blueprint RAML Swagger
Authentication Basic, Digest, Oauth
1&2, (*)
Basic, API-Key,
OAuth 2
Representation Metadata <any> (inline) <any> (inline/external) JSON Schema
(subset)
Nested Resources X X
Composition/Inheritance Resource Models Traits, Resource Types
File inclusions X
API Version metadata X X
Sample Representations X X
What about tooling?
API-Blueprint RAML Swagger
Authoring apiary.io API-Designer (3rd party)
Ad-hoc testing apiary.io API-Console Swagger-UI
Documentation X X X
Mocking X X (3rd party)
Server Code (3rd party) java java,scala,ruby, node.js
Client Code (3rd party) java,groovy,scala,objc,andr
oid,c#,flash,php,python,rub
y,js
Generate from code java, 3rd party (go,python)
Validation X X (java) X
Parsing C++ (nodejs, c#) Java, js Java, js
Some Community Stats
API-Blueprint RAML Swagger
Stackoverflow questions 37 18 596
Most Github Stars
(on single project)
613 478 1859
Total Github projects
(search on name)
72 52 340
Google search (name + “ rest”) 807K 64K 5M
So what gives!?
Swagger:
Pros: high adoption rate, good code-level tooling, large community
Cons: bottom-up, lacks advanced metadata constructs
RAML
Pros: good online design tools and mature supporting infrastructure,
seemingly useful advanced constructs
Cons: very new to the game, low adoption, lacks code-level tooling
API-Blueprint
Pros: good online design tools, good community involvement
Cons: new to the game, low adoption, lacks advanced constructs and
code level tooling
How decide?
What do your API consumers need/expect?
Documentation
Client code / SDKs / etc
Technologies
What do you need?
Approach
Tooling
Technologies
Do you need API management? Commercial Support?
Examples
WADL
Reverb Swagger
Mashery IOdocs
Google Discovery Docs
Apiary Blueprint
RAML
Automated API
Provisioning
Problem: How do I use an API without specifically
coding for it?
Answer: Use vocabulary to define operations on
classes and properties
Proposition: Annotations are the result of operations
on entities or the relationships between entities.
Those results are also entities, which may be operated
upon.
Links and Operations
Define operations on entities, types of entities, or their
properties.
When does a property link to an entity?
How do you use pagination to reference and collect linked
entities?
What operations can I perform on an entity, or property of
that entity?
Where does authentication/authorization intersect with
generic API interactions?
What is Hydra?
W3C Community Group for Linked APIs
REST + Linked Data
“At the intersection of web schemas and RESTful web
applications”
Keep in touch!
Me
Github mpetyx/
Twitter @mpetyx
Mail mpetyx@epu.ntua.gr
OPENi
GitHub OPENi-ict/
Twitter @openi_ict
Site http://www.openi-ict.eu/
Acknowledgments. This work has been created in the context of the EU-funded project OPENi (Open-Source, Web-Based,
Framework for Integrating Applications with Social Media Services and Personal Cloudlets), Contract No: FP7-ICT-317883.

Contenu connexe

Tendances

API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me? ProgrammableWeb
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhraShubhra Kar
 
API design principles for accelerated development
API design principles for accelerated developmentAPI design principles for accelerated development
API design principles for accelerated developmentJonathan LeBlanc
 
APIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsAPIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsLaunchAny
 
Do's and Don'ts of APIs
Do's and Don'ts of APIsDo's and Don'ts of APIs
Do's and Don'ts of APIsJason Harmon
 
API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)Apigee | Google Cloud
 
Build Better Apps through API Virtualization
Build Better Apps through API VirtualizationBuild Better Apps through API Virtualization
Build Better Apps through API VirtualizationLorinda Brandon
 
Scaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships MatterScaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships MatterJoel Bowen
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshopShubhra Kar
 
API Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and VirtualizingAPI Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and VirtualizingLorinda Brandon
 
Design patterns talk_node_summit
Design patterns talk_node_summitDesign patterns talk_node_summit
Design patterns talk_node_summitShubhra Kar
 
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays
 
Google v Oracle: The Future of Software and Fair Use
Google v Oracle: The Future of Software and Fair UseGoogle v Oracle: The Future of Software and Fair Use
Google v Oracle: The Future of Software and Fair UseAurora Consulting
 
Past, Present, Future of APIS
Past, Present, Future of APISPast, Present, Future of APIS
Past, Present, Future of APISJason Harmon
 
Open Event API
Open Event APIOpen Event API
Open Event APIAvi Aryan
 
Node frameworks talk_hackerdojo
Node frameworks talk_hackerdojoNode frameworks talk_hackerdojo
Node frameworks talk_hackerdojoShubhra Kar
 

Tendances (20)

API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me?
 
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
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
 
Api types
Api typesApi types
Api types
 
API design principles for accelerated development
API design principles for accelerated developmentAPI design principles for accelerated development
API design principles for accelerated development
 
APIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsAPIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIs
 
Huge: Running an API at Scale
Huge: Running an API at ScaleHuge: Running an API at Scale
Huge: Running an API at Scale
 
Do's and Don'ts of APIs
Do's and Don'ts of APIsDo's and Don'ts of APIs
Do's and Don'ts of APIs
 
API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)
 
Build Better Apps through API Virtualization
Build Better Apps through API VirtualizationBuild Better Apps through API Virtualization
Build Better Apps through API Virtualization
 
Scaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships MatterScaling Your Team With GraphQL: Why Relationships Matter
Scaling Your Team With GraphQL: Why Relationships Matter
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshop
 
API Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and VirtualizingAPI Readiness: Visualizing and Virtualizing
API Readiness: Visualizing and Virtualizing
 
Api Design
Api DesignApi Design
Api Design
 
Design patterns talk_node_summit
Design patterns talk_node_summitDesign patterns talk_node_summit
Design patterns talk_node_summit
 
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
 
Google v Oracle: The Future of Software and Fair Use
Google v Oracle: The Future of Software and Fair UseGoogle v Oracle: The Future of Software and Fair Use
Google v Oracle: The Future of Software and Fair Use
 
Past, Present, Future of APIS
Past, Present, Future of APISPast, Present, Future of APIS
Past, Present, Future of APIS
 
Open Event API
Open Event APIOpen Event API
Open Event API
 
Node frameworks talk_hackerdojo
Node frameworks talk_hackerdojoNode frameworks talk_hackerdojo
Node frameworks talk_hackerdojo
 

En vedette

FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...openi_ict
 
FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...
FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...
FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...openi_ict
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathonopeni_ict
 
Máquinas elétricas fritzgerald (pt-br)
Máquinas elétricas   fritzgerald (pt-br)Máquinas elétricas   fritzgerald (pt-br)
Máquinas elétricas fritzgerald (pt-br)Diego Souza
 
OPENi presentation at AppSecEU 2015
OPENi presentation at AppSecEU 2015OPENi presentation at AppSecEU 2015
OPENi presentation at AppSecEU 2015openi_ict
 
OPENi Project Introduction @Athens hackathon, September 2014
OPENi Project Introduction @Athens hackathon, September 2014OPENi Project Introduction @Athens hackathon, September 2014
OPENi Project Introduction @Athens hackathon, September 2014openi_ict
 
OPENi Privacy by design @Athens hackathon, September 2014
OPENi Privacy by design @Athens hackathon, September 2014OPENi Privacy by design @Athens hackathon, September 2014
OPENi Privacy by design @Athens hackathon, September 2014openi_ict
 
Bahasa inggris iii topic 6
Bahasa inggris iii topic 6Bahasa inggris iii topic 6
Bahasa inggris iii topic 6Aghoez Shetyawan
 
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...openi_ict
 
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...openi_ict
 
FIA Dublin presentations: Agenda and Session Objectives
FIA Dublin presentations: Agenda and Session ObjectivesFIA Dublin presentations: Agenda and Session Objectives
FIA Dublin presentations: Agenda and Session Objectivesopeni_ict
 
FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...
FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...
FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...openi_ict
 
OPENi Innovation in the cloud
OPENi Innovation in the cloudOPENi Innovation in the cloud
OPENi Innovation in the cloudopeni_ict
 
Docker and Vagrant usage in OPENi
Docker and Vagrant usage in OPENiDocker and Vagrant usage in OPENi
Docker and Vagrant usage in OPENiopeni_ict
 
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...openi_ict
 
FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...
FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...
FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...openi_ict
 
A Graph API Framework Incorporating the Cloud Based Services Landscape
A Graph API Framework Incorporating the Cloud Based Services LandscapeA Graph API Framework Incorporating the Cloud Based Services Landscape
A Graph API Framework Incorporating the Cloud Based Services Landscapeopeni_ict
 
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014openi_ict
 

En vedette (19)

FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
 
FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...
FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...
FIA Dublin Presentations: Data Driven Services in the Mobile Marketing Indust...
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathon
 
Máquinas elétricas fritzgerald (pt-br)
Máquinas elétricas   fritzgerald (pt-br)Máquinas elétricas   fritzgerald (pt-br)
Máquinas elétricas fritzgerald (pt-br)
 
OPENi presentation at AppSecEU 2015
OPENi presentation at AppSecEU 2015OPENi presentation at AppSecEU 2015
OPENi presentation at AppSecEU 2015
 
OPENi Project Introduction @Athens hackathon, September 2014
OPENi Project Introduction @Athens hackathon, September 2014OPENi Project Introduction @Athens hackathon, September 2014
OPENi Project Introduction @Athens hackathon, September 2014
 
ברושור חינוך
ברושור חינוךברושור חינוך
ברושור חינוך
 
OPENi Privacy by design @Athens hackathon, September 2014
OPENi Privacy by design @Athens hackathon, September 2014OPENi Privacy by design @Athens hackathon, September 2014
OPENi Privacy by design @Athens hackathon, September 2014
 
Bahasa inggris iii topic 6
Bahasa inggris iii topic 6Bahasa inggris iii topic 6
Bahasa inggris iii topic 6
 
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
 
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
 
FIA Dublin presentations: Agenda and Session Objectives
FIA Dublin presentations: Agenda and Session ObjectivesFIA Dublin presentations: Agenda and Session Objectives
FIA Dublin presentations: Agenda and Session Objectives
 
FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...
FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...
FIA Dublin Presentations: Data driven services: Enabling Privacy and Personal...
 
OPENi Innovation in the cloud
OPENi Innovation in the cloudOPENi Innovation in the cloud
OPENi Innovation in the cloud
 
Docker and Vagrant usage in OPENi
Docker and Vagrant usage in OPENiDocker and Vagrant usage in OPENi
Docker and Vagrant usage in OPENi
 
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
 
FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...
FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...
FIA Dublin presentations: Overcoming Enterprise API challenges by Mícheál Ó F...
 
A Graph API Framework Incorporating the Cloud Based Services Landscape
A Graph API Framework Incorporating the Cloud Based Services LandscapeA Graph API Framework Incorporating the Cloud Based Services Landscape
A Graph API Framework Incorporating the Cloud Based Services Landscape
 
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
 

Similaire à API Athens Meetup - API standards 25-6-2014

RAML - APIs By Design
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By DesignUri Sarid
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformApigee | Google Cloud
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopShubhra Kar
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxBlockchainizator
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?Kasra Khosravi
 
Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...
Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...
Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...javier ramirez
 
OpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOps
OpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOpsOpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOps
OpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOpsjavier ramirez
 
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die KeynotePlatforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die KeynoteApigee | Google Cloud
 
Simple Ways to Get Your Organization to Adopt the AsyncAPI Spec
Simple Ways to Get Your Organization to Adopt the AsyncAPI SpecSimple Ways to Get Your Organization to Adopt the AsyncAPI Spec
Simple Ways to Get Your Organization to Adopt the AsyncAPI SpecAxway
 
2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open Standards2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open StandardsAPIsecure_ Official
 
Node.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarNode.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarShubhra Kar
 
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
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The MarketConSanFrancisco123
 
Programming coldfusion with APIs
Programming coldfusion with APIsProgramming coldfusion with APIs
Programming coldfusion with APIsNick Tong
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails PresentationPaul Pajo
 
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.jsShubhra Kar
 

Similaire à API Athens Meetup - API standards 25-6-2014 (20)

RAML - APIs By Design
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By Design
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps Platform
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
Mulesoft Raml APIs
Mulesoft Raml APIsMulesoft Raml APIs
Mulesoft Raml APIs
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...
Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...
Open Distro for ElasticSearch and how Grimoire is using it. Madrid DevOps Oct...
 
OpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOps
OpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOpsOpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOps
OpenDistro for Elasticsearch and how Bitergia is using it.Madrid DevOps
 
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die KeynotePlatforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
 
Simple Ways to Get Your Organization to Adopt the AsyncAPI Spec
Simple Ways to Get Your Organization to Adopt the AsyncAPI SpecSimple Ways to Get Your Organization to Adopt the AsyncAPI Spec
Simple Ways to Get Your Organization to Adopt the AsyncAPI Spec
 
2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open Standards2022 APIsecure_Securing APIs with Open Standards
2022 APIsecure_Securing APIs with Open Standards
 
Node.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarNode.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns Webinar
 
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
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The Market
 
Programming coldfusion with APIs
Programming coldfusion with APIsProgramming coldfusion with APIs
Programming coldfusion with APIs
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails Presentation
 
API Design Tour: Dell
API Design Tour: DellAPI Design Tour: Dell
API Design Tour: Dell
 
Walter api
Walter apiWalter api
Walter api
 
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
 

Dernier

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

API Athens Meetup - API standards 25-6-2014

  • 2.
  • 3.
  • 4.
  • 5.
  • 6. 958 million websites 60 trillion web pages
  • 7. Each API is Unique
  • 11.
  • 12. Narrowing down the choices API-Blueprint RAML Swagger What about Hypermedia? ioDocs? WADL? WSDL 2.0?
  • 13. So now we want to know… What’s behind the name? How does it model REST? What tools are available? Is there a community / following? What’s it gonna be?
  • 14. What’s behind the name? API-Blueprint RAML Swagger Format Markdown YAML JSON Spec License MIT ASL 2.0 / TM ASL 2.0 Available at GitHub GitHub GitHub Sponsored by Apiary Mulesoft Reverb Current Version 1A3 0.8 1.2 Initial commit April, 2013 Sep, 2013 July, 2011 Commercial Offering Yes Yes No API Design Approach Top-down Top-down Bottom-up
  • 15. How does it model REST? API-Blueprint RAML Swagger Resources X X X (“api”) Methods/Actions X (“action”) X (“method”) X (“operation”) Query Parameters X X X Path/URL Parameters X X X Header Parameters X X X Representations (status codes, mime-types) X X X Documentation X X X
  • 16. How does it model REST – part 2 API-Blueprint RAML Swagger Authentication Basic, Digest, Oauth 1&2, (*) Basic, API-Key, OAuth 2 Representation Metadata <any> (inline) <any> (inline/external) JSON Schema (subset) Nested Resources X X Composition/Inheritance Resource Models Traits, Resource Types File inclusions X API Version metadata X X Sample Representations X X
  • 17. What about tooling? API-Blueprint RAML Swagger Authoring apiary.io API-Designer (3rd party) Ad-hoc testing apiary.io API-Console Swagger-UI Documentation X X X Mocking X X (3rd party) Server Code (3rd party) java java,scala,ruby, node.js Client Code (3rd party) java,groovy,scala,objc,andr oid,c#,flash,php,python,rub y,js Generate from code java, 3rd party (go,python) Validation X X (java) X Parsing C++ (nodejs, c#) Java, js Java, js
  • 18. Some Community Stats API-Blueprint RAML Swagger Stackoverflow questions 37 18 596 Most Github Stars (on single project) 613 478 1859 Total Github projects (search on name) 72 52 340 Google search (name + “ rest”) 807K 64K 5M
  • 19. So what gives!? Swagger: Pros: high adoption rate, good code-level tooling, large community Cons: bottom-up, lacks advanced metadata constructs RAML Pros: good online design tools and mature supporting infrastructure, seemingly useful advanced constructs Cons: very new to the game, low adoption, lacks code-level tooling API-Blueprint Pros: good online design tools, good community involvement Cons: new to the game, low adoption, lacks advanced constructs and code level tooling
  • 20. How decide? What do your API consumers need/expect? Documentation Client code / SDKs / etc Technologies What do you need? Approach Tooling Technologies Do you need API management? Commercial Support?
  • 22. WADL
  • 27. RAML
  • 28.
  • 29. Automated API Provisioning Problem: How do I use an API without specifically coding for it? Answer: Use vocabulary to define operations on classes and properties Proposition: Annotations are the result of operations on entities or the relationships between entities. Those results are also entities, which may be operated upon.
  • 30. Links and Operations Define operations on entities, types of entities, or their properties. When does a property link to an entity? How do you use pagination to reference and collect linked entities? What operations can I perform on an entity, or property of that entity? Where does authentication/authorization intersect with generic API interactions?
  • 31. What is Hydra? W3C Community Group for Linked APIs REST + Linked Data “At the intersection of web schemas and RESTful web applications”
  • 32.
  • 33. Keep in touch! Me Github mpetyx/ Twitter @mpetyx Mail mpetyx@epu.ntua.gr OPENi GitHub OPENi-ict/ Twitter @openi_ict Site http://www.openi-ict.eu/ Acknowledgments. This work has been created in the context of the EU-funded project OPENi (Open-Source, Web-Based, Framework for Integrating Applications with Social Media Services and Personal Cloudlets), Contract No: FP7-ICT-317883.

Notes de l'éditeur

  1. Και μονο που αλλαζει η ημερομηνια σε καθε ενα απο αυτα, καθε μερα αυτος ο αριθμος πολλαπλασιαζεται