SlideShare ist ein Scribd-Unternehmen logo
1 von 33
The State of Web API
Languages in 2016
Jerome Louvel, Chief Geek
@jlouvel
© Restlet 2016
x
© Restlet 2016
Jérôme LOUVEL
About Jérôme LOUVEL
• Founder, CTO & VP of Products at Restlet
• Restlet Framework creator,
first REST framework for Java (2004)
• Contributor to “RESTful Web Services” (O’Reilly, 2007)
• Member of JAX-RS 1.0 expert group (2007 - 2009)
• Co-author of “Restlet in Action” (Manning, 2012)
• InfoQ editor covering Web APIs (since 2014)
• Board member of Open API Initiative
@jlouvel
© Restlet 2016
x
© Restlet 2016
• New API Use Cases
• Continuous API Delivery
• API Team Collaboration
Why API Languages?
© Restlet 2016
API Use Cases
API centric
software
Mobile app
backend
IoT
backend
Micro
service
Web app
backend
Social bot
backend
Partner
API
gateway
Public
API
gateway
Automated
workflow
© Restlet 2016
Continuous API Delivery
DEV
API centric
software
QA
OPS
BIZ
© Restlet 2016
1 | Code-first & Provider driven
Provider
team
Consumer
teams
API
Impl
SDK
Client
A
SDK
Client
B
...
...
3
1
2
© Restlet 2016
2 | Contract-first & Provider driven
Provider
team
Consumer
teams
Impl
SDK
Client
A
SDK
Client
B
...
...
2
1
Mock
2
API
© Restlet 2016
3 | Collaborative Contract-first
Provider
team
Consumer
teams
Impl
SDK
Client
A
SDK
Client
B
...
...
2
1
Mock
2
API
© Restlet 2016
4 | Contract-first & Consumer Driven
Provider
team
Consumer
teams
Impl
SDK
Client
A
SDK
Client
B
...
...
2
1
Mock
2
API
Mock
API
Impl
Mock
API
Impl
ServicesData
© Restlet 2016
5 | Contract-first & Consumer Owned
Provider
team
Consumer
teams
Impl
SDK
Client
A
SDK
Client
B
...
...
2
1
Mock
2
API
Mock
API
Impl
Mock
API
Impl
Data Services
© Restlet 2016
API Team Collaboration
API
Team
© Restlet 2016
Impact on API development
• New types of APIs
- internal & external APIs
- mini & micro APIs
- experience APIs
• Number of APIs increases
- channels growth
- history of versions
- microservices pattern
- quality of service
• → Industrialization needed
- automated workflows
- better tooling
- importance of API languages
API Platform
Micro APIs
(domain data & logic)
Mini APIs
(domain services)
Experience APIs
(backends)
User Interfaces
(frontends)
Public APIs
(gateways)
End-users
Micro APIs
(external SaaS)
Partner devs
© Restlet 2016
x
© Restlet 2016
• OAS
• RAML
• API Blueprint
• Alternatives
Which API Language?
© Restlet 2016
Current state
• Version 2.0 widely adopted with strong tooling support (fka Swagger Spec)
• Basis of contribution to the OpenAPI Initiative (OAI)
• Strongest market traction
Upcoming 3.0 version
• Structural improvements
• Request Parameters
• Protocol and Payload
• Documentation, Security, Path definitions
• Release planned for first half of 2017
Learn more
• https://www.openapis.org/blog
• https://www.openapis.org/specification/repo
• https://www.infoq.com/news/2016/01/tony-tam-oai-initiative-swagger
• https://www.infoq.com/articles/open-api-initiative-update
OpenAPI Specification (OAS)
© Restlet 2016
Content, Callbacks, Links, etc.
Overview of changes in OAS 3.0
© Restlet 2016
Evolution of Swagger
2015
Specification
donated
Open source
framework
Commercial
cloud tool
© Restlet 2016
Current state
• Version 0.8 adopted with good tooling support
• Good market traction, especially in larger enterprises
• Strong support by MuleSoft, a well established software vendor
Latest 1.0 version
• Built-in data typing, examples, libraries, annotations, overlays and extensions
• Stronger design and reusability capabilities than OAS
• Tooling partially available but progressing
Learn more
• http://www.raml.org/
• https://github.com/raml-org/raml-spec/
• https://www.infoq.com/news/2016/08/raml-1.0-mulesoft
RESTful API Modeling Language (RAML)
© Restlet 2016
Current state
• Version 1A9 adopted with good tooling support
• Good market traction, especially during by API design teams
• Support by Apiary, an API startup
Latest version
• Built-in data typing based on Markdown → MSON
• Still young compared to more mature schema languages such as JSON Schema
• ABP creator, Zdenek Nemec, recently left Apiary → see his talk at APIdays on what’s next
• Apiary is a member of OAI and also supports OAS in its tooling
Learn more
• https://apiblueprint.org/
• https://github.com/apiaryio/api-blueprint/
• https://www.infoq.com/news/2015/05/api-blueprint-progress
API Blueprint
© Restlet 2016
• RAPID-ML
- Created by RepreZen
- Data/Domain-Driven API Modeling
- RepreZen API Studio
• Google API Discovery format
- Supports Google Discovery Service
- Not used elsewhere much
- Google is a founding member of OAI and supports OAS
• WADL
- The pioneer, created by Sun Microsystems in 2005
- XML based alternative to WSDL
- Still used in Apigee products for example
Alternatives
© Restlet 2016
Languages are Abstraction Layers
Hardware
Assembly languages
System languages
Application languages
Web API languages
software level, drivers
NASM / TASM
OS level, high performance
C / C++ / C# / Go
productivity, portability, business logic
Java / PHP / Visual Basic
web scale, interoperability, integration, DSLs
OAS / RAML / API Blueprint
lowest level, machine code
x86 / CISC / RISC / etc.
1st generation
2nd generation
3rd generation
4th generation
3rd generation
© Restlet 2016
Maturity levels of API Languages
• 1) Describe API contract
- endpoints, resources, operations, representations
- enable the generation of:
• client SDKs & server skeletons
• documentation
• test scenarios
• mock servers
• 2) Implement API
- wrap regular applications written with classic languages
- compose lower-level APIs into higher-level APIs
- integration purpose at web scale
• 3) Operate API
- provide the infrastructure to deliver the API
Lower level
languages
API delivery
network
© Restlet 2016
x
© Restlet 2016
• For Design
• For Testing
• Maturity levels
API Language IDEs
© Restlet 2016
Design IDE - SmartBear SwaggerHub
© Restlet 2016
Design IDE - MuleSoft API Designer
© Restlet 2016
Design IDE - Apiary Editor
© Restlet 2016
Design IDE - Restlet Studio
© Restlet 2016
Design IDE - Restlet Studio
© Restlet 2016
Test IDE - Postman
© Restlet 2016
Test IDE - Paw
© Restlet 2016
Test IDE - Restlet Client (DHC)
© Restlet 2016
API Centric Software - Maturity Levels
Level 4
Behavior driven
Level 3 - Test driven
(replace UI testing, blue green deployment)
Level 2 - Contract driven
(provider driven, collaborative, consumer driven)
Level 1 - Implementation driven
(code driven, data driven, service driven)
API centric software is software
© Restlet 2016
Our API challenges
● 1 | Converge API languages
○ OpenAPI Initiative as standardization body
○ extend OAS with specialized languages (design, testing, operation)
○ move innovation to upper levels
○ accelerate tooling ecosystem
● 2 | Better API workflows
○ integrate API & DevOps tools
○ integrate Design & Test
○ integrate Design & Operate
○ Integrate Test & Operate
→ A whole new API Stack is emerging!
Thank you
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager
WSO2
 

