9 months and counting with jeff borek of ibm openapi meetup 2016 09 15

14
9 Months and Counting! Jeffrey Borek (@jeffborek ) Open Tech & Partnerships, IBM September 15, 2016

Upload: open-api-initiative-oai

Post on 16-Apr-2017

760 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: 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

Page 2: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 3: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 4: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 5: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 6: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

What is what?

6

Swagger?

OAI?

OAS?

Open API?

Page 7: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

• 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

Page 8: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 9: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 10: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 11: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 12: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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:

Page 13: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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

Page 14: 9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15

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