In the business objects layer, we can prepare a denormalized output based on the data vault core. A business object can be composed of fields coming from multiple related elements in the data vault. The Business Object generator will take away the work of manually joining the data vault elements and generates an as-of-now-view, on top of which the business logic can be applied in the business rules.
A business object is a denormalized view layered on top of the datavault. It delivers an as-of-now-view, based on the data-set of a chosen granularity satellite.
When creating a new business object and selecting a hub, additional technical fields are available, such as effective last seen date of a record or if the record was flagged as deleted in the source.
- Search Bar
Allows to search for an existing business object and open it in the business object generator.
- Create Business Object
Opens up the dialogue for Creating a Business Object.
- Add Related Business Object
Opens up the dialogue to create a related business object. The button is only active, if a business object is currently open in the business object generator. It will invoke the dialogue to create a business object and preselect the starting hub. For details: Model a dimensional output.
- Business Object Slider
The slider will open up after creating a business object or when opening an existing business object. It lets you see and compose the output of the business object.
- Element Selector
The visual selection is available after creating a business object or when opening an existing business object. It lets you select an element from the data vault you would like to take fields from.
Creating a Business Object¶
Navigate to the business objects module and click onto “Create business object”. Fill out the fields of the dialogue and confirm the creation. Add attributes from the datavault to your output.
- Start Hub
Declaration, based on which hub the business object should start from. Will determine the primary name of the business object.
- Source System
Declaration, for which source system the business object should be generated.
- Granularity Satellite
Defines the dataset, which is delivered to the output.
Custom notes about the Business Object. Appears as well in the documentation.
- Functional Suffix Name
Displayed suffix name for the business object.
- Functional Suffix ID
Technical suffix, which is appended to the created view.
- Create Business Object
Button to complete the creation dialougue.
Working with the Business Object Generator¶
Once a business object is created, you can modify its output using the business object generator.
- Adding attributes to the output
Use the element selector and either click onto a hub or a satellite, to select a data vault object.
The available columns will appear in the left part of the business object slider.
Select a column you would like to have in the output.
Rename the column into a business relevant terminology.
- Available technical attributes
Certain attributes are automatically available within the environment, such as last seen timestamps in delta loads. With the help of these fields, you can for example cleanse outputed data from deleted records in the source.
Data Vault Object Type
Available technical attribute
Load Time - Timestamp when the record was inserted into the Hub
Load Source - Source from which the record was inserted
Delta Load Last Seen (per Staging Table) - Timestamp for when the key has been seen a delta load the last time
Full Load Validity Change (per Staging Table) - Timestamp for last state change (added/deleted) of a key in a full load
Full Load Valid (per Staging table) - If the key was part of a full load, flags if the key was in the last full load or not
Load Time Satellite - Timestamp when the record was inserted into the Satellite
Entry is Present in Satellite - Flags if the key is available in the Satellite
Load Time Link - Timestamp when the record was inserted into the Link
Load Source Link - Source from which the record was inserted
Effective Last Seen Time Link (over all Staging Tables / Systems) - Timestamp when the record was effectively seen the last time in a full or delta load
Delta Load Last Seen Time Link (over all Staging Tables / Systems) - Timestamp, when the record was seen the last time in a delta load
Full Load Last Validity Change Time Link (over all Staging Tables / Systems) - Timestamp for the last state change (added/deleted) of a record in the link
No manual saving is needed. When modifying the output-columns of a business object, after each modification the result is directly sent to the database and the underlying view is rebuilt.
You can follow along related objects in the element selector as it is possible in the data vault module, too, by double-clicking onto a hub. Some elements can appear in a gray color. In this case, it is not possible to select columns yet, as no data vault load has been defined yet to follow along the relation. Please first add a load for the link.
An important difference to the representation in the data vault is, that hubs, connected by more than one link, will be represented as two separate hubs. This way you can directly indicate, which relation to follow for the joins.
- Traversing Links / available related objects
While modelling in the Datavault, the expected cardinality of a link was already defined. Based on this information, the business object generator can support you in following relations / traversing links without having a fanning in the output data.
Therefore, only related objects and links are shown, which are of the same or a more aggregated grain. This means, you can only follow along many-to-1 or 1-to-1 links, but not many-to-many or 1-to-many.
Deleting a Business Object¶
A business object can only be deleted, if no customized business rules are declared anymore. Therefore, previously remove all business rules. An exception to this is the unaltered default ruleset, which will automatically be removed when deleting the business object. If the unaltered business ruleset is still fed into the accesslayer, the deletion will automatically remove it from the accesslayer as well.
If a dependent business ruleset exists, the deletion will directly return an error message.