Mastering OBIEE Metadata Modeling and Analytics
OBIEE Architecture and Components
The Journey of a Request
When a user clicks on a dashboard or runs an analysis in OBIEE, a complex sequence of events kicks off behind the scenes. This isn't a simple client-server chat. It's a carefully orchestrated conversation between several powerful components, each with a specific job. Understanding this flow is the key to troubleshooting performance, diagnosing errors, and truly mastering the platform.
The entire process starts with an HTTP request from the user's browser. This request doesn't go directly to the BI components. First, it hits the , which acts as the foundational container for the entire BI system. WebLogic authenticates the user and routes the request to the correct application, in this case, the Oracle BI Presentation Server.
This diagram shows the path from a user's click to the final rendered dashboard. Let's break down the main players in this workflow.
The Core Components
Oracle BI Presentation Server (OBIPS) This is the component responsible for the user interface. It takes the web request and determines what content to display. OBIPS doesn't know anything about the underlying databases or how the data is physically stored. Its job is to generate a query in Logical SQL, which is a generic, database-independent version of SQL based on the business model defined in the RPD. It then passes this Logical SQL to the BI Server.
Oracle BI Server (OBIS) This is the heart of OBIEE. OBIS is a highly optimized query engine that receives the Logical SQL from the Presentation Server. Its primary task is to parse this request and, using the rules and mappings in the , translate it into optimized Physical SQL that the source database can understand. It manages connections to one or more data sources, sends the query, retrieves the results, performs any necessary post-aggregation or calculations, and then passes a clean result set back to OBIPS for rendering.
Oracle BI Scheduler (OBISCH) While not always involved in a direct user request, the Scheduler is a critical background process. It's responsible for executing scheduled reports and triggering Agents (formerly known as iBots) based on schedules or data-driven events. It interfaces directly with the BI Server to run the necessary analyses for these jobs.
Configuration Deep Dive
The behavior of these components is controlled by a set of critical configuration files. While many settings are managed through the front-end Enterprise Manager, understanding these files is essential for advanced administration and troubleshooting.
The two most important configuration files are
NQSConfig.INIfor the BI Server andinstanceconfig.xmlfor the Presentation Server and other Java components.
NQSConfig.INI controls the Oracle BI Server (OBIS). It's a text file containing parameters that define the core functionality of the query engine. Here you can configure repository settings, connection pool parameters, query limits, and caching strategies. For instance, if you need to enable query logging or adjust the maximum number of rows a user can retrieve, you'd do it here.
[ REPOSITORY ]
# Specifies the default RPD to load at startup
Star = "my_repository.rpd";
[ CACHE ]
# Enables or disables the BI Server query cache
ENABLE = YES;
MAX_ROWS_PER_CACHE_ENTRY = 100000;
[ SERVER ]
# Limits the number of rows users can request
MAX_ROWS = 500000;
instanceconfig.xml is the primary configuration file for the Java-based components, including the Presentation Server (OBIPS) and Scheduler (OBISCH). Since it's an XML file, its structure is more hierarchical. It's used to configure front-end settings like dashboard defaults, view rendering options, and connection details for action frameworks. For example, changing the default analysis editor from "Answers" to "Analysis" or configuring how charts are rendered involves editing this file.
So, when a user's request comes in, OBIPS consults instanceconfig.xml for presentation rules, while OBIS uses NQSConfig.INI to govern how it processes the query and interacts with the RPD and data sources. This separation of concerns allows for fine-tuned control over both the user experience and the back-end query performance.
When a user initiates a request from their browser in OBIEE, which component is the first to receive and authenticate this request before routing it to the BI system?
What is the primary output generated by the Oracle BI Presentation Server (OBIPS) after it interprets a user's request from a dashboard?
Understanding this architecture is the first step toward becoming an effective OBIEE administrator or developer. It provides the context needed to build efficient models, optimize reports, and solve problems when they arise.