Modeled Components

A modeled component is an abstract component definition that specifies a data structure, layout, and code for components that share a common purpose or similar behavior. It is used to create new components, known as derived components, which can inherit component-level changes made in the modeled component.

Modeled components enable you to enforce consistency in components that fulfill a similar function, such as a user interface component that enables the user to browse a list of data, or a service used to query data.

A modeled component can define the default component structure, layout, script, and properties. For example, you could define a modeled component for browsing and selecting data. The modeled component defines the basic data structure, layout, and selection processing, but the derived component determines the data to be browsed.

When you create a derived component, it inherits component-level properties, compile-time constants, and ProcScript modules from the modeled component. However, entity- and field-level definitions are copied from the modeled component and are not inherited from the modeled component. This ensures that a derived component can inherit entity and field definitions directly from modeled entities and fields.

To allow the component structure of the modeled component to be generalized for use with different data, you can create generic entities and fields. These are placeholders in the modeled component for target objects in the derived component. The target entities and fields are known as bound objects. They allow the structure in the modeled component to be applied to real data in the derived component. For more information, see Generic and Bound Entities and Fields.