9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
-
Upload
open-api-initiative-oai -
Category
Data & Analytics
-
view
760 -
download
1
Transcript of 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting!
Jeffrey Borek (@jeffborek)Open Tech & Partnerships, IBM
September 15, 2016
Agenda
• Introduction
• API Challenges/Attraction/Background
• What is what?/Details/How’s it going?
• The OAI/Current Membership/Governance
• OAI Spec/Feedback & Categories/Change Criteria
Creating APIs remains challenging…
As a consumerWhat do you call? Read the docs?Hope for a (decent SDK)?What are the parameters? What is the payload?
As a providerAccurate documentation is hardMaking SDKs is hardSupporting users is really hard
And in general…Writing boilerplate code blows
What attracted developers/companies to the Swagger Project?
• A common, public contract between services
• Independent of language, framework, deployment technology
YAML or JSON format
• Supports both API-first and code-first approaches to defining, building and documenting APIs
• Broad industry/developer adoption
Swagger Project background
5
• Swagger Project founded in 2010 by Tony Tam / Reverb to design and document API interfaces
• Groups large & small drawn to Project Interested in its simplicity, pragmatic approach, potential open governance
• Acquired by SmartBear in early 2015
• Decision to form a Linux Foundation Working Group Project in late 2015
• Swagger Spec donated by SmartBear Software to the Open API Initiative
What is what?
6
Swagger?
OAI?
OAS?
Open API?
• The Swagger Specification is now called the OpenAPI Specification– The existing Swagger Specification is the OpenAPI Specification– There are no changes in the existing specification
• The next version will be “de-Swaggered”• The next version will be OAS 3.0
Details, details, details
Until OAS 3.0, Swagger Spec = OAS
How is (ehm…) OAS 2.0 doing? ;-)
27 July 2016
• ~18k/daily downloads**• Over 3k known public GitHub repos• 44 targets in codegen from > 350
contributors• Natively supported by all major
APIM solutions– AWS– IBM– Microsoft
The Open API Initiative (OAI)
• Provide an open source, technical community, within which industry participants may easily contribute to building a vendor-neutral, portable and open specification for providing technical metadata for REST APIs
• The OAI is a collaborative project under the guidance of the The Linux Foundation. LF Projects use open source governance best practices, including license and contribution agreement choices, in keeping with the ideals of Linux
OAI Governance Structure
• Business Governance Board (BGB)– The BGB shall be composed of one representative appointed by each OAI Member; responsible for
trademarks, certification, budget
• Technical Oversight Board (TOB)– Responsible for managing conflicts, violations of procedures or guidelines and any cross-project or
high-level issues that cannot be resolved in TDC
• Technical Development Community (TDC) ← Open to all– Manages the Open API Specification development
OAI Spec Current and Future Status
• https://github.com/OAI/OpenAPI-Specification (current 2.0)
• When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic
• https://github.com/OAI/OpenAPI-Specification/tree/OpenAPI.next (working branch 3.0)
• All development activity on the future specification will be performed as features and merged into this branch. Upon release of the OpenAPI Specification, this branch will be merged to master
Gathering Feedback / Categories of OAS Meta Issues
• Thousands of reports on GitHub / Google Groups / IRC
• OSS tooling requests / Implementation challenges
• Following the evolution of API design and looking ahead
1. Document Structure2. Payloads + Schemas3. Security4. Paths5. Parameters6. Specification document
structure
LInk to Meta Issues in OAI GitHub Repo here:
OAS 3.0 Specification Change Criteria
• Clarity - The current "way" something is done doesn't make sense, is complicated, or not clear• Consistency - A portion of the specification is not consistent with the rest, or the industry
standard terminology• Necessary functionality - We are missing functionality because of a certain design of the
specification• Forward-looking designs - As usage of APIs evolves to new protocols, formats, patterns, we
should always be considering what the next important functionality should be• Impact - A change will provide impact on a large number of use cases. We should not be
forced to accommodate every use case. We should strive to make the common and important use cases both well supported and common in the definition of the OAI Spec. We cannot be edge-case driven
Get involved with the OAI community
Join the technical community and engage with projects!– Get involved in creating the next version of the OpenAPI Spec
• https://openapis.org/news/blogs/2016/07/you-can-get-involved-creating-openapi-specification-and-heres-how
– IRC: #openapis at irc.freenode.net– Twitter: @OpenApiSpec– GitHub
• https://github.com/OAI/OpenAPI-Specification URL• https://github.com/OAI/OpenAPI-Specification/tree/OpenAPI.next• https://github.com/swagger-api
What role would you/your company like to play in the OAI?– https://openapis.org/join