SlideShare a Scribd company logo
1 of 36
TED EPSTEIN, REPREZEN - Ted.Epstein@RepreZen.com
KCDC X - THE KANSAS CITY DEVELOPER CONFERENCE, JULY 2018
1COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED.
OpenAPI v.Next
Events, Alternative Schemas & the Road Ahead
About Me
• Ted Epstein
CEO, RepreZen
◦ Governing Board Member, OpenAPI Initiative
◦ 25+ years in software, including 10 years in
financial services IT
◦ Ted.Epstein@RepreZen.com
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 2
Overview
• APIs: What all the fuss is about
• API Description Languages
• Swagger, OpenAPI 2.0, 3.0 & beyond
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 3http://rzen.io/GetAPIStudio
All Eyes on APIs
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 4http://rzen.io/GetAPIStudio
How did we get here?
Perfect Storm:
◦ Ubiquitous, standardized
web communication
technology
◦ AJAX: The web works for
data
◦ Mobile
◦ SaaS
◦ Integration “Big Bang”
Result: The API Economy
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 5http://rzen.io/GetAPIStudio
What does the API Economy look like?
• External APIs:
◦ New Revenue Channels
◦ New Systems of Engagement
• Internal APIs:
◦ SOAP  REST
◦ XML  JSON
◦ Verbs  Nouns
◦ Centralized  Distributed
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 6
Interactive
Documentation
Code
Generation
API Testing
Tools
API
Management
API Gateway
Developer
Portal
API Design
Tools
Frameworks
IPaaS
Mocking /
Virtualization
• Tools!
API
Aggregators
http://rzen.io/GetAPIStudio
Oh, and Microservices.
What’s this about?
◦ Componentization, not
centralization
◦ Application-Scoped
◦ Single-Purpose,
Lightweight
◦ Autonomous, Self-
Contained
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 7http://rzen.io/GetAPIStudio
Oh, and Microservices.
And So…
◦ Network & cloud
infrastructure becomes the
OS
◦ Devops becomes a
prerequisite
◦ Microservice platforms for
orchestration, scheduling,
container lifecycle
management…
◦ Reuse is not a primary
goal… yet.
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 8http://rzen.io/GetAPIStudio
API Definitions and
Documentation
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 9http://rzen.io/GetAPIStudio
2000’s - Remember WSDL?
• Web Services Definition Language
◦ W3C Standard
◦ Define your SOAP API contract
(logical & physical)
◦ Widely supported in language frameworks, IDEs
◦ Complex!
◦ XML Schema
◦ Document-Literal, Wrapped, Basic Profile…
◦ WS-*
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 10http://rzen.io/GetAPIStudio
What About REST?
• Early Days:
◦ XML over HTTP
◦ NoSchema™
• RESTafarians – Hypermedia
as religion
◦ Do you speak HATEOAS?
◦ Hypertext as the engine of
application state
◦ The media type tells the whole
story.
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 11http://rzen.io/GetAPIStudio
What About REST?
• Then there was WADL…
◦ Web Application Description Language
◦ W3C proposal, never a recommendation
◦ XML-Based
◦ Not widely adopted
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 12http://rzen.io/GetAPIStudio
2011 – Swagger: The First Generation
• Swagger – First Generation
◦ Aimed at the API documentation
problem – how do I keep the docs in
sync?
◦ Code-first, with annotations
◦ No intermediate language
◦ Runtime with integrated sandbox
testing
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 13http://rzen.io/GetAPIStudio
2011 – Swagger: The First Generation
• Swagger – First Generation
◦ Aimed at the API documentation
problem – how do I keep the docs in
sync?
◦ Code-first, with annotations
◦ No intermediate language
◦ Runtime with integrated sandbox
testing
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 14
“Why WADL when you
can Swagger?”
- Anonymous
http://rzen.io/GetAPIStudio
2012? API Blueprint
• Apiary introduces API Blueprint
◦ Based on Markdown
◦ Online Editor
◦ Hosted Documentation
◦ Code Generation
◦ Conformance Testing
• Swagger Introduces
JSON Syntax, Editor & Codegen
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 15http://rzen.io/GetAPIStudio
2013-14: RAML
• MuleSoft introduces REST API
Modeling Language (RAML)
◦ YAML-Based
◦ Traits
◦ Online editors…
◦ Not as widely adopted
• Swagger introduces 2.0 spec
◦ YAML syntax, new editor, codegen,
UI, etc.
◦ Improved language model
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 16http://rzen.io/GetAPIStudio
2015: OpenAPI
• Swagger 2.0 Specification becomes
the OpenAPI Specification (OAS) 2.0
◦ SmartBear acquires Swagger
◦ Contributes language spec to new
Open API Initiative (OAI), formed under the
Linux Foundation
◦ Founding members 3Scale, Apigee, Capital
One, Google, IBM, Intuit, Microsoft, PayPal
and Restlet
◦ Retains Swagger brand name for its
Commercial & Open Source software
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 17http://rzen.io/GetAPIStudio
The OpenAPI Initiative (OAI) is a consortium of forward-looking
domain experts who — coming from a wide range of industry
backgrounds — recognize the immense value of standardizing
on how REST APIs are described. With an open governance
structure under the Linux Foundation, the OAI creates, evolves,
and promotes a vendor-neutral, open-source description
format: the OpenAPI Specification. We invite the anyone in the
API community to join us on github.com/OAI/ and to assist in
the development of the OpenAPI Spec.
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 18
Swagger or OpenAPI?
Swagger
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 19
OpenAPI Initiative (OAI)
OpenAPI Specification (OAS)
(Swagger UI)
http://rzen.io/GetAPIStudio
Swagger or OpenAPI?
Swagger
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 20
OpenAPI Initiative (OAI)
A collection of open source and
commercial software
OpenAPI Specification (OAS)
A cool way to show API documentation
with a built-in “Try it out” button. (Swagger UI)
A brand name trademark owned by
SmartBear
An industry-standard language for
describing REST APIs
An industry consortium formed under
the Linux Foundation
http://rzen.io/GetAPIStudio
2016: Transitional Year
• RAML 0.8  1.0
(Announced late 2015)
• Oracle acquires Apiary
(Announced Jan 2017)
• OpenAPI begins work on
3.0 spec
• API tools market
expanding & evolving
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 21http://rzen.io/GetAPIStudio
2017: OpenAPI 3.0
• Industry Converges around
Open API Initiative
◦ MuleSoft joins
◦ RepreZen joins
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 22
• More reusable components
• More complete support for JSON
Schema
• Content negotiation
• Enhanced Security Definitions
• More flexible examples
• Callbacks
• Links
• Multiple Servers
http://rzen.io/GetAPIStudio
OpenAPI v3: More Reusable Components
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 23
Reusable Components V2 V3
Path Items  
Parameters  
Responses  
Schema Definitions  
Examples 
Request Bodies 
Headers 
Security Schemes * 
Links 
Callbacks 
OpenAPI v3: More flexible Schemas
Boolean Assertions
◦ allOf (also in 2.0)
◦ anyOf
◦ oneOf
◦ not
additionalProperties
◦ True (default)
◦ False
◦ Subschema
nullable
◦ Allows sending a null value for the
defined schema
readOnly
◦ Now allows
readOnly + required
writeOnly
◦ Only present in the request
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 24
OpenAPI v3:
Content
Negotiation
• A request body
can have
different content
for different
media types
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 25
paths:
/users:
post:
requestBody:
description: user to add to the system
content:
'application/json':
schema:
$ref: '#/components/schemas/User'
examples:
user:
externalValue: 'http://foo.bar/user-example.json'
'application/xml':
schema:
$ref: '#/components/schemas/User'
examples:
user:
externalValue: 'http://foo.bar/user-example.xml'
'text/plain':
examples:
user:
externalValue: 'http://foo.bar/user-example.txt'
OpenAPI v3: Enhanced Security Definitions
OAuth 2 flows renamed to match
the OAuth 2 Specification:
◦ accessCode is now authorizationCode
◦ application is now clientCredentials.
OAuth 2 security schemes can now
define multiple flows.
Added support for OpenID Connect
Discovery (type: openIdConnect).
API keys can now be sent in: cookie.
securityDefinitions renamed, moved
to components/securitySchemes,
allowing external referencing.
New type: http is an umbrella type
for all HTTP security schemes
◦ Basic
◦ Bearer
◦ other
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 26
OpenAPI v3:
Callbacks
• Asynchronous
“outbound” API
notifications, or
webhooks.
• Specifies a client-
provided API that the
server will invoke.
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 27
paths:
/streams:
post:
parameters: ...
responses: ...
callbacks:
onData:
'{$request.query.callbackUrl}/data':
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
timestamp:
type: string
userData:
type: string
responses:
'202':
description: Data received
'204':
description: Unsubscribe
Links
• “OpenAPI Links are Client-Computed, Design-Time
Parameterized Traversals between Responses and
Operations.”
◦ Client-Computed
◦ Design-Time
◦ Parameterized
◦ From Response
◦ To Operation
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 28
Links
Example
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 29
/2.0/users/{username}:
get:
operationId: getUserByName
parameters:
- name: username
in: path
required: true
schema:
type: string
responses:
'200':
description: The User
content:
application/json:
schema:
$ref: '#/components/schemas/user'
links:
userRepositories:
# returns array of '#/components/schemas/repository'
- operationId: getRepositoriesByOwner
parameters:
username: "$response.body#/username"
2018: OpenAPI 3.x
• New API Paradigms Emerging
◦ GraphQL
◦ gRPC
◦ Async API
◦ IoT Standards…
• OpenAPI 3.x topics under
discussion:
◦ Alternative Schemas
◦ Conformance Testing & Certification
◦ Overlays
◦ Encryption/Signing
◦ Client Certificates
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 30
• 33 members as of May 2018
• Netherlands Government
Standardizes on OpenAPI v3
http://rzen.io/GetAPIStudio
Alternative Schemas
• Allow non-JSON formats to use format-specific
schema languages.
• Can use anyOf (or another keyword, TBD):
◦ Spec provides a list of schemas
◦ Client can use the first schema that it is able to process.
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 31
Alternative Schemas
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 32
Alternative Schemas
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 33
Alternative Schemas
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 34
Client Certificates
• New Security Scheme Type
• Use SSL protocol (HTTPS) to provide a verifiable client
identity
• Same infrastructure already available in browsers and SSL
frameworks:
◦ PKI
◦ Trust Chain
◦ Certificate Store, etc.
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 35
Thank you!
COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 36

