Arquitectura interna de OBIEE 11g






A raíz del post sobre la arquitectura de seguridad de OBIEE 11g empecé a interesarme por el resto de la arquitectura del sistema. A grandes rasgos cualquiera que utiliza OBI sabe más o menos que componentes utiliza, pero la introducción de WebLogic Server en la versión 11g cambia bastante las cosas.
En este post veremos los principales componentes de una suite OBIEE 11g en su versión de instalación Enterprise. Nos detendremos a analizar las dos entidades principales que lo componen y repasaremos por encima sus componentes.
(tiempo de lectura 4 minutos)
En la siguiente imagen podéis ver un esquema de la arquitectura del sistema. La imagen está basada en los esquemas de la documentación de Oracle.
Arquitectura OBIEE 11g
Arquitectura OBIEE 11g

Como podéis ver, OBIEE tiene dos componentes fundamentales más una serie de ficheros de configuración que forman una entidad lógica llamada “BI Domain”. Todo ello está apoyado en uno (o varios) esquemas de base de datos que utiliza para guardar meta-datos necesarios para su funcionamiento. Vamos a ver cada una de las cosas por separado de manera breve.

BI Domain

El dominio BI es una entidad lógica, no existe como tal, sino que es la suma de componentes java y de sistema (C/C++). En la versión 11g OBIEE se integra de manera muy estrecha con la plataforma Oracle Fusion Middleware 11g (OFM) que es una plataforma común de despliegue de contenidos que Oracle está utilizando en sus últimos productos.
OFM 11g utiliza como servidor de aplicaciones WebLogic Server que sustituye al antiguo OAS y que centraliza la administración de los componentes desplegados mediante la utilización de OFM Enterprise Manager y la WebLogic Console. Además, todos los productos que alojemos en esta capa podrán utilizar el sistema de seguridad centralizado de OFM basado y gestionado por la OPSS.
Veamos por separado cada una de las dos partes que componen el BI Domain

1 – WebLogic Domain

Esquema dominio Weblogic
Esquema dominio Weblogic
Esta es la parte nueva que introduce 11g y contiene los componentes java principales para que funcione OFM.
El dominio WebLogic se compone de una serie de servidores controlados por un controlador llamado Node Manager que se encarga de levantarlos, tumbarlos, monitorizarlos, etc…
En la instalación completa de OBIEE se nos instalarán dos “servidores”, a saber:
  • Admin Server : Contiene los componentes necesarios para administrar todo el cotarro, son tres y son suficientemente importantes como para detallarlos:
    • Admin Console para administrar la consola WebLogic (desde aquí se configura gran parte de la seguridad)
    • Enterprise Manager para administrar el resto de componentes de sistema y otros aspectos muy importantes
    • JMX Beans, son clases java que tienen propiedades y métodos que sirven para modificar la configuración del sistema. Existe la forma de invocarlas bajo demanda o incluso crear scripts (con WLST) para automatizar tareas complejas.
  • Managed Server : Contiene el resto de componentes Java de la plataforma Fusion MiddleWare. Quizás de los más conocidos sean el de BI Publisher o el BI Plugin que permite la comunicación entre el servidor de presentación y el BI Server.

2 – Oracle BI System Components

