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. A model is represented in relational access as a schema - in many cases the two terms in Teiid are used interchangeably.
In Teiid, 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. Teiid can automatically map a relational model to JSON or XML for consumption via OData.
Source models define the structural and data characteristics of the information contained in data sources. Teiid uses the information in source models to access the information in multiple sources, so that from a user’s viewpoint these all appear to be in a single source.
In addition to source models, Teiid provides the ability to define a variety of view models. These can be used to define a layer of abstraction above the physical layer, so that information can be presented to end users and consuming applications in business terms rather than as it is physically stored. These business views can be in a variety of forms: relational, XML, JSON, or Web services. Views are defined using transformations between models.
Types of Models
Teiid Designer can be used to model a variety of classes of models. Each of these represent a conceptually different classification of models.
VDBs contain two primary varieties of model types - source and view. Source models represent the structure and characteristics of physical data sources, whereas view models represent the structure and characteristics of abstract structures you want to expose to your applications.
Models and VDBs
Models and Translators, Resource Adaptors
Model Execution in Teiid Designer
Dynamic VDBs and Models
The information in this artical applies to the VDBs that are built using the Teiid Designer. If you are building Dynamic VDBs, much of the information does not apply in that case. However, even Dynamic VDBs have models but they only define configuration for importing metadata and Translators and Resource Adaptors.