External Entities

What Are External Entities?

External entities are representations of data provided by services in other Mendix applications. These entities enable low-code developers to work with data from other Mendix applications in the same way they work with data from their own application – by using Mendix retrieves and XPath expressions, and by directly connecting external entities to page widgets.

In a similar way to how the Mendix Platform retrieves and stores data in a database for persistent entities, the platform retrieves and stores data from services for external entities. Users of external entities do not need to know how to technically call the service providing the data.

External entities contain the connection and query information needed to perform a typical data integration. Specifically, external entities translate both basic queries and XPath into the corresponding OData call at runtime while representing the data contract, connection, and security information as an entity for the purposes of modeling.

This means developers of all skill levels can visually model with standards-based integrations that are implemented consistently, reducing time and complexity while letting highly-technical developers take control when needed.

How Do External Entities Work at Design Time?

At design time, external entities provide an interactive visual representation of the underlying data that you can search from the Integration pane, drag and drop, and model with in Mendix Studio Pro, just like the rest of the core Mendix Platform.

How Do External Entities Work at Runtime?

At runtime, external entities use their built-in connection and security information to directly query the underlying OData resources. When the data is received back, it is turned into Mendix objects in memory and cached just like every other Mendix object, keeping traffic from the data source to only what is needed.

How Can I Use External Entities with Other Technologies?

As of today, there are two ways to attach external entities to data sources that are not OData-compatible. The first way is wrapping the underlying data with an OData wrapper using either Mendix or custom code. The second way is using a pre-built connector for the Data Hub connector framework.