FME Flow: 2025.1 BETA

Data Virtualization

With just basic knowledge of RESTful coding conventions, you can create data virtualization APIs that harness the power of FME workspaces to access and transform data from HTTP endpoints, while conforming to the OpenAPI standard.

The Data Virtualization page lists the APIs that are created. You can:

  • Filter the list by title, namespace, and/or owner.
  • Test an API and View its Documentation: Select its corresponding checkbox, click Actions, and select View Documentation.
  • Download an OpenAPI .json specification file of an API: Select its corresponding checkbox, click Actions, and select Export OpenAPI Specification.
  • View an aggregated log file of Data Virtualization APIs: Select the checkboxes of one or more APIs and click View Log File (requires Access and List permission to the Logs folder in Resources).
  • Remove one or more APIs: Select its corresponding checkbox, click Actions, and select Remove.

How It Works

The easy-to-use interface gives you all the tools you need to define endpoints and configure them with "starter" workspaces. Once your endpoints and workspaces are configured, download the workspaces to FME Workbench and configure your data access and transformation requirements. Your API is complete when you republish your finished workspaces to FME Flow Data Virtualization.

Getting Started

Follow these steps to create a Data Virtualization API:

  1. Create the API: Give the API a name and namespace. Configure initial security, caching, and provide other metadata. See Creating and Managing Data Virtualization APIs, below.
  2. Configure API functionality: Define endpoints and configure with "starter" workspaces. If desired, define reusable data property schemas for endpoints. Adjust security and metadata as desired. See Configuring API Functionality, below.
  3. Download workspaces to FME Workbench, configure data access and transformation requirements, and republish to FME Flow Data Virtualization. These steps are handled in FME Workbench. For more information, see the following topics in the FME Workbench help:

Creating and Managing Data Virtualization APIs

Configuring API Functionality

Most of the functionality for your API is configured in the Endpoints and Workspaces tabs. The Schemas, Security, and API Details tabs provide additional ways to control and configure your API.

  • Endpoints: Define the HTTP methods for receiving and processing requests for data.
  • Workspaces: Generate and manage workspaces that handle endpoint responses.
  • Schemas: Define reusable data property configurations for endpoints.
  • Security: Edit who can access the API and its individual endpoints.
  • API Details: Edit API metadata and caching.

Creating and Managing Schemas

Use the schemas tab to create schemas for defining data properties of HTTP requests in your endpoints, including the name of the data point, data type, and if the data is required. Schemas make it easy to reuse these data points across endpoints.

Creating and Managing Endpoints

HTTP endpoints specify how your API receives and processes requests for data.

To Create an Endpoint

To Edit an Endpoint

On the Endpoints tab for your API, click the endpoint you want to edit. Note that changing the Response Type of an endpoint can also be handled on the Workspaces tab (described below).

If your saved edits affect the operation of the workspace assigned to the endpoint (for example, altering the Path), you must Re-download the workspace to FME Form. Alternatively, update the workspace in FME Form, then republish to FME Flow Data Virtualization, as follows:

  1. In FME Form, open the workspace.
  2. In the workspace Navigator, right-click on the Data Virtualization reader, and select Update Reader. This action retrieves the current endpoint settings from FME Flow Data Virtualization.
  3. Republish the workspace to FME Flow Data Virtualization.

To Purge the Cache of an Endpoint

You can purge the cache of a GET endpoint for which caching is enabled, either by default at the API level, or by itself.

On the Endpoints tab for your API, click the endpoint of the cache you want to purge. On the Caching tab, click Purge Cache.

Note  The cache is also purged when any of the following occurs:
  • FME Flow is restarted.
  • A workspace is republished to FME Flow Data Virtualization. Any cache associated with the previous version is cleared.
  • An update to the Time to Live setting that renders the cache older than the updated setting allows.
  • An update to the Path, Operation, or Inherit API setting.

To Remove an Endpoint

On the Endpoints tab for your API, click the ellipsis (...) beside the endpoint you want to remove, and select Delete.

To Create, Edit, or Remove Endpoint Tags

On the Endpoints tab for your API, click Manage Tags.