More Related Content

What's hot

Symphony Software Foundation Current State and Roadmap
Symphony Software Foundation Current State and Roadmap Symphony Software Foundation Current State and Roadmap
Symphony Software Foundation Current State and Roadmap Symphony Software Foundation
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesAmazon Web Services
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleSauce Labs
 
Spring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliSpring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliVMware Tanzu
 
Selenium-corporate-training-in-mumbai
Selenium-corporate-training-in-mumbaiSelenium-corporate-training-in-mumbai
Selenium-corporate-training-in-mumbaiUnmesh Baile
 
Spring Tools 4 - Eclipse and Beyond
Spring Tools 4 - Eclipse and BeyondSpring Tools 4 - Eclipse and Beyond
Spring Tools 4 - Eclipse and BeyondVMware Tanzu
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | MindtreeAnikeyRoy
 
The Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed SourceThe Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed SourceJeet Prakash
 
A Hitchhiker's Guide to Cloud-Native API Gateways
A Hitchhiker's Guide to Cloud-Native API GatewaysA Hitchhiker's Guide to Cloud-Native API Gateways
A Hitchhiker's Guide to Cloud-Native API GatewaysQAware GmbH
 
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiEclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiRafik HARABI
 
MuleSoft CloudHub API Versioning
MuleSoft CloudHub API VersioningMuleSoft CloudHub API Versioning
MuleSoft CloudHub API VersioningPatryk Bandurski
 