Was ist angesagt? (18)

apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole ...
apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole ...apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole ...
apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole ...
 
apidays LIVE Paris 2021 - Automating API Documentation by Ajinkya Marudwar, G...
apidays LIVE Paris 2021 - Automating API Documentation by Ajinkya Marudwar, G...apidays LIVE Paris 2021 - Automating API Documentation by Ajinkya Marudwar, G...
apidays LIVE Paris 2021 - Automating API Documentation by Ajinkya Marudwar, G...
 
An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager
 
End to End Testing: Bug Squashing for API Developers
End to End Testing: Bug Squashing for API Developers End to End Testing: Bug Squashing for API Developers
End to End Testing: Bug Squashing for API Developers
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
apidays LIVE Paris 2021 - Why GraphQL is Perfect For Microservices by Roy Der...
apidays LIVE Paris 2021 - Why GraphQL is Perfect For Microservices by Roy Der...apidays LIVE Paris 2021 - Why GraphQL is Perfect For Microservices by Roy Der...
apidays LIVE Paris 2021 - Why GraphQL is Perfect For Microservices by Roy Der...
 
API Management 101: The New API Experience with WSO2
API Management 101: The New API Experience with WSO2API Management 101: The New API Experience with WSO2
API Management 101: The New API Experience with WSO2
 
