OracleBIBlog Search

Friday, October 15, 2010

OBIEE 11g Architecture

In this article we will briefly explain the new OBIEE 11g architecture and its components. At first glance it seems complex to understand all the new pieces in OBIEE 11g, but let us take a look at the following picture:

We can identify two main component types the OBIEE 11g: The A) Java Components and the B) System Components.

A) Java Components: These are basically J2EE applications running in Weblogic Server. There are two subcomponents here: 1. Admin Server and 2. Managed Server. Each of them running in a dedicated Java virtual machine (JVM).
  1. Admin Server: This is nothing more than a set of J2EE applications that will help us Administering the system:
  • Admin Console (WLS) — An adminstrative user interface that provides advanced management for Weblogic, JEE components, and security
  • Fusion Middleware Control — An administrative user interface that is used to manage the BI domain.
  • JMX MBeans — Java components that provide programmatic access for managing a BI domain.
  1. Managed Server: These are J2EE applications which will help the functioning of the BIEE System (highlighted in RED):
  • BI Plugin — It routes HTTP and SOAP requests to BI Presentation Services.
  • BI Security — It enables the integration of BIEE Server and Fusion Middleware security platform through webservices calls.

  • BI Action Services — It provides the dedicated Web services that are required by the Action Framework (a nice introduction can be found here, another example of use is here and here) and that enable an administrator to manually configure which Web service directories can be browsed by users when they create actions.

  • Webservices SOA — This component provides Web services for objects in the BIEE Presentation Catalog, to invoke analysis, agents, and conditions.

  • BI Office — This component provides the integration between Oracle Business Intelligence and Microsoft Office products.

and finally
  • Two particular applications: BI Publisher (Reporting System) and RTD (technology platform which enable the analysis of data and provides insight by using data mining algorithms and techniques in real time).
B) System Components: These are non-J2EE components, such as processes and services written in C++ and java.
  • BI Server — It provides capabilities to query and access data as well as services for accessing and managing the RPD file (BIEE Metadata).

  • BI Presentation Services — It provides the framework and interface for the presentation of business intelligence data to Web clients. It maintains an Oracle BI Presentation Catalog service on the file system for the customization of this presentation framework.

  • BI Scheduler — Provides extensible scheduling for analyses to be delivered to users at specified times. (BI Publisher has its own scheduler.)

  • BI JavaHost — It enables BI Presentation Services to support various components: Java tasks for BI Scheduler, BI Publisher, and Graph generation.

  • BI Cluster Controller — It distributes requests to the BI Server, ensuring requests are evenly load-balanced across all BI Server process instances in the BI domain.

In addition, the BI Domain requires a set of configuration files, the repository (RPD) file, the Presentation Catalog files, etc. Likewise, BIEE System uses a set of metadata tables stored in a relational database like Oracle.

How to Start BIEE System: There are multiple ways to start the BIEE System, but it must follow certain order. Based on the description given above we need to :

1. Start NodeManager : By default in Windows it runs when the OS starts (Reference about NodeManager can be found here)
2. Start Admin Server : Initiate Weblogic Server.
3. Start Managed Server : Initiate the main applications. Based on the picture above, these are highlighted in Red : BI Plugin, BI Security, BI Action Service, BI Webservices SOA. If you are planning to use BI Publisher or RTD then it must also be started.
4. Start BIEE Services : These are the main BIEE processes which are controlled by OPMN: BI Server, BI Presentation Server, BI JavaHost. If you are planning to use BI Scheduler then also start it. Or if your instance is a clustered environment then also start the BI Cluster Controller.

In our next post, we will describe how to actually perform this operation and we will describe how to troubleshoot issues by looking at the log files.

1. Introduction to BIEE Administration (here).
2. Rittman Mead posts on Action Services (here).

Wednesday, October 13, 2010

Report Return HTML

When you navigate down to a third level report from a top level Report in OBIEE, when you hit the default return value on the dashboard it returns you to the first level report, and not the report that you navigated from. Also when you use the Go URL Command to integrate a Report into a web portal it will not have a return value to return you to a high level report, when you navigate from a top level report.

To solve the above issues you can incorporate HTML in a Static View on the request.

The purpose of this document is to show how to use the Static View on the OBIEE Request to add a return link for the report.

