Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

1. 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:

Image RemovedImage Added

Presionar 

En el cuadro de texto pegar las siguientes expresiones:

declare namespace dc='http://purl.org/dc/terms';
declare namespace bn="
http://ns.ideasoft.biz/schemas/o3/metadata/BusinessNomenclature/2012-03";
declare namespace vd="
http://ns.ideasoft.biz/o3bi/schema/ViewDefinition/2011-01";
declare namespace sec="
http://ns.ideasoft.biz/o3bi/schema/Security/2011-01";
declare namespace cd="
http://ns.ideasoft.biz/o3bi/schema/CubeDefinition/2011-01";

let $roleName:="Administrators"
return /cd:cubeDefinition[.//cd:accessRestrictions/cd:roleName=$roleName]/cd:cubeName

Presionar Submit

xQuery

El resultado se muestra en el panel inferior:

Image Added


2. xQuery para obtener las expresiones calculadas de un servidor y para cada expresión, en qué vistas están aplicadas.

Code Block
languagejava
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


3. xQuery para obtener las restricciones aplicadas sobre vistas de cubos:

Code Block
languagejava
declare namespace cd="http://ns.ideasoft.biz/o3bi/schema/CubeDefinition/2011-01";
 
/cd:cubeDefinition[not(empty(cd:accessRestrictions/cd:profileName/text()))]