Generating and Managing Workspaces for Handling Endpoint Responses

In most cases, you will want your Data Virtualization API to reference one or more FME workspaces to handle endpoint responses. Each endpoint can reference a single workspace. As a first step for each workspace, you must generate a "starter" workspace. Once generated, you can download the workspace to FME Workbench, configure as desired, then republish the workspace to FME Flow Data Virtualization.

To Generate a Workspace

  1. On the Workspaces tab for your API, under Workspace Endpoints, select the endpoint you want to configure with the workspace, click Endpoint Actions, and select Generate Workspace.
  2. On the Generate Workspace dialog, enter a name for the workspace (if not specified explicitly, a .fmw extension is added automatically), and click Generate.

To Assign a Workspace to an Additional Endpoint

You can add endpoints to existing workspaces, as follows:

  1. On the Workspaces tab for your API, under Workspace Endpoints, select the endpoint for which you want a workspace assigned, click Endpoint Actions, and select Assign Workspace.
  2. On the Assign Workspace dialog, specify the workspace you want to assign to the endpoint, and click Assign.
  3. In FME Form, open the workspace. The workspace opens with the Data Virtualization reader auto-updated to include its newly-assigned endpoint.
  4. Republish the workspace to FME Flow Data Virtualization.

To Unassign a Workspace from an Endpoint

On the Workspaces tab for your API, under Workspace Endpoints, select the endpoint you want to unassign, click Endpoint Actions, and select Unassign Workspace.

To View, Download, or Remove Unassigned Workspaces

Click View Unused Workspaces. (This link is located directly following the description under the Workspace Endpoints heading.)

To Change the Response Type of an Endpoint

You can change how an endpoint response is handled: from a workspace to manually, or from manually to a workspace. This change can be handled on the Workspaces tab for your API.

To change an endpoint response from Workspace to Manual, select the endpoint under the Workspace Endpoints sub-tab, click Endpoint Actions, and select Edit Response Type.

To change an endpoint response from Manual to Workspace, select the endpoint under the Manual Endpoints sub-tab and click Edit Response Type.

To Know the Status of a Workspace Endpoint

The Workspace Endpoints tab provides information about the workspaces that are assigned to the endpoints of your API. Each endpoint lists metadata such as associated tags, date of last update, and assigned workspace. The Status column shows one of the following settings:

  • Unassigned: A workspace should be assigned or generated for this endpoint.
  • Needs Updating: An endpoint has been added, removed, or modified in FME Flow and the workspace needs updating. See Coordinating Updates Between FME Flow and FME Form (below).
  • Needs Authoring: The generated workspace needs to be configured in FME Form and published to FME Flow Data Virtualization.
  • Assigned: The workspace has been published from FME Form to FME Flow Data Virtualization.

Coordinating Updates Between FME Flow and FME Form

If you make changes to endpoints that affect the operation of the workspaces to which they are assigned, you must ensure those changes are reflected in those workspaces in FME Form, then republish to FME Flow Data Virtualization.

Updates to Endpoint Metadata

If you make edits to an endpoint that affect the operation of the workspace assigned to it (for example, altering the Path), you must Re-download the workspace to FME Form. Alternatively, update the workspace in FME Form, then republish to FME Flow Data Virtualization, as follows:

  1. In FME Form, open the workspace.
  2. In the workspace Navigator, right-click on the Data Virtualization reader, and select Update Reader. This action retrieves the current endpoint settings from FME Flow Data Virtualization.
  3. Republish the workspace to FME Flow Data Virtualization.

Assigning Workspaces to Additional Endpoints

You can add endpoints to existing workspaces, as follows:

  1. On the Workspaces tab for your API, under Workspace Endpoints, select the endpoint for which you want a workspace assigned, click Endpoint Actions, and select Assign Workspace.
  2. On the Assign Workspace dialog, specify the workspace you want to assign to the endpoint, and click Assign.
  3. In FME Form, open the workspace. The workspace opens with the Data Virtualization reader auto-updated to include its newly-assigned endpoint.
  4. Republish the workspace to FME Flow Data Virtualization.