Inicio > Business Analytics > Cómo integrar fácilmente BI Publisher con nuestras aplicaciones

Cómo integrar fácilmente BI Publisher con nuestras aplicaciones

BI PublisherHace ya tiempo que Oracle eligió a BI Publisher (BIP) como motor de reporting de la compañía y lo ha ido integrando en sus aplicaciones y/o sustituyendo a otras aplicaciones de reporting (EBS, OBI EE, JDE, …). En ocasiones con integraciones más elaboradas y ad-hoc como en el caso de OBIEE (bidireccional: podemos publicar informes BIP en cuadros de mando de OBI y también podemos utilizar OBI como orígen de datos para BIP) o de manera más “embedded”, como con algunas aplicaciones estándard (la aplicación invoca a BIP, que ejectura el informe y genera un fichero de salida -PDF u otro, según convenga- para su posterior reprocesado/presentación por parte de la aplicación).

Hoy vamos a ver cómo podemos integrar fácilmente informes BIP con nuestras aplicaciones y/o desarrollos a medida, incluso también, por qué no, con aplicaciones estándard que permitan invocar una URL externa. En primer lugar vamos a clarificar el concepto “fácil”. Uno de los factores críticos la hora de integrar herramientas es la seguridad: ¿cómo hacer para que una vez autenticado en la aplicación A, el usuario tenga los mismos privilegios en la aplicación B, o que no tenga que volverse a autenticar al navegar entra A y B?

En realidad sería más apropiado hablar de integración “simplificada”, puesto que explicaremos cómo invocar un informe BIP vía URL sin que éste solicite autenticación, obviando  problemáticas importantes, como que sea necesario aplicar restricciones sobre los datos accedidos en función del usuario, o más aún, que cualquiera que haya obtenido la URL de un informe pueda ejecutarlo. Ahora bien, si necesitamos una solución fácil para publicar informes operativos, sin valor estratégico ni confidenciales, dentro de un entorno LAN que ofrezca una mínima seguridad, esta es una manera válida.

BIP tiene una característica llamada “Acceso para invitados” (Guest Access) que permite ejecutar informes a usuarios no autenticados.

Para poder utilizarla, TODOS los elementos que participan en los informes a publicar, deben estar bajo una misma carpeta del catálogo de BIP, que a su vez, estará bajo las carpetas compartidas del catálogo, que será la que haremos accesible a los invitados (si el desarrollo ya existe, será necesario reasignar el data source tras mover/copiar los informes).

Una vez preparados los informes seguiremos los siguientes pasos:

  1.  Configurar el “Guest Access” desde la página de administración de BIP:

    Admin > Security Center > Security Configuration

    BIP Security Options
    Activaremos el flag “Allow” y seleccionaremos la carpeta del catálogo donde hemos ubicado los informes a publicar.
    Navegaremos a la página de administración de orígenes de datos de BIP.

  2. Administration > Data Sources >  JDBC Connections

    Editaremos cada uno de los datasources que participen en los informes a publicar, y en el apartado de seguridad, activaremos el checkbox “Allow Guest Access”

    BIP Datasource Security Options

  3. Obtendremos la URL de cada uno de los informes a publicar.

    La manera más rápida de obtenerlo es ejecutar el informe y desplegar las opciones a la derecha, donde encontraremos “Compartir Enlace Informe”

    Opciones de enlaces del informe

  4. Reiniciamos BIP

  5. Según cada caso particular, añadiremos la URL previamente obtenida al menú de la aplicación con la que vamos a integrar BIP. En este punto, es interesante tener en cuenta todos los parámetros de invocación que ofrece BIP y que nos permitirán personalizar su comportamiento al ejecutar el informe, en especial, en lo referente al modo de visualización (mostrar los parámetros, la cabecera de BIP, URL, parámetros que puedan haber sido seleccionados en la aplicación con la que se integra …) para construir la URL definitiva.