Experience with Salesforce DX on real project
Experience with Salesforce DX on real projectExperience with Salesforce DX on real project
Experience with Salesforce DX on real projectYeurDreamin'
 
A Hitchhikers Guide to Cloud Native API Gateways
A Hitchhikers Guide to Cloud Native API GatewaysA Hitchhikers Guide to Cloud Native API Gateways
A Hitchhikers Guide to Cloud Native API GatewaysQAware GmbH
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOpsDaniel Oh
 
Observe and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git opsObserve and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git opsWeaveworks
 

What's hot (20)

Mule ESB- Data Validation- Best Practices
Mule ESB-  Data Validation- Best PracticesMule ESB-  Data Validation- Best Practices
Mule ESB- Data Validation- Best Practices
 
Symphony Software Foundation Current State and Roadmap
Symphony Software Foundation Current State and Roadmap Symphony Software Foundation Current State and Roadmap
Symphony Software Foundation Current State and Roadmap
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
Spring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliSpring on PAS - Fabio Marinelli
Spring on PAS - Fabio Marinelli
 
Selenium-corporate-training-in-mumbai
Selenium-corporate-training-in-mumbaiSelenium-corporate-training-in-mumbai
Selenium-corporate-training-in-mumbai
 
Spring Tools 4 - Eclipse and Beyond
Spring Tools 4 - Eclipse and BeyondSpring Tools 4 - Eclipse and Beyond
Spring Tools 4 - Eclipse and Beyond
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
 
The Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed SourceThe Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed Source
 
A Hitchhiker's Guide to Cloud-Native API Gateways
A Hitchhiker's Guide to Cloud-Native API GatewaysA Hitchhiker's Guide to Cloud-Native API Gateways
A Hitchhiker's Guide to Cloud-Native API Gateways
 
Sunny Agrawal
Sunny AgrawalSunny Agrawal
Sunny Agrawal
 
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiEclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
 
MuleSoft CloudHub API Versioning
MuleSoft CloudHub API VersioningMuleSoft CloudHub API Versioning
MuleSoft CloudHub API Versioning
 
Experience with Salesforce DX on real project
Experience with Salesforce DX on real projectExperience with Salesforce DX on real project
Experience with Salesforce DX on real project
 
Elastic-Engineering
Elastic-EngineeringElastic-Engineering
Elastic-Engineering
 
A Hitchhikers Guide to Cloud Native API Gateways
A Hitchhikers Guide to Cloud Native API GatewaysA Hitchhikers Guide to Cloud Native API Gateways
A Hitchhikers Guide to Cloud Native API Gateways
 
Selenium training in chennai
Selenium training in chennaiSelenium training in chennai
Selenium training in chennai
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOps
 
Observe and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git opsObserve and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git ops
 

Similar to OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead

APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API LanguagesRestlet
 
A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019Bill Doerrfeld
 
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
 
Data Modeling in the API Economy
Data Modeling in the API EconomyData Modeling in the API Economy
Data Modeling in the API EconomyTed Epstein
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays
 
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)Codit
 
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 APIsApigee | Google Cloud
 
The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...3scale
 
Getting to Grips with RESTful APIs
Getting to Grips with RESTful APIsGetting to Grips with RESTful APIs
Getting to Grips with RESTful APIsPetko Mikhailov
 
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
 
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudRevelation Technologies
 
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 LanguagesRestlet
 
Everybody loves Swagger
Everybody loves SwaggerEverybody loves Swagger
Everybody loves SwaggerBizTalk360
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersCA Technologies
 
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 LanguagesJerome Louvel
 
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 LanguagesRestlet
 
