1. Google supports the OpenAPI standard for representing APIs to improve internal processes and publishing APIs to external consumers and developers using Google Cloud Platform.
2. Google handles over 10 billion API calls per day across thousands of internal APIs and hundreds of public APIs.
3. Google developed the API Compiler and google.api.service description format to enable tools to support API creators using OpenAPI on many platforms and Google services like billing and quotas.
2. 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.
4. Google Likes APIs
- Thousands of internal APIs
- Hundreds of public APIs
- Vision
- Pubsub
- Translate
- Prediction
- We even have an API that describes our APIs!
14. Google API Service Configuration
- Open sourced at github.com/googleapis/googleapis.
- Described using protocol buffers.
- Representable with JSON/YAML/binary formats.
15. 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?
16. Swagger Codegen’s Challenge
swagger-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.
18. Google
API Compiler
Client Code
Generators
Server Code
Generators
Endpoint
Proxy
Quota
Management
Access
Configuration
API
Browser
Verifies and
normalizes API
descriptions
google.api.service
.yaml.proto
19. Google
API Compiler
Client Code
Generators
Server Code
Generators
Endpoint
Proxy
Quota
Management
Access
Configuration
API
Browser
Open API
Specification
Verifies and
normalizes API
descriptions
google.api.service
.yaml.proto
JSON Schema
20.
21.
22. 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
Google
API CompilerOpen API
Specification
Google API Tools
Verifies and
normalizes API
descriptions
JSON Schema
google.api.service
...
...
...
...
...
...
timburks/service-generator