5 Working with Data Objects

This chapter discusses how to use data objects in Oracle Business Activity Monitoring (Oracle BAM) as a user in a Designer role.

This chapter includes the following sections:

5.1 Understanding Data Objects

A BAM data object models data for use within BAM. It contains the data to be monitored.

The data can be saved in raw format in a database or in an external table. The data can also be a stream from an ongoing activity.

Data objects are accessed directly by queries and key performance indicators (KPIs), and indirectly by parameters, views, dashboards, and alerts. Unlike these other BAM entities, a data object can be shared among different BAM projects.

This section contains the following topics:

5.1.1 Data Object Columns

A data object is structured like a table, with columns and rows. A column can be one of these types:

  • A measure column contains numeric data, such as sales amounts or call processing times.

  • A dimension column contains data used to group or partition numeric data, such as product names or countries.

  • An attribute column contains information that can be used for filtering or references, such as an ID or a timestamp.

In addition, a column of any type can be used for one of these purposes:

  • A primary column contains IDs used to uniquely identify rows and join data objects.

  • An index column contains the same information as another column, but sorted for efficient data retrieval.

A hierarchy is a set of dimension columns in a data object with a hierarchical relationship, such as country, state or province, and city.

Each column has a data type. Supported data types in BAM are VARCHAR (or String), DATETIME, INT, DECIMAL, and FLOAT.

Note:

DATETIME column values use coordinated universal time (UTC). However, in dashboards and alerts, DATETIME values are converted to the user's preferred time zone. See Setting Language, Time Zone, and Accessibility Preferences for more information. You may also notice discrepancies in the value formatting of datetime values in business views. To ensure that your datetime values appear correctly in business views, change it to match the data object and business query formats. See Formatting Business Views for more information.

5.1.2 Designer Access to Data Objects

An Oracle BAM user with a Designer role can:

  • Add data objects to a project

  • Use data objects to create queries and KPIs

  • View data object details

  • Edit row security, if granted update permission

  • Edit data directly, if granted update permission

  • Create alert actions that insert or delete rows, if granted update or delete permission

Only an Oracle BAM user with an Administrator role can create data objects, modify their structure and metadata, and grant security permissions to other roles. For more information, see Creating and Managing Oracle BAM Data Objects.

5.1.3 Data Object Types

There are four types of data objects:

  • A simple data object is used as is. It can contain indexes and hierarchies, but no other column additions or modifications. It corresponds to a database view in the BAM database. Other data objects can use or refer to simple data objects.

    Administrators create simple data objects for very basic data.

  • A derived data object extends a simple data object or another derived data object. It inherits the columns and hierarchies of the parent data object and adds its own columns.

    Administrators create derived data objects if additional columns are needed.

  • An external data object references data that is persisted outside of Oracle BAM. When a connection to the external data object is configured in Oracle WebLogic Server, Oracle BAM can access it. The external data object name may be changed from the actual table name, but the column names are unchanged. Some columns may not be selected for visibility in BAM.

    Administrators create external data objects to monitor external data using BAM alerts and dashboards.

    External Data Objects can either be of the Fact or Dimension type. You can identify an external data object’s type by the “Schema Type” label, in the General tab.

    Note:

    External data objects cannot be used for real time KPI, this is not supported. You can create KPI against simple data objects associated with dimension type external data objects.
  • A logical data object references data in other archived relation data objects. Unlike a derived data object, it is read-only and not a physical data object. However, it can do more than add columns. It can rename or hide columns, or add calculated columns. It can also join two or more simple or derived data objects. The default join type is an inner join. You can enable left outer join for logical data objects, for each join. See Creating a Logical Data Object for more information. Typically, in compliance with process star schema standards, one source data object is a fact table consisting of measures, while the others are dimension tables.

    Administrators create logical data objects to modify columns or to enable queries of data from two or more data objects.

Simple, derived, and external data objects are physical data objects, which can be modified and are mapped to database tables. A logical data object is read-only, is not persisted, references data in other data objects, and is most commonly used to join other data objects.

Figure 5-1 shows the relationships between data object types.

Figure 5-1 Relationships Between Data Object Types

Description of Figure 5-1 follows
Description of "Figure 5-1 Relationships Between Data Object Types"

A simple data object can be a stream, archived stream, or archived relation. A derived data object must have the same settings as its parent. A logical data object can only be an archived relation.

  • A stream allows only row inserts and is not persisted. It typically contains data in which only current or very recent values are important, such as stock prices.

  • An archived stream also allows only row inserts. However, it is persisted, with non-unique rows included. It typically contains data in which current and recent values are most important, but historical values are required or useful.

  • An archived relation allows inserts, updates, and deletes and is persisted, with unique rows. It typically contains data in which historical values are most important.

Although BAM cannot send inserts, updates, or deletes to an external data object, an external data object is considered an archived relation.

Typically continuous queries and realtime KPIs fetch data from streams, while other query types and scheduled KPIs fetch data from archived relations. See Creating Business Queries and Creating KPIs for more information.

Table 5-1 summarizes the features of the different data object types in BAM.