1. Create the OBIEE Request
2. Add a Static View to the Request
3. Add the onclick HTML to the Static View
4. Add the Static View to the Request Compound View
5. Left justify the Static View
6. Save the request

HTML for a Return Link:


This document shows how to create a return link for the report that has been navigated to from a higher level report in OBIEE. This same techniques in also used to create a return link for a Report that has been added to a web portal, and has a navigation to a lower level report.

Testing Project Business Requirements

We usually think of testing during the Project Development Cycle. The first instance of testing is to do some unit testing during development to insure that the system does not break when a user logons on to the system and accesses screens to enter data. A second instance of testing is usually during User Acceptance Testing (UAT) to let the user logon to the system and test the functionally of the system. If testing is developed in the environment focused on testing the actual testing begin when the Project is first undertaken. One of the first documents in the testing cycle is to develop a Test Strategy Document. This document is normally developed by the Testing Team with the help of the other Project Team Members especially the business users. Once the document is completed it should be reviewed by all the team members, and agreed to by the Project Team. The next document is the detail test plan. This is normally developed during the Requirements and Design Phases of the Project Life Cycle, and details the detailed testing needs and requirements. The next documents that are completed during the Project Life Cycle are the Test Cases. The Test Cases detail are the scenarios that the users will encounter when using the system, and provides the user the capability to respond to whether the system processes meet the expected conditions.

Requirement Testing:
One of the most often missed steps during the Project Testing Cycle is to test the System Requirements. Once the Requirements Document is completed, the next step in the process it to test the documented requirement to insure that the meet the Business Users needs. This is usually a very difficult process because many Business Users may understand part of their business process, but do not have a detailed understanding of all phases of their business processes, and the data that supports their business processes. One of the main functions of the Information Technology Department is to work with the Business Users to help them understand the business processes and the data that supports their business processes. Usually Requirements Gathering Workshops are one of the best ways to develop the Project Requirements and help educate the Business Users about their business processes the that data that supports their business processes.

The Requirements Testing Phase is an excellent to give all members the opportunity gain an understanding of the Business Requirements, and to ask detailed questions about all phases of the Project Business Requirements. This is very critical because during the Project Design Stage the design should address all the Project Business Requirements. I have seen projects where the Project Design is not compatible with the Project Requirements Documents. This can only lead to project failure.

Some of the main questions that need to be asked during the Business Intelligence Requirements Testing Phase are:

1.) Do the metrics enable the business user to measure the efficiency and effectiveness of his business processes?
2.) Do the Dimensions provide the attributes that enable business user to provide the ways to view the metrics to measure their business processes?
3.) Is the proper security established to access to the Reports and Dashboards by the appropriate business users?
4.) Is the proper data security established to permit the business users access their data and not see other users secure data?
5.) Can we look at Charts and Graphs to view tends in data?
6.) Can we easily navigate through the BI Application without having to minimize the keystrokes and scrolling?
7.) Does the data provide the information to measure progress with the Business Users Goals and Objectives?
8.) Do the information, reports, and dashboards provide the needed information to help the business users better manage their business processes?
9.) Do the information, Reports and dashboards show out of bound conditions so that the business user can respond in a timely manner to correct the situation?
10.) Can the business users use the data to further analyze out of bound conditions or look at the data from a different perspective?

Testing the Business Requirements is an important step of the Project Life Cycle. If the Business Requirements are thoroughly tested by all team members, it will lead to a more successful and rewarding development effort for the Project Team. By Testing the requirements early in the Project Life Cycle and getting agreement that they are correct, all the remaining Project Phases will be easier and lead to a better developed system that will meet the Business Users needs and Requirements.

Tuesday, October 5, 2010

OBIEE Go URL Command to access Reports and Dashboards from External Portals or Applications

When using OBIEE at a Customer’s sites, as part of the requirement it may be necessary to integrate OBIEE Reports and Dashboards within other applications or portals. In one instance at a client site, the requirement was to integrate the OBIEE Repots, Dashboards, and Alerts into a Web Portal. The Portal was the main way for Line Manager to view their OBIEE Reports and Dashboards. Also another requirement was to distribute alerts from OBIEE Delivers to the Line Mangers email and let the Line Managers navigate to more detailed reports from the report delivered to their email. The alerts were based on a condition occurring in situation where the Line Manager needs to be notified. OBIEE Delivers enable an alert to be sent to specific uses based on a conditional report; however when the alert was received by the Line Manager he was unable to drill down to the more detailed reports. The way that the requirements were met was to use OBIEE Presentation Services Go URL Command.

