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

PDF
OpenAPI 3.0, And What It Means for the Future of Swagger
PDF
Why your APIs should fly first class
PDF
Documenting RESTful APIs with Spring REST Docs
PDF
Building Your API for Longevity
PPTX
DevOps Architecture Design
PDF
OpenStack DefCore review 2014
PPTX
Angular 6 Training with project in hyderabad india
PPTX
Automate you Appium test like a pro!
OpenAPI 3.0, And What It Means for the Future of Swagger
Why your APIs should fly first class
Documenting RESTful APIs with Spring REST Docs
Building Your API for Longevity
DevOps Architecture Design
OpenStack DefCore review 2014
Angular 6 Training with project in hyderabad india
Automate you Appium test like a pro!

What's hot (20)

PPTX
Mule ESB- Data Validation- Best Practices
PPTX
Symphony Software Foundation Current State and Roadmap
PPTX
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
PDF
Your Framework for Success: introduction to JavaScript Testing at Scale
PPTX
Spring on PAS - Fabio Marinelli
PPTX
Selenium-corporate-training-in-mumbai
PDF
Spring Tools 4 - Eclipse and Beyond
PDF
DevOps Service | Mindtree
PPTX
The Aspects of Choosing Open Source Versus Closed Source
PDF
A Hitchhiker's Guide to Cloud-Native API Gateways
DOC
Sunny Agrawal
PDF
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
PPTX
MuleSoft CloudHub API Versioning
PDF
Experience with Salesforce DX on real project
PPSX
Elastic-Engineering
PDF
A Hitchhikers Guide to Cloud Native API Gateways
PPT
Selenium training in chennai
PDF
Transform Digital Business with DevOps
PDF
Observe and command your fleets across any kubernetes with weave git ops
PDF
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
Mule ESB- Data Validation- Best Practices
Symphony Software Foundation Current State and Roadmap
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Your Framework for Success: introduction to JavaScript Testing at Scale
Spring on PAS - Fabio Marinelli
Selenium-corporate-training-in-mumbai
Spring Tools 4 - Eclipse and Beyond
DevOps Service | Mindtree
The Aspects of Choosing Open Source Versus Closed Source
A Hitchhiker's Guide to Cloud-Native API Gateways
Sunny Agrawal
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
MuleSoft CloudHub API Versioning
Experience with Salesforce DX on real project
Elastic-Engineering
A Hitchhikers Guide to Cloud Native API Gateways
Selenium training in chennai
Transform Digital Business with DevOps
Observe and command your fleets across any kubernetes with weave git ops
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
Ad

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

PPTX
APIdays 2016 - The State of Web API Languages
PDF
A Snapshot of API Design Trends In 2019
PPTX
2022 APIsecure_Securing APIs with Open Standards
PDF
Data Modeling in the API Economy
PDF
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
PPTX
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
PPTX
API Services: Building State-of-the-Art APIs
PPTX
The Swagger Format becomes the Open API Specification: Standardizing descript...
PPTX
Distributed systems air traffic controller
PPTX
Getting to Grips with RESTful APIs
PDF
Content Strategy and Developer Engagement for DevPortals
PDF
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
PPTX
APIdays Paris 2014 - The State of Web API Languages
PPTX
Everybody loves Swagger
PDF
A Self-Service API Portal for Developers
PDF
APIdays 2015 - The State of Web API Languages
PDF
APIdays 2015 - The State of Web API Languages
PDF
API Best Practices
PDF
Openshift Container Platform: First ItalyMeetup
PDF
Ror Seminar With agilebd.org on 23 Jan09
APIdays 2016 - The State of Web API Languages
A Snapshot of API Design Trends In 2019
2022 APIsecure_Securing APIs with Open Standards
Data Modeling in the API Economy
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
API Services: Building State-of-the-Art APIs
The Swagger Format becomes the Open API Specification: Standardizing descript...
Distributed systems air traffic controller
Getting to Grips with RESTful APIs
Content Strategy and Developer Engagement for DevPortals
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
APIdays Paris 2014 - The State of Web API Languages
Everybody loves Swagger
A Self-Service API Portal for Developers
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
API Best Practices
Openshift Container Platform: First ItalyMeetup
Ror Seminar With agilebd.org on 23 Jan09
Ad

Recently uploaded (20)

PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PDF
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
PPTX
Human-Computer Interaction for Lecture 1
PDF
Website Design & Development_ Professional Web Design Services.pdf
PPTX
ERP Manufacturing Modules & Consulting Solutions : Contetra Pvt Ltd
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PDF
IDM Crack 6.42 Build 42 Patch Serial Key 2025 Free New Version
PDF
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
PPTX
R-Studio Crack Free Download 2025 Latest
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
PDF
Internet Download Manager IDM Crack powerful download accelerator New Version...
PDF
Sun and Bloombase Spitfire StoreSafe End-to-end Storage Security Solution
PPTX
Human-Computer Interaction for Lecture 2
PDF
AI-Powered Fuzz Testing: The Future of QA
PPTX
Airline CRS | Airline CRS Systems | CRS System
PPTX
Foundations of Marketo Engage: Nurturing
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PPTX
ROI Analysis for Newspaper Industry with Odoo ERP
What Makes a Great Data Visualization Consulting Service.pdf
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Cloud Native Aachen Meetup - Aug 21, 2025
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
Human-Computer Interaction for Lecture 1
Website Design & Development_ Professional Web Design Services.pdf
ERP Manufacturing Modules & Consulting Solutions : Contetra Pvt Ltd
Understanding the Need for Systemic Change in Open Source Through Intersectio...
IDM Crack 6.42 Build 42 Patch Serial Key 2025 Free New Version
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
R-Studio Crack Free Download 2025 Latest
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
Internet Download Manager IDM Crack powerful download accelerator New Version...
Sun and Bloombase Spitfire StoreSafe End-to-end Storage Security Solution
Human-Computer Interaction for Lecture 2
AI-Powered Fuzz Testing: The Future of QA
Airline CRS | Airline CRS Systems | CRS System
Foundations of Marketo Engage: Nurturing
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
ROI Analysis for Newspaper Industry with Odoo ERP

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

  • 1. TED EPSTEIN, REPREZEN - [email protected] 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 ◦ [email protected] 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