FME Version
Introduction
Data Virtualization in the FME Platform makes it easy to build REST APIs for real-time access to your data. You don’t need to write code or move data between systems. Instead, you can connect directly to existing sources and expose both data and transformation logic through standard HTTP endpoints.
These APIs help streamline integration with other systems by offering consistent and reliable access to data. Whether you are serving static content or dynamic responses based on input parameters, Data Virtualization gives you the flexibility to do both.
Data Virtualization combines the automation and delivery capabilities of FME Flow with the data transformation and authoring tools in FME Form. Together, they give you the tools to create, manage, and publish APIs for a wide range of use cases.
FME also supports the OpenAPI standard. This allows you to define APIs using a widely adopted format that improves documentation, works well with developer tools, and simplifies integration with modern applications.
Data Virtualization is currently in technical preview within the 2025.1 beta and should not be used for production. Note that documentation may change rapidly and not reflect the current build. This article was written with FME 2025.1 b25562.
If you are unfamiliar with the basics of REST APIs or how HTTP requests work, review those concepts before working with Data Virtualization. Understanding fundamentals like endpoints, request methods (such as GET and POST), and response formats (like JSON) will make the material easier to follow. There are many excellent resources available online from providers such as Mozilla, Postman, and Amazon Web Services.
Why Use Data Virtualization?
You might use FME to virtualize your data because you need to:
- Provide real-time access to distributed data without replication
- Expose data transformation logic through reusable API endpoints
- Share curated datasets with internal teams or external systems
- Reduce the need for scheduled exports or file-based transfers
- Integrate data with dashboards, reporting tools, or web applications
- Grant access to data workflows for Generative AI systems like OpenAI
FME’s no-code and flexible data handling make it well-suited for building and managing APIs without custom development.
When to Use Data Virtualization
Data Virtualization APIs can be used to support integration, data access, and automation scenarios across organizations.
Typical Use Cases
- Web and Mobile Applications: Provide up-to-date data to front-end interfaces without requiring direct database access or separate integration layers.
- Dashboards and BI Tools: Supply curated data subsets to visualization tools using parameterized API requests.
- Internal System Integration: Expose data from internal systems and files through a centralized API layer, reducing the need for custom connectors.
- External Data Sharing: Deliver secure, read-only access to selected data for partners, clients, or public users.
- Self-Service Access: Allow non-technical users to retrieve approved datasets through simple, predefined endpoints.
- Generative AI: Integrate language models into the API layer to support natural language input. These models convert plain language into API queries and return structured data, enabling dynamic, context-aware responses without requiring users to write queries or custom logic.
- Legacy System Bridging: Enable access to older systems by wrapping their data in modern REST interfaces without the need to migrate or replatform.
By exposing FME data transformation and integration capabilities through consistent, secured APIs, Data Virtualization supports scalable, maintainable data delivery across diverse platforms and use cases.
How Data Virtualization Works
In a Data Virtualization workflow, the FME Platform acts as a middle layer between data consumers (such as applications, scripts, dashboards, or mobile devices) and data sources (such as databases, file systems, APIs, or cloud storage).
Clients interact with a Data Virtualization API by sending HTTP requests to defined endpoints. Each endpoint specifies how the request is handled and how the response is generated. FME Flow receives the request, processes it according to the endpoint configuration, and returns the appropriate response to the client.
There are two types of endpoints:
-
Manual Endpoints are configured entirely in FME Flow. These return a fixed response for every request and are useful for static information such as service descriptions, metadata, or status messages.
- Workspace Endpoints are connected to FME Workspaces created in FME Form. When a request is received, FME Flow runs the associated workspace in real time. The workspace retrieves data using readers, processes it through transformers, and formats the result using a writer before returning the response to the client.
All communication follows standard REST principles using methods like GET or POST, and responses are returned in formats such as JSON or XML. Authentication and access control are managed in FME Flow, where you can apply role-based permissions or require API tokens.
This architecture allows clients to access multiple data sources through a single, unified API without needing direct access to those systems or knowledge of how the data is stored and processed.
Terminology
Term | Description |
Data Virtualization API | An OpenAPI compliant REST API created in FME Flow to expose data and logic through endpoints |
Endpoint | A defined path in the API that handles a specific request (e.g., /status) |
Manual Endpoint | An endpoint with a static, predefined response, configured in FME Flow |
Workspace Endpoint | An endpoint that runs an FME workspace to generate a dynamic response |
Caching | The process of storing a copy of a response so future requests can be served more quickly without re-running the underlying workspace |
Asynchronous | A method where a request is initiated and processed in the background, allowing the client to continue other tasks and check back later for the result |
Articles
Beginner Tutorials
1. Create a Data Virtualization API
Learn how to define a new API in FME Flow.
2. Create a Manual Endpoint in Data Virtualization
Create a static response endpoint directly in the FME Flow interface, suitable for metadata or simple status checks.
3. Secure Data Virtualization Endpoints with Authentication
Configure endpoint-level access using roles and API tokens. Understand how authentication works in Data Virtualization.
4. Creating a Workspace Response for a Data Virtualization GET Endpoint
Using the entire FME Platform, create and author a workspace response for a GET endpoint.
Advanced Tutorials
5. Enhancing Data Virtualization Endpoints with Parameters
Design endpoints with request parameters to give users more control over the data they access and how it's returned.
6. Create a POST Endpoint in a Data Virtualization API
Create a POST endpoint that accepts structured data, validates the input using a defined schema, and stores it in a database using a workspace in FME Flow.
Comments
0 comments
Please sign in to leave a comment.