Chapter 11 of Oracle Business Intelligence Presentation Services Administration Guide, Version

The purpose of this document is to discuss the OBIEE Go URL Command and show how it can be used to incorporate Oracle Business Intelligence Results into External Portals using the Go URL Command. Also it will discuss how to permit navigation down to detailed reports from a report delivered to a Mangers’ email.

The starting syntax of the GO URL Command is:


There are many other parameters and option that can be used in the GLO URL to access Reports and Dashboards. The following topics will show some of the parameters and filters that can be used with the GO URL Command. The parameters and filters are discussed in more detail in the referenced document.

Syntax for use in Portals:
Below is an example of the Go URL used in a web portal to access an OBIEE Report. The sections of the Go URL command are discussed below the example command.


https://server/analytics/saw.dll?GO – The standard GO URL syntax

&Path=/Shared/Expense/Expense%20Cost/Direct%20Reports%20Requestor%20Summary – The path to the OBIEE Presentation Server Report. Note that %20 is used in the statement where spaces are in the Presentation Server Path to the Report.

&ViewName=compoundView!1 – The view that is requested in the Go URL to be displayed in the portal. The View Name is found in the XML for the Report in the Advance Tab in OBIEE Answers. If there are different compound views needed for different reasons, multiple compound views can be made for the request. Only the one that is needed for the portal would be referenced in the Go URL Statement. Instead of using a compound view, any view in the request can be referenced in the Go URL command.

&Options=drf – A link option in the Go URL command that permits the following for the report in the portal: d – download to Excel, r – refresh results, f – printer friendly

Other optional parameters can be used in the Go URL command. Refer to the referenced document for a discussion of the optional parameters that can be used for the Go URL command.

Syntax for use in an email Alert Report:
Below is an example of a Go URL command that was used in an Alert to permit enable navigation to a lower level report. A discussion of each section of the Go URL Command will be discussed below the example.

'href=http://server/analytics/saw.dll?Go&Path=/Shared/Project%20Central/Expense%20Report%20Listing%20Person&Action=Navigate&P0=1&P1=eq&P2=Requestor."Requestor%20Name"&P3='|| Replace(Requestor."Requestor Name",' ','%20') || ' > '||Requestor."Requestor Name"||'

This Go URL command is placed in the column formula section of the column on the report that you want to navigate from. You also have to edit the column and make it a HTML format. The above href command must be enclosed in the HTML anchor syntax.

href=http://server/analytics/saw.dll?Go - The href statement for the Go URL command

&Path=/Shared/Project%20Central/Expense%20Report%20Listing%20Person – The path to the report in the OBIEE Presentation Server. Note the use of the %20 for the spaces in the OBIEE Presentation Server catalog path to the report.

&Action=Navigate – the action filter to tell that tell the Go URL Command that you want to navigate

&P0=1 – the number of columns that you want to filter

&P1=eq – the operation operator. The other potential operation operators are shown in the referenced document

&P2=Requestor."Requestor%20Name" – the requestor column in the report that you want to navigate to. This must be a filter with an “ is prompted” value.

|| - concatenation symbol

&P3='|| Replace(Requestor."Requestor Name",' ','%20') || ' – the name of the column on the report that you need to filter from. The Replace statement is needed because the Requestor Name has spaces in it in the database.

' > '||Requestor."Requestor Name"||' – the name of the column that should be displayed in the column on the Report that you want to navigate from.

Once you build the Go URL command you can test it in the Web Browser to check the syntax and insure that the Report will drill down to the detail report from the displayed report.

Other Options and Filters:
The referenced document discusses the optional parameters and filters that can be used the Go URL command. The Go URL command can access Dashboards as well as OBIEE Reports. Refer to the attached document for more information on the Go URL Command.

The Go URL command is a good way to incorporate OBIEE Reports and Dashboards in into External Portals or other Applications. It can also be used to navigate down to detailed reports from Alerts sent to Managers by email. Going forward I anticipate that many other companies will want to incorporate OBIEE Reports and Dashboards into their existing Application instead of having to navigate and login to the OBIEE Application. Using the Go URL command is not difficult but you need to become familiar with the syntax, parameters, and filters to effectively use the command to meet your client or your requirements.