Siebel Tools Reference > Siebel Architecture (Basic Concepts) > Application Architecture Overview >

Data Objects Layer


Data object definitions create a layer of abstraction over the DBMS, insulating the application and the developer from database administration and restructuring. The Data Objects layer is implemented by means of the data manager classes.

Object definitions in the Data Objects layer provide a logical representation of the underlying physical database (constructs like table, column, and index), and are independent of the installed DBMS.

This product feature allows you to migrate a Siebel application from one DBMS to another without having to modify the repository file where the metadata is stored. In fact, you can have a single repository file and a mix of databases from different vendors (for example, one on the server, another for connected clients, and a third for remote clients).

The physical tables in the DBMS are created as part of the Siebel application installation process.

Relationship Between the Siebel Application and the Database

Relational database management in Siebel applications is implemented through layers of Siebel object definitions functioning as a superstructure over a third-party relational DBMS. The Siebel applications generate queries in response to user actions, in combination with the context established by relevant object definitions. The relational DBMS holds the data, and processes the queries originating in the Siebel application. Query results that are returned from the DBMS are processed up through the relevant object definitions in the Siebel applications architecture, and presented to the user.

The layered architecture in Siebel applications places various object definitions at different levels relative to the database. In immediate proximity to the database are the data object definitions. Individual data object definitions directly represent individual tables, columns, and indexes in the DBMS. At an intermediate level of relationship are the business object definitions. All business object definitions are based on data object definitions or other business object definitions; they do not have any direct relationship to the database. The object definitions most indirectly related to the database are the Web interface object definitions. These are based on business object definitions, and do not directly access either the database or the data object definitions.

A developer or customer can change or extend Siebel applications without impacting the database in the DBMS. Similarly, you can make database changes without impacting, or only minimally impacting, the applications. This is possible because each architectural layer insulates the layers above it from the layers beneath, including the DBMS at the bottom of the architecture.

For example, a form applet is a Web interface object definition that implements a data entry form. The textbox controls in which the user enters data for individual columns in the database are tied not to those database columns, or to column object definitions in the Data Objects layer, but to field object definitions in the Business Objects layer. The controls represent fields, the fields represent column object definitions, and the column object definitions represent database columns.

Standard Tables and Columns

A set of standard tables is provided with Siebel applications for installation in the DBMS at a customer's site. These provide data storage for all of the features included in the standard Siebel applications, as well as expansion capability. The standard tables and their columns and indexes are represented by corresponding table, column, index, and index column object definitions.

Standard tables and their table object definitions generally are of the following types:

The columns in standard tables are of the following types:

The set of tables and columns provided in standard Siebel applications implements a very comprehensive design, and supports a very wide range of configuration activities. However, it is also designed to work in certain ways, and changes made that are not in accordance with Siebel standards can slow performance or cause software failures. A developer can add extension tables as well as extension columns to base tables using Siebel Tools. The developer cannot, however, add new base tables, delete base tables and columns, or modify the properties of base columns. Rather, the extension table and extension column facilities are employed.

Standards, limitations, and procedures for using extension tables are discussed in Extension Tables. For information on database enhancement, see Adding Custom Extensions to the Data Model.

Data Object Types

The object types for the data object layer are described briefly below. For more detailed descriptions, see Object Types Reference.


 Siebel Tools Reference
 Published: 20 October 2003