What Are Backends?

Simply put, a backend describes the server that hosts a system you want to connect to. For example, the "Oracle Cloud Applications" backend represents the details of the Oracle Cloud Applications system, including the URL, authentication method, and so on, all of which are needed to gain access to that system's REST APIs.

All new service connections will require a backend. If a backend doesn't exist, you'll be prompted to create one. Service connections created previously without a backend will continue to work and their configuration settings can be changed as well. You can create a custom backend when you create a service connection or create the backend first. You'll know when services are "derived" from a backend because you’ll see something like this:
Label in a service connection's Overview tab that says this service is based on a specific backend
Click the backend link to open the Backends editor, where you can view the backend’s details.

You can create your own backends to represent the systems you want to connect to. Creating backends for commonly used systems helps keep the information in one place, rather than duplicating it across various service connections. For example, instead of having multiple service connections for a SalesForce system, each with the same URL, authentication mechanism, and so on, you could define the details in one backend, perhaps called the “SalesForce Backend”.

Note:

Supported authentication types for backends and service connections are limited to "Oracle Cloud Account" and "None". This means that the REST APIs you can currently configure as service connections will either be Oracle Cloud Applications or REST APIs that don't need authentication and are available publicly with CORS support.

In addition to defining your own backends, you can also add another extension as a dependency and gain access to its backends as well (so long as those extensions have been marked as accessible to other extensions). Your extension also has automatic access to some out-of-the-box backends, like Oracle Cloud Applications and its child backends. These backends are provided by the Unified Application, as shown here under From Dependencies:
The Backends tab lists the backends that an extension can access.

These backends are provided so that you can use them to quickly create service connections to the REST APIs exposed by Oracle Cloud Applications. You'll need these service connections so you'll have data for things like configuring a dynamic container, or adding other components to the page that require a data source.

Note:

If you don't see the Unified Application as a dependency, contact your administrator to confirm that you have the proper credentials and that your user role is authorized.
You can view and manage backends on the Backends tab, which you access from the Services tab in the Navigator. When you click a backend, you'll see four tabs on the right, each focusing on a different set of details:
Tab Description
Overview Displays the name and type of the backend, which can be Oracle Cloud Applications or a custom backend.

You can use the + Service Connection button to create a service connection based on the backend.

If any service connections have been defined for the backend, they'll be listed below the + Service Connection button:
  • Dynamic service connections, which are defined in the catalog.json file, are automatically loaded and displayed below the button.
  • Static services can be loaded by selecting the Load more related connections link, after which all openapi3.json files will be loaded and parsed, locating the services connections that were defined from the backend.
Servers Displays the server, including the instance URL, associated with the backend. You can display details for a backend server that comes from a dependency, but you can't edit it. You can edit the details for a backend server that you defined for your extension.
Headers Add and edit static headers for the backend at the server level.
Source Displays the backend's description, which is stored in the catalog.json file of the extension or dependency that the backend is defined in. For backends that you define, the location is services/self/catalog.json, and the entries are editable.

The artifact that stores all the backend definitions for the extension is an OpenAPI-compliant file called catalog.json, which contains the list of backends and their details. If you want a backend to be usable by other extensions (that is, extensions who have added your extension as a dependency), the backend must be marked as "Accessible to application extensions" on the backend's Overview tab. The complete service catalog for your extension is a combination of all the backends that you have defined in your extension, plus any backends exposed by dependencies.