Openshift Container Platform: First ItalyMeetup
Openshift Container Platform: First ItalyMeetupOpenshift Container Platform: First ItalyMeetup
Openshift Container Platform: First ItalyMeetupGiuseppe Bonocore
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Presentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitPresentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitOpen API Initiative (OAI)
 

Similar to OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead (20)

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
 
A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019
 
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
 
Data Modeling in the API Economy
Data Modeling in the API EconomyData Modeling in the API Economy
Data Modeling in the API Economy
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
 
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
 
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
 
The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...
 
Getting to Grips with RESTful APIs
Getting to Grips with RESTful APIsGetting to Grips with RESTful APIs
Getting to Grips with RESTful APIs
 
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
 
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
 
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
 
Everybody loves Swagger
Everybody loves SwaggerEverybody loves Swagger
Everybody loves Swagger
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for 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 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
 
API Best Practices
API Best PracticesAPI Best Practices
API Best Practices
 
Openshift Container Platform: First ItalyMeetup
Openshift Container Platform: First ItalyMeetupOpenshift Container Platform: First ItalyMeetup
Openshift Container Platform: First ItalyMeetup
 
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
 
Presentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitPresentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab Summit
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead

  • 1. TED EPSTEIN, REPREZEN - Ted.Epstein@RepreZen.com KCDC X - THE KANSAS CITY DEVELOPER CONFERENCE, JULY 2018 1COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. OpenAPI v.Next Events, Alternative Schemas & the Road Ahead
  • 2. About Me • Ted Epstein CEO, RepreZen ◦ Governing Board Member, OpenAPI Initiative ◦ 25+ years in software, including 10 years in financial services IT ◦ Ted.Epstein@RepreZen.com COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 2
  • 3. Overview • APIs: What all the fuss is about • API Description Languages • Swagger, OpenAPI 2.0, 3.0 & beyond COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 3http://rzen.io/GetAPIStudio
  • 4. All Eyes on APIs COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 4http://rzen.io/GetAPIStudio
  • 5. How did we get here? Perfect Storm: ◦ Ubiquitous, standardized web communication technology ◦ AJAX: The web works for data ◦ Mobile ◦ SaaS ◦ Integration “Big Bang” Result: The API Economy COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 5http://rzen.io/GetAPIStudio
  • 6. What does the API Economy look like? • External APIs: ◦ New Revenue Channels ◦ New Systems of Engagement • Internal APIs: ◦ SOAP  REST ◦ XML  JSON ◦ Verbs  Nouns ◦ Centralized  Distributed COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 6 Interactive Documentation Code Generation API Testing Tools API Management API Gateway Developer Portal API Design Tools Frameworks IPaaS Mocking / Virtualization • Tools! API Aggregators http://rzen.io/GetAPIStudio
  • 7. Oh, and Microservices. What’s this about? ◦ Componentization, not centralization ◦ Application-Scoped ◦ Single-Purpose, Lightweight ◦ Autonomous, Self- Contained COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 7http://rzen.io/GetAPIStudio
  • 8. Oh, and Microservices. And So… ◦ Network & cloud infrastructure becomes the OS ◦ Devops becomes a prerequisite ◦ Microservice platforms for orchestration, scheduling, container lifecycle management… ◦ Reuse is not a primary goal… yet. COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 8http://rzen.io/GetAPIStudio
  • 9. API Definitions and Documentation COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 9http://rzen.io/GetAPIStudio
  • 10. 2000’s - Remember WSDL? • Web Services Definition Language ◦ W3C Standard ◦ Define your SOAP API contract (logical & physical) ◦ Widely supported in language frameworks, IDEs ◦ Complex! ◦ XML Schema ◦ Document-Literal, Wrapped, Basic Profile… ◦ WS-* COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 10http://rzen.io/GetAPIStudio
  • 11. What About REST? • Early Days: ◦ XML over HTTP ◦ NoSchema™ • RESTafarians – Hypermedia as religion ◦ Do you speak HATEOAS? ◦ Hypertext as the engine of application state ◦ The media type tells the whole story. COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 11http://rzen.io/GetAPIStudio
  • 12. What About REST? • Then there was WADL… ◦ Web Application Description Language ◦ W3C proposal, never a recommendation ◦ XML-Based ◦ Not widely adopted COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 12http://rzen.io/GetAPIStudio
  • 13. 2011 – Swagger: The First Generation • Swagger – First Generation ◦ Aimed at the API documentation problem – how do I keep the docs in sync? ◦ Code-first, with annotations ◦ No intermediate language ◦ Runtime with integrated sandbox testing COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 13http://rzen.io/GetAPIStudio
  • 14. 2011 – Swagger: The First Generation • Swagger – First Generation ◦ Aimed at the API documentation problem – how do I keep the docs in sync? ◦ Code-first, with annotations ◦ No intermediate language ◦ Runtime with integrated sandbox testing COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 14 “Why WADL when you can Swagger?” - Anonymous http://rzen.io/GetAPIStudio
  • 15. 2012? API Blueprint • Apiary introduces API Blueprint ◦ Based on Markdown ◦ Online Editor ◦ Hosted Documentation ◦ Code Generation ◦ Conformance Testing • Swagger Introduces JSON Syntax, Editor & Codegen COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 15http://rzen.io/GetAPIStudio
  • 16. 2013-14: RAML • MuleSoft introduces REST API Modeling Language (RAML) ◦ YAML-Based ◦ Traits ◦ Online editors… ◦ Not as widely adopted • Swagger introduces 2.0 spec ◦ YAML syntax, new editor, codegen, UI, etc. ◦ Improved language model COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 16http://rzen.io/GetAPIStudio
  • 17. 2015: OpenAPI • Swagger 2.0 Specification becomes the OpenAPI Specification (OAS) 2.0 ◦ SmartBear acquires Swagger ◦ Contributes language spec to new Open API Initiative (OAI), formed under the Linux Foundation ◦ Founding members 3Scale, Apigee, Capital One, Google, IBM, Intuit, Microsoft, PayPal and Restlet ◦ Retains Swagger brand name for its Commercial & Open Source software COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 17http://rzen.io/GetAPIStudio
  • 18. The OpenAPI Initiative (OAI) is a consortium of forward-looking domain experts who — coming from a wide range of industry backgrounds — recognize the immense value of standardizing on how REST APIs are described. With an open governance structure under the Linux Foundation, the OAI creates, evolves, and promotes a vendor-neutral, open-source description format: the OpenAPI Specification. We invite the anyone in the API community to join us on github.com/OAI/ and to assist in the development of the OpenAPI Spec. COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 18
  • 19. Swagger or OpenAPI? Swagger COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 19 OpenAPI Initiative (OAI) OpenAPI Specification (OAS) (Swagger UI) http://rzen.io/GetAPIStudio
  • 20. Swagger or OpenAPI? Swagger COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 20 OpenAPI Initiative (OAI) A collection of open source and commercial software OpenAPI Specification (OAS) A cool way to show API documentation with a built-in “Try it out” button. (Swagger UI) A brand name trademark owned by SmartBear An industry-standard language for describing REST APIs An industry consortium formed under the Linux Foundation http://rzen.io/GetAPIStudio
  • 21. 2016: Transitional Year • RAML 0.8  1.0 (Announced late 2015) • Oracle acquires Apiary (Announced Jan 2017) • OpenAPI begins work on 3.0 spec • API tools market expanding & evolving COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 21http://rzen.io/GetAPIStudio
  • 22. 2017: OpenAPI 3.0 • Industry Converges around Open API Initiative ◦ MuleSoft joins ◦ RepreZen joins COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 22 • More reusable components • More complete support for JSON Schema • Content negotiation • Enhanced Security Definitions • More flexible examples • Callbacks • Links • Multiple Servers http://rzen.io/GetAPIStudio
  • 23. OpenAPI v3: More Reusable Components COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 23 Reusable Components V2 V3 Path Items   Parameters   Responses   Schema Definitions   Examples  Request Bodies  Headers  Security Schemes *  Links  Callbacks 
  • 24. OpenAPI v3: More flexible Schemas Boolean Assertions ◦ allOf (also in 2.0) ◦ anyOf ◦ oneOf ◦ not additionalProperties ◦ True (default) ◦ False ◦ Subschema nullable ◦ Allows sending a null value for the defined schema readOnly ◦ Now allows readOnly + required writeOnly ◦ Only present in the request COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 24
  • 25. OpenAPI v3: Content Negotiation • A request body can have different content for different media types COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 25 paths: /users: post: requestBody: description: user to add to the system content: 'application/json': schema: $ref: '#/components/schemas/User' examples: user: externalValue: 'http://foo.bar/user-example.json' 'application/xml': schema: $ref: '#/components/schemas/User' examples: user: externalValue: 'http://foo.bar/user-example.xml' 'text/plain': examples: user: externalValue: 'http://foo.bar/user-example.txt'
  • 26. OpenAPI v3: Enhanced Security Definitions OAuth 2 flows renamed to match the OAuth 2 Specification: ◦ accessCode is now authorizationCode ◦ application is now clientCredentials. OAuth 2 security schemes can now define multiple flows. Added support for OpenID Connect Discovery (type: openIdConnect). API keys can now be sent in: cookie. securityDefinitions renamed, moved to components/securitySchemes, allowing external referencing. New type: http is an umbrella type for all HTTP security schemes ◦ Basic ◦ Bearer ◦ other COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 26
  • 27. OpenAPI v3: Callbacks • Asynchronous “outbound” API notifications, or webhooks. • Specifies a client- provided API that the server will invoke. COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 27 paths: /streams: post: parameters: ... responses: ... callbacks: onData: '{$request.query.callbackUrl}/data': post: requestBody: content: application/json: schema: type: object properties: timestamp: type: string userData: type: string responses: '202': description: Data received '204': description: Unsubscribe
  • 28. Links • “OpenAPI Links are Client-Computed, Design-Time Parameterized Traversals between Responses and Operations.” ◦ Client-Computed ◦ Design-Time ◦ Parameterized ◦ From Response ◦ To Operation COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 28
  • 29. Links Example COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 29 /2.0/users/{username}: get: operationId: getUserByName parameters: - name: username in: path required: true schema: type: string responses: '200': description: The User content: application/json: schema: $ref: '#/components/schemas/user' links: userRepositories: # returns array of '#/components/schemas/repository' - operationId: getRepositoriesByOwner parameters: username: "$response.body#/username"
  • 30. 2018: OpenAPI 3.x • New API Paradigms Emerging ◦ GraphQL ◦ gRPC ◦ Async API ◦ IoT Standards… • OpenAPI 3.x topics under discussion: ◦ Alternative Schemas ◦ Conformance Testing & Certification ◦ Overlays ◦ Encryption/Signing ◦ Client Certificates COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 30 • 33 members as of May 2018 • Netherlands Government Standardizes on OpenAPI v3 http://rzen.io/GetAPIStudio
  • 31. Alternative Schemas • Allow non-JSON formats to use format-specific schema languages. • Can use anyOf (or another keyword, TBD): ◦ Spec provides a list of schemas ◦ Client can use the first schema that it is able to process. COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 31
  • 32. Alternative Schemas COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 32
  • 33. Alternative Schemas COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 33
  • 34. Alternative Schemas COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 34
  • 35. Client Certificates • New Security Scheme Type • Use SSL protocol (HTTPS) to provide a verifiable client identity • Same infrastructure already available in browsers and SSL frameworks: ◦ PKI ◦ Trust Chain ◦ Certificate Store, etc. COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 35
  • 36. Thank you! COPYRIGHT © 2018, MODELSOLV, INC. | ALL RIGHTS RESERVED. 36