Upload
open-api-initiative-oai
View
341
Download
5
Embed Size (px)
Citation preview
Proliferating OpenAPITim Burks, Sunny GuptaGoogle Inc.
Google Likes OpenAPI
Standard representations are good!- They improve our internal processes.- They help us publish our APIs to outside consumers.- They help us support API publishers running on GCP.
OpenAPI is the community’s choice for standardizing API representation.
10 billion(~1000 trillion per day!)
Google Likes APIs
- Thousands of internal APIs- Hundreds of public APIs
- Vision- Pubsub- Translate- Prediction
- We even have an API that describes our APIs!
How Google Builds APIs
Protocol Buffers
Service Configuration
Google API Service Configuration
- Open sourced at github.com/googleapis/googleapis.- Described using protocol buffers.- Representable with JSON/YAML/binary formats.
Google’s OpenAPI Challenge
Google wants to support API creators who use OpenAPI.- on many different platforms- with many different services (billing, quota, auth)
So.. rewrite every API tool to read OpenAPI?
Swagger Codegen’s Challengeswagger-codegen is a monolithic tool generating at least:
- 20 API clients and - a dozen server stubs
But...- People want many more generators!- People want to write code generators in their favorite languages.- People want to tweak existing code generators.
Google API Compiler
GoogleAPI Compiler
Client Code Generators
Server Code Generators
EndpointProxy
QuotaManagement
AccessConfiguration
APIBrowser
Verifies and normalizes API
descriptions
google.api.service
.yaml.proto
GoogleAPI Compiler
Client Code Generators
Server Code Generators
EndpointProxy
QuotaManagement
AccessConfiguration
APIBrowserOpen API
SpecificationVerifies and
normalizes API descriptions
google.api.service
.yaml.proto
JSON Schema
What next?- Google API Compiler and google.api.service descriptions are open sourced.- We are working to close gaps between OpenAPI and google.api.service.- Google is actively integrating tools with OpenAPI using google.api.service.- We would welcome additions and new projects built on google.api.service.
A world of easy-to-write API tools
GoogleAPI CompilerOpen API
Specification
Google API Tools
Verifies and normalizes API
descriptionsJSON Schema
google.api.service
..................
timburks/service-generator