Oracle BI server

Oracle Business Intelligence Enterprise Edition is a business intelligence server developed by Oracle. It includes advanced business intelligence tools built upon a unified architecture. The server provides centralized data access to all business related information in a corporate entity. It integrates data via sophisticated capabilities from multiple sources.

Component of OBIEE
Oracle BI Server is a query, reporting and analysis server and provides services to the other components of the Business Intelligence suite such as Data mining, Reporting, and Analytic Applications. The Server uses ODBC 2.0 which provides a standard software API method for using database management systems and JDBC (Java Database Connectivity) which is an API for the Java programming language. The BI server compiles incoming query requests into an executable code and then execute the code. Clients of the BI Server work with a logical data independent of the data sources, and they submit them to the BI server. The server translates the data to some combination of physical SQL and sends them to the back-end databases.

Server administration functions include facilities such as monitoring, statistics logging, cancellation, session and query management. The administration of the server is managed internally with using standard protocols e.g. Active Directory is an implementation of LDAP services(Lightweight Directory Access Protocol) which is an application protocol for querying and modifying directory services running over TCP and IP.

Query compilation in BI server has five phases:
 * Parsing
 * Logical Request Generation
 * Navigation
 * Rewrite
 * Code Generation

Parsing
The multi-functional parser accepts the full ANSI SQL92 syntax as its input and its main function is to generate a parse tree which is a tree data structure that represents the syntactic structure of a string as its output.

Logical Request Generation
A component of the logical request generation takes the parse tree and makes of it a logical request tree that describes the precise semantics of the requested data in simplifieds SQL.

Navigation
The navigator processes the navigation.

Rewrite
The rewrite's output is the execution plan. This phase distributes relational query optimization and suitable native SQL generation. The phase of rewriting covers:
 * Multi-database join plan generation
 * Function shipping
 * Functional compensation analysis
 * Optimized SQL generation

Code Generation
Code generation in the server produces native query processing language directives to communicate with remote databases. It also produces a code for any remaining query processing that has not been function shipped to remote databases. Parallel execution directives are inserted in this code and it is used for the analytics execution engine.