Table 5-1 Data Object Type Feature Comparison

Feature Simple, Stream Simple, Relation Derived, Stream Derived, Relation External, Relation Logical, Relation

Physical data object

X

X

X

X

X

-

Insert rows

X

X

X

X

-

-

Update and delete rows

-

X

-

X

-

-

Add columns

X

X

X

X

X

X

Hide columns

X

X

X

X

X

X

Add calculated columns

X

X

X

X

X

X

Join other data objects

-

-

-

-

-

X

5.2 Data Object Prerequisites and Uses

Before you can use a data object with other BAM entities such as queries and dashboards, you must create a project.

A project references one or more data objects and contains entities based on these data objects. For more information about projects, see Planning and Creating Projects.

Only users in the Administrator role can create data objects. For more information about creating data objects, see Creating and Managing Oracle BAM Data Objects.

After you add data objects to a project, you can use them in the following ways:

In a query

A query fetches data from a data object and analyzes the data. See Creating Business Queries for more information.

In a KPI

A realtime KPI fetches a single important measure from a data object and analyzes it. A scheduled KPI analyzes a single measure fetched by a query. See Creating KPIs for more information.

5.3 Adding a Data Object to a Project

To be able to create queries, views, or dashboards to monitor data, you need to add data objects to a project first.

To add a data object to a project:

  1. Go to the Designer page.

  2. Create or open a project.

    See Creating a Project or Opening a Project.

  3. Click Data Objects, or right-click Data Objects and select the Create menu item.

    The Data Objects dialog appears.

  4. You can filter the list of data objects to more easily see the ones that you need. To filter the list:

    1. Type a full or partial name in the text field above the Name column.

    2. Type a full or partial path in the text field above the Path column.

    3. Select a data object type from the drop-down list above the Type column: View All (the default), Simple Data Object, Logical Data Object, External Data Object, or Derived Data Object.

    4. Click the Query by Example (filter) icon to hide the data objects not matching the filter criteria.

  5. Check the box to the left of each data object to be added.

  6. To filter the unselected data objects, check View Only Selected.

  7. Click Add.

5.4 Removing a Data Object from a Project

You cannot delete a data object as a user in the Designer role. However, you can remove a data object from a project.

To remove a data object from a project:

  1. Go to the Designer page.
  2. In the left navigation pane, click the arrow to the left of Data Objects.

    All data objects in the current project are displayed in a list.

  3. Right-click the data object and select the Delete menu item.

    A dialog asks you to confirm the data object removal.

  4. Click OK.

    The data object disappears from the list.

5.5 Viewing Data Object Information

To view information about a data object, you must open it.

To open a data object:

  1. Go to the Designer page.
  2. In the left navigation pane, click the arrow to the left of Data Objects.

    All data objects in the current project are displayed in a list.

  3. Click the data object name, or right-click the data object and select the Edit menu item.

    The data object opens in a new tab.

  4. Select the subtab of interest. See Table 5-2.

    Most of the information is read-only, but even in the Designer role, you can edit Row Security or Data if granted permission. Administrators can only edit data objects from the Administrator page.

  5. Make any desired changes and click Save.
  6. Click the X on the data object tab to close it.

Table 5-2 summarizes the information tabs that apply to the different data object types in BAM.

Table 5-2 Data Object Type Tab Comparison

Tab Simple Derived External Logical

The General Tab

X

X

X

X

The Columns Tab

X

X

-

X

The Tables Tab

-

-

X

-

The Calculated Fields Tab

X

X

X

X

The Indexes Tab

X

X

-

-

The Hierarchies Tab

X

X

X

X

The Retention Tab

X

X

-

-

The Row Security Tab

X

X

X

X

The Data Tab

X

X

X

X

The Filter Tab

-

-

-

X

The following sections briefly summarize the information the data object tabs display. For more detailed information, see Creating and Managing Oracle BAM Data Objects.

5.5.1 The General Tab

The General tab applies to all data object types, but displays different information for each type.

For all types, the following information is displayed:

  • Type: Simple, Derived, External, or Logical

  • Name: internal data object name

  • Display Name: displayed data object name

  • Description

For all except derived data objects, the following information is displayed:

  • Category: this value can label and group similar data objects, such as BPM data objects.

For simple and derived data objects, the following information is displayed:

  • View Name: internal name of the BAM database view

  • Slow Changing Dimension (checked or unchecked)

    This indicates a dimension table that changes infrequently. The data object creator can set this option to improve the performance of continuous queries.

  • Archived (checked or unchecked)

  • Continuous Query Type: Stream or Relation

  • Number of String Columns

  • Number of Long String Columns

  • Number of Integer Columns

  • Number of Float Columns

  • Number of Decimal Columns

  • Number of Date/Time Columns

The data object creator can set these options if more than the default number of columns of these types are required. In a simple data object, these cannot be changed.

For logical data objects, the following information is displayed:

  • Alias: internal table alias for joined data objects

5.5.2 The Columns Tab

The Columns tab applies to all types except external data objects.

