Overview of Cloud Endpoints

Cloud Endpoints Frameworks v1 has been deprecated and will be
shut down on August 2, 2018. We recommend that you use the latest version of
this feature, which is renamed to
Cloud Endpoints Frameworks for
App Engine. This new version supports App Engine standard environment, provides lower
latency, and has better integration with App Engine. For more details, see
Migrating to 2.0.

Google Cloud Endpoints Frameworks consist of tools, libraries and capabilities
that allow
you to generate APIs and client libraries from an App Engine application,
referred to as an API backend, to simplify client access to data from other
applications. Endpoints Frameworks make it easier to create a web backend
on App Engine for web clients
and mobile clients such as Android or Apple's iOS.

For mobile developers, Endpoints Frameworks provide a simple way to develop a
shared web
backend and also provides critical infrastructures, such as OAuth 2.0
authentication, eliminating a great deal of work that would otherwise be needed.
Furthermore, because the API backend is an App Engine app, the mobile developer
can use all of the services and features available in App Engine,
such as Datastore, Google Cloud Storage, Mail, Url Fetch, Task Queues, and so forth. And finally, by using App Engine for the backend, developers are freed from system admin work, load balancing, scaling, and server maintenance.

It is possible to create mobile clients for App Engine backends without
Endpoints Frameworks.
However, using Endpoints Frameworks makes this process easier because it frees
you from having
to write wrappers to handle communication with App Engine. The client libraries
generated by Endpoints allow you to simply make direct API calls.

Important: Google Cloud Endpoints requires SSL. If you need to access your
backend API in a
system not supporting SSL, you'll need to either update the system to support
SSL or use a proxy.Note: version 1 of the Google Cloud Endpoints Frameworks did not support
custom domains but version 2 does.

Basic Endpoints Frameworks architecture

Here's what using an Endpoints API allows you to do:

As shown above, the API backend is an App Engine app that performs business
logic and other functions for Android and iOS clients, as well as JavaScript web
clients. The functionality of the backend is made available to clients through
Endpoints Frameworks, which exposes an API that clients can call.

Note: You cannot call an API written with Google Cloud Endpoint Framework
version 1 directly from a
push task queue or a cron
job.

Endpoints libraries, tools, and samples

Google Cloud Endpoints Frameworks provide the following libraries and tools:

Requirements

You'll also need to be familiar with development using Google App Engine and the Java runtime.
And finally, you'll need to know how to develop the client of your choice, such as JavaScript web clients, or mobile clients of your choice, such as Android or iOS.

Development process

The general workflow for developing an app using Endpoints Frameworks is:

Create your backend API project (using Maven
to do this is the easiest method), then write your API backend code.

Annotate your API backend code, so classes and client libraries can be generated from it.