Red Hat Training

A Red Hat training course is available for Red Hat JBoss Data Virtualization

2.10. What are Models?

A model is a representation of a set of information constructs. A familiar model is the relational model, which defines tables composed of columns and containing records of data. Another familiar model is the XML model, which defines hierarchical data sets.
In Teiid Designer, models are used to define the entities, and relationships between those entities, required to fully define the integration of information sets so that they may be accessed in a uniform manner, using a single API and access protocol. The file extension used for these models is .xmi (for example, NorthwindOracle.xmi) which adheres to the XMI syntax defined by the OMG.
Below is an example of the partial contents of a model file.
Sample Model File

Figure 2.1. Sample Model File

Note

Model files should never be modified by hand. While it is possible to do so, there is the possibility that you may corrupt the file such that it cannot be used within Teiid Designer system.
The fundamental models in Teiid Designer define the structural and data characteristics of the information contained in data sources. These are referred to as source models. Teiid Designer uses the information in source models to federate the information in multiple sources, so that from a user's viewpoint these all appear to be in a single source.
Model Internals

Figure 2.2. Model Internals

In addition to source models, Teiid Designer provides the ability to define a variety of view models. These can be used to define a layer of abstraction above the physical (or source) layer, so that information can be presented to end users and consuming applications in business terms rather than as it is physically stored. Views are mapped to sources using transformations between models. These business views can be in a variety of forms:
  • Relational Tables and Views
  • XML
  • Web services
  • Functions
A third model type, logical, provides the ability to define models from a logical or structural perspective.