¡Esperamos que os sea útil!

  1. Guillermo Vera
    septiembre 11, 2014 en 16:05

    Sr Massegu, Tengo un problema al querer cambiar el datasource de mi reporte desde Java usando webservices. No se si pudieras ayudarme a encontrar informacion acerca del uso de webservices desde java. Ya mando un reporte desde Java, pero no puedo cambiar el JDBC dinamicamente.

    • Joan Massegú
      octubre 13, 2014 en 10:27

      Buenos días Guillermo,

      Podemos intentar ayudarte, pero necesitaríamos que nos dieras información más concreta.
      Principalmente sobre el código java utilizado para invocar el report, mensajes de error recibidos, y la configuración de BIP, sobretodo en lo relacionado a la seguridad, tanto del report ejecutado como de los datasources.

      Inicialmente, creo que que con el fichero: /Admin/Configuration/xdo.cfg
      y el código java utilizado junto con los mensajes de error recibidos tenemos suficiente para empezar.
      Y comenta por favor también la seguridad aplicada (guest, como descrita en el post, SSO, …) .

      Atentamente,
      Joan.

  2. María
    marzo 24, 2015 en 12:44

    Hola Joan,

    Creía que para poder activar el acceso Guest era necesario que BIP tuviera su catálogo propio (no el compartido con OBI).
    Según tu post, entiendo que se podría crear una carpeta en el catálogo compartido y configurar el acceso Invitado sólo para esta carpeta?
    Si es así, me podrías especificar los pasos detallados para poder configurarlo como dices?

    Por otra parte, si tuviéramos que utilizar una llamada con autenticación de usuario, qué solución usarías? Utilizarías los servicios web de BIP?

    Muchas gracias,

    • Joan Massegú
      marzo 24, 2015 en 23:02

      Hola María,
      en los pasos 1 y 2 del post tienes las instrucciones de configuración necesarias para habilitar el acceso guest. Ten en cuenta pero, que tras habilitarlo no compartes únicamente esa carpeta, sino también todas sus subcarpetas.
      Recuerda además, que el datamodel (y todo lo que el informe pueda necesitar) debe estar bajo la carpeta compartida para guest.
      En cuanto a la autenticación, coincido contigo en hacer la llamada vía WS.

  3. Jorge Luis
    marzo 24, 2015 en 20:44

    Tengo un problema que al tratar de habilitar el check de allow guest folder no me sale para darle clic.

    • Joan Massegú
      marzo 24, 2015 en 23:06

      Hola Jorge Luis,
      no acabo de entender tu problema.
      Si se trata de que no te aparece el check-box, o no es modificable … ¿quizá sea un problema de privilegios? Debes hacerlo con un usuario administrador.
      Si ya eres administrador … quizá prueba con otro navegador.
      Espero haber sido de ayuda …

      • María
        marzo 26, 2015 en 10:23

        Hola a los dos,

        Jorge Luis, creo que el check-box de permitir el acceso invitado aparece deshabilitado cuando BIP y OBIEE comparten el catálogo. En el siguiente LINK podeis encontrar una nota que dice lo siguiente:

        Note that Guest access is not supported if you are using a shared catalog with Oracle Business Intelligence Enterprise Edition.

        http://docs.oracle.com/cd/E23943_01/bi.1111/e22255/other_security.htm#BIPAD199

        Es por eso Joan, que te formulaba la pregunta del principio, entiendo que BIP necesita su propio catálogo (no el compartido con OBIEE) para poder habilitar el acceso Invitado. Cambiando el catálogo de BIP a tipo “Oracle BI Publisher – File System” conseguimos poder habilitarlo, pero se pierde la integración del catálogo desde OBIEE a BIP.

        María

  4. Jorge Luis
    marzo 25, 2015 en 14:41

    Hola,
    Me referia al check-box que dice allow guest access, me sale desabilitado, soy usuario administrador y ademas de eso ya use otro navegador 😦

    • Carlos
      mayo 6, 2015 en 13:44

      Hola buen día. Tengo el mismo inconveniente. Me puedes dar guía de como lo resolviste.

      • Joan Massegú
        mayo 6, 2015 en 14:49

        Hola Carlos,

        no había dicho nada más porqué María respondió detalladamente.
        Es una característica del producto probablemente relacionada con que el catálogo esté unificado.
        Por algún motivo, en esta situación el producto no permite el Guest Access.

        Si te sirve de ayuda, una alternativa al uso de Guest Access es la invocación de los reports de BIP via WS.

        Joan.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: