This blog is an attempt to explain OBIEE 11g Architecture is a simplified manner. The main intension is to make it simplify to understand to wider audience across technical fraternity along with non-technical personals.
Key Architecture Points
Extensive use of Fusion Middleware (FMW) technology stack
WebLogic used as Application Server
Enterprise Manager (EM) used for system management
Introduction of OPMN for BI System components
Centralized Configuration Management i.e. modify on central server, propagate to other servers
Horizontal and Vertical Scale out procedures
Security – Oracle Platform Security Services
Everything Scriptable / Programmatic control
A BI Domain consists of Java components that are deployed into one or more Java EE (JEE) containers within a single Weblogic domain; system (non-JEE) components and processes; and required configuration files, metadata repositories, and infrastructure.
A WebLogic Domain is a set of web logic instances servicing one or more J2EE applications
A WebLogic Admin Server is a JEE container that runs in a dedicated Java virtual machine with java components which provides a management of both the WebLogic and BI Domain. A WebLogic Domain contains one Admin Server.
A WebLogic Managed Server (Similar in concept to an OracleAS ‘OC4J’ instance) is a JEE container that runs in a dedicated Java virtual machine that provides the run-time environment for the Java-based services and applications within the system. An Oracle BI domain contains one or more Managed Servers that are distributed across one or more host computers.
A Node Manager provides process management services for Administration Server and Managed Server Processes. In short it is a daemon process that provides remote server start, stop and restart capabilities in addition to monitoring.
OPMN (Oracle Process Manager and Notification Server) maintains the Oracle Business Intelligence system components processes.
Oracle BI System Components are deployed as a non-JEE components, such as server processes and services written in C++ and J2SE. These provide the core services that enable Oracle Business Intelligence. The system components include BI Server (provides query and data access), Presentation Server (provides the framework and interface for the presentation of business intelligence data to Web clients), Scheduler (provides scheduling for analyses delivery), Cluster Controller (distributes requests to BI Server, ensuring requests for load balancing) and BI Java host (provides component services for presentation server to support java tasks for scheduler, publisher and graph generation).
Oracle BI J2EE Components are java components which are deployed as JEE applications to service SOAP, HTTP and other forms of requests. The major J2EE components includes BI Publisher (Enterprise Reporting Solution), BI Office (Integration with Microsoft Products), Action Framework Service (Dedicated Web Services), BI SAW Bridge Plug-in (Application that routes HTTP and SOAP requests), Security Services (Enable Integration of BI Server with Oracle FMW security Platform) and Web Services for SOA (Dedicated Web Services for SOA).
The additional J2EE components are Administrative Components (Enterprise Management application and JMX – MBeans for managing all configuration and run-time settings for Oracle Business Intelligence) and Oracle Real Time Decisions (Oracle RTD) – Enterprise Analytics Software for decision support system.
Fusion Middleware Technologies
The OBIEE 11g Architecture leverage on FMW technologies, some of the highlights are as follows
Web Logic Server (WLS) – Application Server, Required on every OBIEE machine, supports scripting with WLST
OPMN (Oracle Process Management Network) – Used for distributed process start/stop/restart, Process recovery (optional) and Process ‘Ping’ , Managed via Enterprise Manager ( EM) , can be used for performance collection( DMS), required on every OBIEE machine
DMS (Dynamic Monitoring System) – Standard FMW performance data collection format, allows collection of current and historical data, additional to perfmon, can be persisted to database, implemented by component teams (no control of content)
ODL (Oracle Diagnostic Logging) – Defines standard FMW Logging content and format, defines mechanism for analyzing diagnostics across s/w components and systems, support for ECID ( transaction ID) and implemented by component teams ( no control of content)
JPS (Java Platform Security) – offers an integrated suite security services to components in the Oracle stack – Authentication Service, Authorization Service, Policy Management Service ( Policy Store), User and Role Management Service ( Identity Store) , Credential Storage Service (CSF) and Auditing Service
CSF (Credential Store Framework) – provides secure handling of credentials used in BI system – looking at SSL certificates
Single Host Architecture
Standalone BI Architecture has a JEE container (Admin and Managed) that runs in a Java virtual machine with java components. The java components provide a management of Web Logic and BI Domain along with providing a run-time environment for the Java-based services and applications within the system.
This is recommended approach for development and test environment. I even prefer to use implement this standalone architecture for small to medium implementation. A separate JEE container for Admin Server does not make sense what so ever as it could add additional complexity and may not perform up the expectation on smaller hardware. The relative log and configuration files are included as additional information for better understanding of the architecture components and associated configurations.
Simple Install Architectural Limitations
No ability to scale out
No managed server
Simple Install has been consolidated into the AdminServer; therefore, analytics runs via the AdminServer port (7001 default)
Enterprise BI Architecture
Enterprise Architecture has one JEE container for Web Logic Admin Server that runs in a dedicated Java virtual machine for management of Web Logic and BI domain and other JEE container that runs in dedicated Java virtual machine to provide the run-time environment for the java-based services and application within the system. An Oracle BI Domain contains one or more Managed Servers distributed across one or more host computers.
Simplified Architecture Overview
The most simplified architecture overview for OBIEE 11g which I came across is depicted below. It highlights on components, connections and security service at the heart.
How do the components communicate with each other?
A simplified graphic of how architecture components communicate with each other is depicted below.
I hope I have been able to simplify the OBIEE 11g Architecture a little bit. The post is the outcome of various documents/presentation I come across from experts in BI space and 2 sents addition from me. I would like to cover the cluster and scaling (vertical and horizontal) options for OBIEE 11g for increased application performance, throughput, or high availability.