Proliferating OpenAPI

Last week Sunny Gupta and I gave a presentation together at the second-ever OpenAPI Initiative Meetup, which we also hosted at Google in Mountain View.

Our presentation slides were titled Proliferating OpenAPI and are online at Slideshare.

We talked about Google’s support for the OpenAPI Initiative, gave some background about how Google builds APIs, and described three open source resources:

  1. The Google API Compiler, a newly open-sourced tool that reads OpenAPI descriptions and generates Google API Service configurations (aka “google.api.service”).
  2. The protocol buffer definitions in the googleapis repository, which include the definitions of google.api.service and its dependencies.
  3. A Go language service generator (to be released soon) which generates Go-runtime Google App Engine apps that implement APIs described by google.api.service which, combined with the Google API Compiler, provides a path from an OpenAPI description of an API to an App Engine instance.

Here’s a brief summary of our presentation:

Google likes OpenAPI! We’ve seen how much standard descriptions can help and we’ve seen that OpenAPI is the community’s choice for describing APIs.

Google runs a LOT of APIs, both internally and externally, and has built a lot of tools and infrastructure for this.

We’d like to use OpenAPI to describe APIs that run on existing and future Google infrastructure.

This infrastructure all runs on a format that we call google.api.service, so to support OpenAPI, we extended our API Compiler to read OpenAPI and write google.api.service descriptions.

We’ve open-sourced google.api.service and the API Compiler.

We’ve found that compiled API descriptions in google.api.service format make it easy to write new tools like our sample service-generator.

So we would like to encourage and support anyone who would like to use google.api.service descriptions to create new API tools.

We hope this leads to many more tools, services, and APIs that use and benefit from OpenAPI.

Also very importantly, we enjoyed pizza from Maldonado’s in Mountain View. Thanks Jeffrey Ernst-Friedman and the Linux Foundation for sponsoring!