La metadata de artefactos de O3 se encuentra almacenada en eXist-DB, que se ubica dentro de la instalación de O3BI en el directorio /exist-db. Aquí se encuentra la definición de vistas, la relación entre cubos y roles asociados, las expresiones calculadas que se usan en vistas, restricciones aplicadas sobre cubos, programaciones, etc.
Dado que eXist-DB es una base de datos XML, se debe utilizar xQuerys para obtener información relevante respecto a los mencionados artefactos y sus relaciones.
A continuación se explica cómo establecer conexión con la base eXist de la instalación de O3BI. Luego se presentan algunos ejemplos.
¿Cómo se establece conexión con eXist-DB?
En la instalación de O3BI se tiene un cliente para eXist, en <instalación o3bi>\bat\exist-db-client.bat, o en <instalación o3bi>/sh/exist-db-client.sh según el sistema operativo.
Los parámetros de conexión a utilizar son los siguientes (usuario admin sin password, cambiar puerto 8080 por 8088):
Para establecer conexión:
Después de presionar Connect:
Según la consulta a realizar debemos navegar dentro de la estructura de recursos (click en los elementos de la columna Resources).
Ejemplos
- xQuery para obtener los cubos de un rol.
Una vez establecida la conexión con la base eXist, moverse hasta o3bi/domains/default/current/runtime:
- xQuery para obtener las expresiones calculadas de un servidor y para cada expresión, en qué vistas están aplicadas.
declare namespace vd="http://ns.ideasoft.biz/o3bi/schema/ViewDefinition/2011-01"; for $i in distinct-values(/vd:viewDefinition//dataComponents/@name) return <expression><name>{$i}</name><views>{/vd:viewDefinition[.//dataComponents/@name=$i]/vd:viewLabel}</views></expression>
El resultado es un archivo .xml
- xQuery para obtener las restricciones aplicadas sobre vistas de cubos:
declare namespace cd="http://ns.ideasoft.biz/o3bi/schema/CubeDefinition/2011-01"; /cd:cubeDefinition[not(empty(cd:accessRestrictions/cd:profileName/text()))]