Conviviendo Oracle SOA Suite 11g con Oracle BAM 12c

Un poco de historia de Oracle BAM:

Oracle BAM ha sido un componente que ha evolucionado desde su versión 10g.

En su versión 10g, la instalación se hacía únicamente sobre Windows. Dependía en su totalidad del framework .NET; de Service Packs de Windows.

Era algo fastidioso estar dependientes de dicha tecnología de Microsoft, pero la realidad es que los clientes y nosotros mismos (los desarrolladores) lo aceptamos por las bondades que el producto ofrecía.

El hecho de poder hacer un monitoreo en tiempo real de mensajes/datos que fluyeran a través de BPEL, Oracle ESB, Oracle Service Bus, Bases de datos, colas de mensajería JMS/MQ/TIBCO, etc; era algo muy atractivo.

Recuerdo que en 10g había una herramienta cliente-servidor que era la que permitía modelar los escenarios de limpieza/transformación/agregación de los datos que ingresarías a BAM. Esta era el BAM Enterprise Link Design Studio:

image

Era una herramienta cliente-servidor basada en Windows. Una especie de herramienta de diseño ETL, que permitía ir transformando, limpiando, agregando la información para finalmente ingresarla a los Data Objects:

image

Terminabas haciendo diagramas de este estilo:

image

Esto, como ya explicaba, era en la versión 10g. En 11g dejó de existir esta utilería y además ya podías hacer la instalación sobre prácticamente cualquier sistema operativo Linux, Unix, Windows; evitando la limitante de que necesitaras un servidor aparte para usar el BAM.

El Enterprise Link dejó de existir y prácticamente tus flujos para alimentar a los Data Objects, se hacían con BPEL o bien con ODI ,según el requerimiento. Además de que se incorporó un Adapter JCA para conectarse al BAM Engine.

Lo que sí siguió sucediendo es que el navegador, forzosamente debía  ser Internet Explorer, y no cualquier versión. Tenía que ser una en particular y si tienes IE 9 ó mayor, toca usar vista de compatibilidad y demás cosas para que la interface Web de BAM funcione.

El Active Reporte, ha ido evolucionando entre 10g y 11g, pero realmente la interface Web es muy similar entre dichas versiones:

Las capacidades para crear gráficas y reportes no han cambiado mucho entre 10g y 11g, lo cual limita un poco la creación de Reportes, perfilamiento de los usuarios, etc.

Pero finalmente tenemos a 12c, que es una aplicación basada en Oracle ADF. Que su Active Data Cache está basado en tecnología como Oracle Coherence.

En realidad es un gran producto el que liberó Oracle en su versión 12c, pero tiene una limitante: lo único que puedes migrar entre 11g y 12c, son los Data Objects. Por lo que toca reescribir tus reportes, tableros, etc.

Sin embargo, en lo personal, sí recomiendo que te subas de versión a 12c. Incluso, si quieres únicamente subir de versión a BAM, es factible. Puedes tener a Oracle SOA Suite 11g apuntando a Oracle BAM 12c. El Adapter de 11g funciona para alimentar a BAM 12c.

Por lo que, tendrías que instalar un nuevo dominio con Oracle BAM 12c; migrar tus Data Objects, recrear tus reportes y cambiar la conexión del adapter, para que puedas hacerlos convivir.

Utilizar el adapter de 11g apuntando a 12c, es tan simple como cambiar estos datos:

image

Esto en el caso del SOAP Adapter.

Posteriormente, a través del icommand, podrías exportar tus DOs:

./icommand -cmd export -all -type dataobject

Una vez que tengas tus Data Objects, en la instancia de BAM 12c los puedes importar:

bamcommand -cmd import -name OldDataObject -migrate 1 -type dataobject 
-file "C:\OldDataObject.xml" -continueonerror 1
-mode update -dbusername SOAINFRA -dburl jdbc:oracle:thin:@localhost:1511:orcl

La referencia a esta documentación (bamcommand import), está aquí: https://docs.oracle.com/middleware/1213/bam/BAMUG/bam-using-commands.htm#CIHCHBHH


Con esto, podrás ver a tu Data Object en 12c:


image


De esta manera, podrás estar haciendo convivir a tu ambiente de 11g con el de 12c. Teniendo como reto, el tener que reconstruir tus tableros. Sin embargo, teniendo como ganancia, todas las bondades de Oracle BAM 12c.