Blood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookBlood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbook
 
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
 
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127
 
Lessons from the Trenches: Building an API-Centric Architecture
Lessons from the Trenches: Building an API-Centric ArchitectureLessons from the Trenches: Building an API-Centric Architecture
Lessons from the Trenches: Building an API-Centric Architecture
 
WSO2 Product Release Webinar - WSO2 App Factory 2.1
WSO2 Product Release Webinar - WSO2 App Factory 2.1WSO2 Product Release Webinar - WSO2 App Factory 2.1
WSO2 Product Release Webinar - WSO2 App Factory 2.1
 
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
 
Vizag mulesoft-meetup-6-anypoint-datagraph--v2
Vizag mulesoft-meetup-6-anypoint-datagraph--v2Vizag mulesoft-meetup-6-anypoint-datagraph--v2
Vizag mulesoft-meetup-6-anypoint-datagraph--v2
 
Introduction to Kitura - Swift Hong Kong Meetup 2016 July
Introduction to Kitura - Swift Hong Kong Meetup 2016 JulyIntroduction to Kitura - Swift Hong Kong Meetup 2016 July
Introduction to Kitura - Swift Hong Kong Meetup 2016 July
 
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
 

Andere mochten auch

Presentación TT Javier Calvo
Presentación TT Javier CalvoPresentación TT Javier Calvo
Presentación TT Javier Calvo
eiciUV
 
Alternativas Evolucion Para Forms Report
Alternativas Evolucion Para Forms ReportAlternativas Evolucion Para Forms Report
Alternativas Evolucion Para Forms Report
aitorvasco
 

Andere mochten auch (20)

Government Policy - Old Age Security (OAS) - Canada
Government Policy - Old Age Security (OAS) - Canada Government Policy - Old Age Security (OAS) - Canada
Government Policy - Old Age Security (OAS) - Canada
 
ODSP and Aging
ODSP and AgingODSP and Aging
ODSP and Aging
 
OAS 10gR3 (32 bit) Installation on Oracle Linux 5
OAS 10gR3 (32 bit) Installation on Oracle Linux 5OAS 10gR3 (32 bit) Installation on Oracle Linux 5
OAS 10gR3 (32 bit) Installation on Oracle Linux 5
 
Educational Portal of the Americas
Educational Portal of the AmericasEducational Portal of the Americas
Educational Portal of the Americas
 
Alsopp ipsas a case for accounting reform at the oas
Alsopp ipsas a case for accounting reform at the  oasAlsopp ipsas a case for accounting reform at the  oas
Alsopp ipsas a case for accounting reform at the oas
 
Cultural figures of Oas
Cultural figures of OasCultural figures of Oas
Cultural figures of Oas
 
Office automation sysmtems
Office automation sysmtemsOffice automation sysmtems
Office automation sysmtems
 
The Rise of Open Adoption Software (OAS)
The Rise of Open Adoption Software (OAS)The Rise of Open Adoption Software (OAS)
The Rise of Open Adoption Software (OAS)
 
Webutil
WebutilWebutil
Webutil
 
Sergiocastillolaclo2008
Sergiocastillolaclo2008Sergiocastillolaclo2008
Sergiocastillolaclo2008
 
Presentación TT Javier Calvo
Presentación TT Javier CalvoPresentación TT Javier Calvo
Presentación TT Javier Calvo
 
OA
OAOA
OA
 
Oracle Forms
Oracle FormsOracle Forms
Oracle Forms
 
Alternativas Evolucion Para Forms Report
Alternativas Evolucion Para Forms ReportAlternativas Evolucion Para Forms Report
Alternativas Evolucion Para Forms Report
 
Oas leydy.mafe
Oas leydy.mafeOas leydy.mafe
Oas leydy.mafe
 
Alternativas evolución para Forms Reports
Alternativas evolución para Forms ReportsAlternativas evolución para Forms Reports
Alternativas evolución para Forms Reports
 
Evaluacion de objetos de aprendizaje
Evaluacion de objetos de aprendizajeEvaluacion de objetos de aprendizaje
Evaluacion de objetos de aprendizaje
 
Objetos De Aprendizaje Nuevo Concepto Instruccional
Objetos De Aprendizaje Nuevo Concepto InstruccionalObjetos De Aprendizaje Nuevo Concepto Instruccional
Objetos De Aprendizaje Nuevo Concepto Instruccional
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Science of corrosion
Science of corrosionScience of corrosion
Science of corrosion
 

Ähnlich wie APIdays 2016 - The State of Web API Languages

Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5
WSO2
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
WSO2
 
RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?
Mark Russell
 

Ähnlich wie APIdays 2016 - The State of Web API Languages (20)

Streamline Devops workflows
Streamline Devops workflows Streamline Devops workflows
Streamline Devops workflows
 
DevOps D-Day - Streamline DevOps workflows with APIs
DevOps D-Day - Streamline DevOps workflows with APIsDevOps D-Day - Streamline DevOps workflows with APIs
DevOps D-Day - Streamline DevOps workflows with APIs
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
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
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
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
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
 
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?
 
RESTful web APIs (build, document, manage)
RESTful web APIs (build, document, manage)RESTful web APIs (build, document, manage)
RESTful web APIs (build, document, manage)
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language Frontier
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language Frontier
 
Top 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementationTop 7 wrong common beliefs about Enterprise API implementation
Top 7 wrong common beliefs about Enterprise API implementation
 
Octo API-days 2015
Octo API-days 2015Octo API-days 2015
Octo API-days 2015
 
PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice
PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of ChoicePaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice
PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_development
 
RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?RAP vs GWT Which AJAX Technology is for you?
RAP vs GWT Which AJAX Technology is for you?
 
APIdays Paris - How to Build Your Web API
APIdays Paris - How to Build Your Web APIAPIdays Paris - How to Build Your Web API
APIdays Paris - How to Build Your Web API
 
Rez gateway - RezOS - innovate the future
Rez gateway - RezOS -   innovate the futureRez gateway - RezOS -   innovate the future
Rez gateway - RezOS - innovate the future
 

Mehr von Restlet

Mehr von Restlet (20)

APIDays - API Design Workshop
APIDays - API Design WorkshopAPIDays - API Design Workshop
APIDays - API Design Workshop
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NG
 
API World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API developmentAPI World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API development
 
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016
 
Public and private APIs: differences and challenges
Public and private APIs: differences and challengesPublic and private APIs: differences and challenges
Public and private APIs: differences and challenges
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debate
 
Take a Groovy REST
Take a Groovy RESTTake a Groovy REST
Take a Groovy REST
 
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
 
GlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIs
 