For simple data objects, and for parent data objects of derived data objects, the following information is displayed for each column:

  • Column Name: internal column name

  • Column Type: Measure, Dimension, or Attribute

  • Data Type: VARCHAR, DATETIME, INT, DECIMAL, or FLOAT

  • Size: in bytes, or Precision and Scale for DECIMAL or FLOAT data types

  • Nullable (checked or unchecked): whether a null value is allowed

  • Hidden (checked or unchecked): whether the column is visible and selectable in queries, views, alerts, and so on

  • Default Value

  • Comment

For simple data objects, the following additional information is displayed for each column:

  • Display Name: displayed column name

  • Unique (checked or unchecked): whether unique values for each row are required

For derived data objects, the following information is displayed for each added column:

  • Column Name: internal column name

  • Display Name: displayed column name

  • Column Type: Measure, Dimension, or Attribute

  • Data Type: VARCHAR, DATETIME, INT, DECIMAL, or FLOAT

  • Nullable (checked or unchecked): whether a null value is allowed

  • Hidden (checked or unchecked)

  • Default Value

  • Comment

For logical data objects, the following information is displayed for each column:

  • Logical Data Object Column Name: internal column name

  • Logical Data Object Column Display Name: displayed column name

  • Source Column Display Name: displayed column name in source data object

  • Source Data Object: displayed source data object name

  • Column Type: Measure, Dimension, or Attribute

  • Data Type: VARCHAR, DATETIME, INT, DECIMAL, or FLOAT

  • Size: in bytes, or Precision and Scale for DECIMAL or FLOAT data types

For logical data objects, the following additional information is displayed regarding joins:

  • Primary Data Object: displayed primary data object name

  • Primary Column: internal name of primary column in primary data object used in join

  • Foreign Data Object: displayed foreign data object name

  • Foreign Column: internal name of primary column in foreign data object used in join

5.5.3 The Tables Tab

The Tables tab applies only to external data objects. It displays the following information for all columns in the data object:

  • Column Name: internal column name

  • Column Type: Measure, Dimension, or Attribute

  • Data Type: VARCHAR, DATETIME, INT, DECIMAL, or FLOAT

  • Size: in bytes, or Precision and Scale for DECIMAL or FLOAT data types

  • Nullable (checked or unchecked): whether a null value is allowed

  • Hidden (checked or unchecked)

  • Unique (checked or unchecked): whether unique values for each row are required

  • Selected Columns: checked columns are visible to BAM

5.5.4 The Indexes Tab

The Indexes tab applies to simple and derived data objects. It displays the following information for index columns in the data object:

  • Name: internal index column name

  • Index Columns: internal indexed column name

5.5.5 The Hierarchies Tab

The Hierarchies tab applies to all data object types. It displays the following information for any hierarchies defined:

  • Name: hierarchy name

  • Structure: display names of columns in the hierarchy, from highest to lowest

An example hierarchy is country, state or province, and city.

5.5.6 The Retention Tab

The Retention tab applies to derived data objects and to simple data objects that are archived streams or archived relations. It displays the number of days of data retained in the data object. A value of zero specifies unlimited retention. For non-archived streams, no data is persisted, and any retention value is ignored. Data Retention schedules can be changed through Oracle Enterprise Manager Fusion Middleware Control. See Setting Data Retention in a Data Object for more information.

5.5.7 The Row Security Tab

The Row Security tab applies to all data object types. It displays the following information:

  • Name: a name of a security role

  • Security Filter: a filter expression limiting the rows that can be accessed

This is useful for working with data objects that contain sensitive or confidential data not intended for all BAM viewers, designers, or even administrators.

A user must have at least read permission for row security to apply. A user must have at least write permission to be able to determine row security for other users. See Creating and Managing Oracle BAM Data Objects.

5.5.8 The Data Tab

The Data tab applies to all data object types. It displays the actual data stored in the data object in columns and rows. You can add and edit data rows if granted update permission. You can delete data rows if granted delete permission. You can also choose to display a specific number of data rows per page, or order the whole set on the database by editing your Preferences.

5.5.8.1 Modifying Data Tab Preferences

This topic describes how you can modify data tab preferences.

To modify data tab preferences:
  1. Login to Oracle BAM Composer.
  2. Click on your account name.
  3. Select Preferences from the drop-down list.
  4. Click the Data Object Display tab.
  5. Specify the Rows/Page value from the drop-down list.
  6. Optionally, set a value for Max Export All Size to control the number of rows to be exported.
  7. Optionally, click the Order on Database check box to order the results on the whole set on the database.

5.5.9 The Filter Tab

The Filter tab applies only to logical data objects. It displays a filter expression limiting the rows that the logical data object includes. You can only access data that both this filter and row security allow you to access. See The Row Security Tab.

5.5.10 The Calculated Fields Tab

The Calculated Fields tab applies to all data object types. It displays the calculated columns in the data object. Operators and expression functions, combined with column names, specify new calculated columns.

Administrators can create calculated columns only in logical data objects. They can define parameters at the data object level inside calculated fields. This is different from project-level parameters that Designers can specify.