- 30 april 2014
- Posted by: Ebicus
- Categories: Business Intelligence, No category
This article zooms in on the concepts ‘development’ and ‘deployment’ in the BI life cycle and explains the (test) activities that correspond to these concepts. Moving from ‘development’ to ‘deployment’ involves management of the Oracle BI repository metadata. Furthermore, an automated solution for managing Oracle BI repository metadata, is provided by the implementation of three steps.
In order to define, develop and apply business intelligence (BI), i.e. by means of Oracle’s BI solution, a (BI) life cycle is applicable. In the field of BI, one of the well-known life cycles is ‘Kimball’s DW / BI Lifecycle’, as depicted in figure 1. A detailed explanation of this life cycle can be found in the book: “The Data Warehouse Lifecycle Toolkit book” (Wiley, 2008).
This article focuses on the highlighted key concepts; From ‘Development‘ to ‘Deployment‘. Within or between these two concepts, testing of BI components takes place. Different tests are required, and are performed on different environments. For this article the ETL components, as well as other developed materials, e.g. reports and dashboards, are out of scope. In scope is the Oracle BI repository metadata, defining the environment parameters. The next chapters will focus on how to manage the metadata in this part of the BI life cycle, applied to Oracle BI.
Figure 1: The Kimball DW-BI Lifecycle
2. The BI life cycle: from development to deployment
When moving from the development concept to the deployment concept, the BI components that have been developed should be tested in order “to provide stakeholders with information about the quality of the product” (Exploratory Testing, Cem Kramer). In large BI projects, several environments can be distinguished, i.e. development, test, staging / performance / user acceptance, production.
2.1 Development Environment
This environment is used for developing new functionality, or edit existing functionality. The test activities consist of:
• Unit testing: Developers test their work. An addition to unit testing is peer unit testing, where developers test the work of their colleagues.
2.2 Test Environment
When the components have been transferred to the test environment, two types of tests are applicable:
• System Integration testing: This test focuses on data flow through the system: Are all of the developed components correctly working as a whole?
• Regression testing: This validates whether the system functions correctly after implementing a change. Besides the new functionality, the existing functionality will also be tested.
2.3 Staging / Performance / User Acceptance Environment
This environment can be split into two environments (staging / performance and user acceptance) or serve both goals as one. The staging / performance environment focuses on the:
• High volume testing: Extracting from sources, transformation and loading, analytic performance (calculations).
The user acceptance environment focuses on the:
• User Acceptance: Have the requirements been met? Is the presented data correct? What is the score on usability? Is the performance acceptable?
2.4 Production Environment
When the tests have been successful, the developed components will be moved to the production environment, which is in use by the BI end users.
3. Managing metadata within Oracle BI
Within Oracle BI the repository metadata is saved in a .RPD file: the repository. This repository can be edited using the Oracle BI Administration Tool. When moving BI components from one environment to another, the metadata of the databases (connection pool) can be edited in order to provide different data sets for testing purposes, i.e. development data versus production-like data.
Figure 2 shows the connection pool metadata. The data source name and credentials are highlighted. These elements are subject to change when moving from one environment to another.
Figure 2: Oracle BI Administration Tool – Editing a Connection Pool.
In situations where the movement from one environment to another happens on a frequent basis, or when a large number of connection pools are involved, automating the adjustment of the metadata can easily be justified. Automating this activity provides several benefits:
• Faster movement from one environment to another
• Less error-prone (changing credentials)
• No involvement of a database administrator required (database schema credentials)
The next chapter describes a concept implementation on how to automate this activity.
4. Automated solution
An automated solution can be created by implementing the following steps:
1. Using tools provided by Oracle to prepare the repository
2. Use a XML parser to edit the XML based repository
3. Create an application to fulfill step 1 and 2 and to provide additional functionality
4.1 Step 1: Oracle XML Tools
The metadata of the connection pool(s) is saved in a binary (.RPD) file: the Oracle BI repository. Oracle provides utilities to convert this file to XML, and to convert a XML file to a .RPD file again.
• The BIServerXMLGen utility generates a XML file from a RPD file.
• The BIServerXMLExec utility generates a RPD file from a XML file.
4.2 Step 2: XML Parser
When converted to XML, the metadata (including the still encrypted password) can be extracted and saved. This activity can be performed by using a XML parser. An example of a parser can be found here: XML Parser
4.3 Step 3: Application
Using the Oracle utilities, and the XML parser, driven by an application, a ‘Connection Pool Manager’ can be constructed. See figure 3 for an example.
Figure 3: Connection Pool Manager
This example of the ‘Connection Pool Manager’ shows different functions:
• Save connection pool metadata from a repository to an archive
• Show information on the metadata in the archive or repository
• Compare connection pool metadata between the archive and a repository
• Apply connection pool metadata to a repository
• Delete connection pool metadata from the archive
• This article is based on Oracle Business Intelligence version 220.127.116.11.
• The Data Warehouse Lifecycle Toolkit book, Second Edition (Wiley, 2008)
• Exploratory Testing, Cem Kaner, Florida Institute of Technology, Quality Assurance Institute Worldwide Annual Software Testing Conference, Orlando, FL, November 2006
• Oracle BI Tool – BIServerXMLGen
• Oracle BI Tool – BIServerXMLExec