Transformez vos Google Spreadsheets en API web - DevFest 2014
Transformez vos Google Spreadsheets en API web - DevFest 2014Transformez vos Google Spreadsheets en API web - DevFest 2014
Transformez vos Google Spreadsheets en API web - DevFest 2014
 
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API Languages
 
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIsDefrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
 
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
Deploy a web API in 15'
Deploy a web API in 15'Deploy a web API in 15'
Deploy a web API in 15'
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
From Open Source to Open API with Restlet
From Open Source to Open API with RestletFrom Open Source to Open API with Restlet
From Open Source to Open API with Restlet
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

APIdays 2016 - The State of Web API Languages

  • 1. The State of Web API Languages in 2016 Jerome Louvel, Chief Geek @jlouvel
  • 2. © Restlet 2016 x © Restlet 2016 Jérôme LOUVEL About Jérôme LOUVEL • Founder, CTO & VP of Products at Restlet • Restlet Framework creator, first REST framework for Java (2004) • Contributor to “RESTful Web Services” (O’Reilly, 2007) • Member of JAX-RS 1.0 expert group (2007 - 2009) • Co-author of “Restlet in Action” (Manning, 2012) • InfoQ editor covering Web APIs (since 2014) • Board member of Open API Initiative @jlouvel
  • 3. © Restlet 2016 x © Restlet 2016 • New API Use Cases • Continuous API Delivery • API Team Collaboration Why API Languages?
  • 4. © Restlet 2016 API Use Cases API centric software Mobile app backend IoT backend Micro service Web app backend Social bot backend Partner API gateway Public API gateway Automated workflow
  • 5. © Restlet 2016 Continuous API Delivery DEV API centric software QA OPS BIZ
  • 6. © Restlet 2016 1 | Code-first & Provider driven Provider team Consumer teams API Impl SDK Client A SDK Client B ... ... 3 1 2
  • 7. © Restlet 2016 2 | Contract-first & Provider driven Provider team Consumer teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API
  • 8. © Restlet 2016 3 | Collaborative Contract-first Provider team Consumer teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API
  • 9. © Restlet 2016 4 | Contract-first & Consumer Driven Provider team Consumer teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API Mock API Impl Mock API Impl ServicesData
  • 10. © Restlet 2016 5 | Contract-first & Consumer Owned Provider team Consumer teams Impl SDK Client A SDK Client B ... ... 2 1 Mock 2 API Mock API Impl Mock API Impl Data Services
  • 11. © Restlet 2016 API Team Collaboration API Team
  • 12. © Restlet 2016 Impact on API development • New types of APIs - internal & external APIs - mini & micro APIs - experience APIs • Number of APIs increases - channels growth - history of versions - microservices pattern - quality of service • → Industrialization needed - automated workflows - better tooling - importance of API languages API Platform Micro APIs (domain data & logic) Mini APIs (domain services) Experience APIs (backends) User Interfaces (frontends) Public APIs (gateways) End-users Micro APIs (external SaaS) Partner devs
  • 13. © Restlet 2016 x © Restlet 2016 • OAS • RAML • API Blueprint • Alternatives Which API Language?
  • 14. © Restlet 2016 Current state • Version 2.0 widely adopted with strong tooling support (fka Swagger Spec) • Basis of contribution to the OpenAPI Initiative (OAI) • Strongest market traction Upcoming 3.0 version • Structural improvements • Request Parameters • Protocol and Payload • Documentation, Security, Path definitions • Release planned for first half of 2017 Learn more • https://www.openapis.org/blog • https://www.openapis.org/specification/repo • https://www.infoq.com/news/2016/01/tony-tam-oai-initiative-swagger • https://www.infoq.com/articles/open-api-initiative-update OpenAPI Specification (OAS)
  • 15. © Restlet 2016 Content, Callbacks, Links, etc. Overview of changes in OAS 3.0
  • 16. © Restlet 2016 Evolution of Swagger 2015 Specification donated Open source framework Commercial cloud tool
  • 17. © Restlet 2016 Current state • Version 0.8 adopted with good tooling support • Good market traction, especially in larger enterprises • Strong support by MuleSoft, a well established software vendor Latest 1.0 version • Built-in data typing, examples, libraries, annotations, overlays and extensions • Stronger design and reusability capabilities than OAS • Tooling partially available but progressing Learn more • http://www.raml.org/ • https://github.com/raml-org/raml-spec/ • https://www.infoq.com/news/2016/08/raml-1.0-mulesoft RESTful API Modeling Language (RAML)
  • 18. © Restlet 2016 Current state • Version 1A9 adopted with good tooling support • Good market traction, especially during by API design teams • Support by Apiary, an API startup Latest version • Built-in data typing based on Markdown → MSON • Still young compared to more mature schema languages such as JSON Schema • ABP creator, Zdenek Nemec, recently left Apiary → see his talk at APIdays on what’s next • Apiary is a member of OAI and also supports OAS in its tooling Learn more • https://apiblueprint.org/ • https://github.com/apiaryio/api-blueprint/ • https://www.infoq.com/news/2015/05/api-blueprint-progress API Blueprint
  • 19. © Restlet 2016 • RAPID-ML - Created by RepreZen - Data/Domain-Driven API Modeling - RepreZen API Studio • Google API Discovery format - Supports Google Discovery Service - Not used elsewhere much - Google is a founding member of OAI and supports OAS • WADL - The pioneer, created by Sun Microsystems in 2005 - XML based alternative to WSDL - Still used in Apigee products for example Alternatives
  • 20. © Restlet 2016 Languages are Abstraction Layers Hardware Assembly languages System languages Application languages Web API languages software level, drivers NASM / TASM OS level, high performance C / C++ / C# / Go productivity, portability, business logic Java / PHP / Visual Basic web scale, interoperability, integration, DSLs OAS / RAML / API Blueprint lowest level, machine code x86 / CISC / RISC / etc. 1st generation 2nd generation 3rd generation 4th generation 3rd generation
  • 21. © Restlet 2016 Maturity levels of API Languages • 1) Describe API contract - endpoints, resources, operations, representations - enable the generation of: • client SDKs & server skeletons • documentation • test scenarios • mock servers • 2) Implement API - wrap regular applications written with classic languages - compose lower-level APIs into higher-level APIs - integration purpose at web scale • 3) Operate API - provide the infrastructure to deliver the API Lower level languages API delivery network
  • 22. © Restlet 2016 x © Restlet 2016 • For Design • For Testing • Maturity levels API Language IDEs
  • 23. © Restlet 2016 Design IDE - SmartBear SwaggerHub
  • 24. © Restlet 2016 Design IDE - MuleSoft API Designer
  • 25. © Restlet 2016 Design IDE - Apiary Editor
  • 26. © Restlet 2016 Design IDE - Restlet Studio
  • 27. © Restlet 2016 Design IDE - Restlet Studio
  • 28. © Restlet 2016 Test IDE - Postman
  • 29. © Restlet 2016 Test IDE - Paw
  • 30. © Restlet 2016 Test IDE - Restlet Client (DHC)
  • 31. © Restlet 2016 API Centric Software - Maturity Levels Level 4 Behavior driven Level 3 - Test driven (replace UI testing, blue green deployment) Level 2 - Contract driven (provider driven, collaborative, consumer driven) Level 1 - Implementation driven (code driven, data driven, service driven) API centric software is software
  • 32. © Restlet 2016 Our API challenges ● 1 | Converge API languages ○ OpenAPI Initiative as standardization body ○ extend OAS with specialized languages (design, testing, operation) ○ move innovation to upper levels ○ accelerate tooling ecosystem ● 2 | Better API workflows ○ integrate API & DevOps tools ○ integrate Design & Test ○ integrate Design & Operate ○ Integrate Test & Operate → A whole new API Stack is emerging!