The Objectivity Of Your Business

Business Objects - as well as any other reporting environment - metadata constitutes a vital part of enterprise lineage and dependency graph and therefore needs to be easily accessible for administrative tasks as well as allow itself to be integrated with the rest of enterprise-wide metadata to be usable in lineage tracking and impact analysis exercises. However, Business Objects does not provide any simple interface to access detailed lineage metadata out of the box. This document gives a brief overview of one approach to get access to and integrate this information into a general metadata repository.

Business Objects metadata as part of lineage metadata

Business Objects stores its metadata in its proprietary metadata repository, partially in Central Management Server (CMS), partially in File Repository Server (FRS). CMS is implemented as a set of relational database tables, but the most important information is not directly available and has to be accessed via proprietary Java APIs. The information contained in CMS is mostly useful for administrative purposes and contains no significant lineage data. FRS data is stored as a set of files of various types in hierarchical file system. Of particular interest are universe and report files which contain the lineage and dependency metadata. Having access to this information enables one to answer a multitude of various technical and administrative questions, such as:

  • Which database objects (tables/columns) impact a specific BO report or report object?
  • Which BO report or report objects are impacted by a specific database object (table/column)?
  • Which reports are owned/used by a specific BO user?
  • Which BO reports reference a specific database column or a literal constant?
  • How information in a specific BO report object was derived?

The current version of the scanner focuses on and has been developed and tested with Business Objects XI R4 environment. This means support for universes in .UNV and web intelligence reports in .WID formats. Support for other (past or future) formats may become available as the need arises as part of further development.

Structure of Business Objects metadata

Business Objects Central Management Server (CMS) is used to store information (mostly administrative in nature) about users, administrative structures (presented as folder hierarchy), universes, reports and relationships between them etc. This information is stored in a relational database schema making general hierarchical information available. Part of the information in CMS is weakly encrypted, but the most important information is not directly readable and is encoded as serialized Java objects stored as Large Binary Objects. Thus the contents of this data is not available by simple SQL queries and has to be accessed via proprietary Java APIs.

Business Objects File Repository Server (FRS) stores most important information covering the structure and contents of Universes and Reports as well as all lineage and dependency metadata required for SQL generation. This data is stored as multiple files in hierarchical file system and is linked with CMS via IDs and directory structure. The files are loosely following the structure of PKZip files, mimicking zip archives with multiple parts. The parts can be either compressed or uncompressed, and the exact structure and composition of the parts is not consistent between different Business Objects versions.

MMX Framework Business Intelligence (BI) Metamodel

To store metadata imported from Business Objects CMS and FRS into MMX Repository, a metamodel loosely based on Chapter 11 (OLAP) of OMG CWM Framework is utilized, with the following classes, associations and taxonomies:

Classes:

Hierarchies:

BI Server (Business Objects Server) BI Server (root for other classes)
BI Folder (Business Objects Folder) BI Folder > BI Server
BI User (Business Object User) BI User > BI Server
BI Inbox (Business Objects User Inbox) BI Inbox > BI Server
BI Model (Business Objects Universe) BI Model > BI Folder
BI Report (WebIntelligence Report) BI Report > BI User, BI Report > BI Inbox
BI Context (Universe Context) BI Context > BI Model
BI Collection (Universe Class) BI Collection > BI Model
BI Object (Universe Object) BI Object > BI Collection
BI Filter (Universe Filter) BI Filter > BI Collection
BI Table (Universe Table Alias) BI Table > BI Model
BI Join (Universe Join) BI Join > BI Model
BI Query (WebIntelligence Report Query) BI Query > BI Report

MMX Framework Business Intelligence (BI) Metamodel

MMX Framework Business Intelligence (BI) Metamodel

MMX Framework Business Objects metadata scanner supports most of the complex features found in Business Objects Universes, such as:

  • Derived Table - derived tables - as well as freeform SQL in object definitions - are parsed into generic data mappings by Grammar Based Parser (part of MMX Foundation)
  • Linked Universe - links to tables, objects and classes in other universes are resolved during universe scanning and stored as global references
  • Multiple Contexts - objects with multiple definitions are scanned and stored with all applicable references to corresponding data objects

In addition, query definitions in Business Objects Reports are parsed and decoded into references to Universe objects, as well as lists of all involved string literals, number and date constants and user prompts. All of this information is stored in MMX Repository according to Business Intelligence metamodel and is integrated into the lineage and dependency graph. Having full lineage data integrated into one repository enables solution of several business questions that would not be possible otherwise, eg. verification of references from universe objects to database entities or validation of user-defined custom SQL.

Comments

comments powered by Disqus

Features

  • Universe and Report lineage discovery
  • CMS and FRS compliant
  • End-to-end lineage/dependency tracking
  • Enabling Business Glossary Automation
  • Fully decoded Report query structure

Technical

MMX Framework Business Objects metadata scanner is designed for and works with:

  • BOXI 3.1, 4.0 and 4.1
  • .UNV and .WID files
  • Derived Tables
  • Linked Universes
  • Multiple Contexts
  • Integrated metadata repository

Contacts