Service Connections: Static Versus Dynamic

Service connections in VB Studio are defined by the service’s OpenAPI metadata, which describes the available endpoints and details required to connect to the service. How you want your connection to retrieve this service metadata—either statically or dynamically—is entirely up to you. Both options have their advantages and disadvantages.

Let’s say a service’s OpenAPI definition is located at https://service.com/openapidef. You can set up your service connection to retrieve this definition in one of two ways:

In the service connection wizard, you can use the Metadata Retrieval Option to specify how you want to retrieve service metadata:

Description of static-dynamic-serviceconnections-appui.png follows

Description of the illustration static-dynamic-serviceconnections-appui.png

Here’s what each option provides:

The Copy minimal OpenAPI to the application option is available only for services that are based on ADF Describe (like Oracle Cloud Applications’ ADF BC-based REST APIs) and have a minimal describe endpoint to get limited metadata. This option stores service metadata for the endpoints you select in your extension’s sources, much like a static service connection, but it only copies the minimal describe for those endpoints. It also dynamically retrieves the parameter or request/response schema similar to a dynamic service connection. But it does this only when required (say, when a user tries to bind a table with an endpoint’s response), not every time the extension is opened. Because only the minimal OpenAPI is copied to your application only for the endpoints you select, the size of the metadata file is reduced. And because the schema object is still referenced, the latest service definition is dynamically retrieved whenever required. For optimal performance, this is the recommended option for ADF Describe-based services.

Here’s a quick breakdown of the advantages and disadvantages of each metadata retrieval option:

Service Connection Option Advantage Disadvantage
Copy full OpenAPI to your application (Static) Better performance as service metadata is retrieved locally from the application’s sources Application is out of sync from the latest service definition and might not have recent customizations. Also, because full service metadata (including child objects) is saved to the application’s sources, runtime performance may be impacted if this metadata is very large.
Dynamically retrieve metadata (Dynamic) Provides the most up-to-date service definition for your application Performance may be impacted, though not always
Copy minimal OpenAPI to the application (recommended) (Static + Dynamic)

Available only for ADF Describe-based services like Oracle Cloud Applications
Optimal performance as minimal service metadata is stored and can be retrieved faster from the application’s sources; granular endpoint selection is also possible. Dynamically referenced schema objects provide the ability to retrieve the most up-to-date request/responses schema. Performance may be impacted when schema objects are retrieved

No matter which option you choose to create your service connection, you can switch it up any time you want, as described in Convert a Service Connection (Static to Dynamic or Dynamic to Static). You can also change things when you edit a service connection to add endpoints, as described in Manage Service Endpoints.