Aquí se agrupan una serie de componentes que tradicionalmente han estado fuera de OFM y en la versión 11g se siguen utilizando pero integrados con el dominio de BI.
Si OBIEE tuviera un corazón, serían estos componentes. Son la crema y nata de la herramienta y si por algo ha de destacar esta solución de BI es gracias a ellos. Como son poquitos y muy importantes vamos a dedicarle un par de líneas a cada uno de ellos
Componentes de Systema BI
Componentes C/C++ que hacen funcionar el sistema
Oracle BI ServerEl rey del mambo. Este señor se merece un post a parte. Por ahora sólo decir que es el encargado de recibir las peticiones de información, resolverlas y devolver los datos al usuario.
Oracle BI Presentation ServerLa reina del baile. Este componente se encarga de gestionar la interfaz web que ven los usuarios finales (y los desarrolladores). Las peticiones son generadas aquí y luego pasadas al BI Server para su resolución.
Oracle BI SchedulerOtro componente importante, sobre todo si hacemos uso del motor de scheduling que lleva integrado OBIEE. Se apoya en esquema de base de datos para realizar su trabajo.
Oracle BI Cluster ControllerEste componente se utiliza cuando montamos entornos de alta disponibilidad en los que hay varios servidores, balanceos de cargas, mirroring, etc…
Oracle BI JavaHostPor último, este componente se encarga de manejar todo lo relativo al dibujado de gráficos y tablas en BI Presentation Server. Si alguna vez levantáis el entorno y misteriosamente no se dibujan las gráficas, aseguraos de que tenéis levantado el JavaHost.
Todos estos componentes C/C++ se controlan mediante el OPMN  que sirve para arrancar/parar/reiniciar los servicios (se invoca desde el OFM EM o desde consola de comandos)
opmn_status_screen

¿Dónde están todos estos componentes físicamente?

Una vez vista la arquitectura, uno siente curiosidad por saber donde están todas estas cosas… al final tienen que ser aplicaciones, ficheros, xml’s… ¿Dónde están?
Efectivamente, cuando instalamos OBIEE siempre terminará metiendo todo en una carpeta de nuestro sistema operativo. Dado que mi entorno de pruebas está en una máquina Windows, veremos la estructura de carpetas para este sistema. Para linux es prácticamente igual una vez nos hemos situado en las variables de entorno creadas.
Lo más importante para entender la distribución de archivos en la instalación es que existe una separación entre los binarios y los archivos de configuración de los componentes, como se puede ver en el siguiente diagrama.
OBIEE_File_locations
Como puede observarse,  la instalación separa los archivos de configuración y log de los archivos ejecutables. Además de eso, podemos observar claramente como tenemos los componentes de los que hemos estado hablando totalemente diferenciados, por una parte lo relativo a los componentes de sistema (Todo a partir de E:\OFWM\instances) y los archivos del dominio de weblogic (todo a partir de E:\OFWM\user_projects) en lo que configuración se refiere.
A pesar de que en esta última versión absolutamente todo (incluida la visualización formateada de los logs) se puede hacer desde el Enterprise Manager o la Weblogic Console no conviene perder la constumbre de tener localizados los archivos de configuración y log más importantes. Voy a recopilar en la siguiente tabla algunos de los que a mi me parecen más interesantes. Si eres administrador de un sistema BI y echas alguno en falta, por favor, pon un comentario! :)
Fichero RPD (repositorio)E:\OFMW\instances\instanceX\bifoundation\OracleBIServerComponent\coreapplication_obis1\repository
Catálogo WebE:\OFMW\instances\instanceX\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\catalog
NQSConfig.INIE:\OFMW\instances\instanceX\config\OracleBIServerComponent\coreapplication_obis1
NQServer.logE:\OFMW\instances\instance2\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1
NQQuery.logE:\OFMW\instances\instance2\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1
Presentation Server Log (sawlogX.log)E:\OFMW\instances\instance2\diagnostics\logs\OracleBIPresentationServicesComponent\coreapplication_obips1
AdminServer logsE:\OFMW\user_projects\domains\bifoundation_domain\servers\AdminServer\logs
Archivo usuarios y roles (por defecto)E:\OFMW\user_projects\domains\bifoundation_domain\config\fmwconfig\system-jazn-data.xml
Y bueno, con esto creo que podemos hacernos mejor a la idea de que partes componen la suite OBIEE 11g. Es una arquitectura complicada y se nota que ha sido creada a partir de diferentes componentes realizados con diferentes tecnologias que han tenido que acabajar encajando.

Documentación

Para documentar este artículo e inspirarme en las imágenes he acudido principalmente a dos fuentes que quiero citar:
Next
Previous
Click here for Comments

0 comentarios: