Primero entender que el BAM (Bussines Activity Monitor), como lo dice su nombre tiene por objetivo del monitoreo activo (osea en linea) de actividad de negocio, en este sentido el BAM es genérico puede registrar la actividad que tu definas, por eso el proceso parte por la definición de la estructura de datos que se utilizará para registrar dicha información denominado "Objeto de datos" (Data Object).
A continuación los pasos que seguiremos:
- Definición de Objeto de Datos en BAM (Architect)
- Definición de Reportes Iniciales en BAM (Active Studio)
- Exposición de Servicio de Negocio en OSB, para Insertar información en el Data Object definido en BAM.
Esta acción se realiza en la opción denominada Architect de App Web del BAM por ejemplo:
http://<BAM-SERVER>:9001/OracleBAM
Seleccionamos Architect

presionar enlace Crear Objeto de Datos e ingresar los campos que se quieren almacenar, la definición de esta estructura de datos es clave y debe estar acorde a lo objetivos de monitoreo fijados.
Guardar los cambios realizados en el "Objeto de Datos", pensar esta estructura como instancias de un evento, la sumarizacion o funciones agregadas se definirán en los informes y no aquí.
Nota: Una restriccion notable es que los campos fecha/hora NO almacenan milésimas de segundo.
Exposición de Servicio de Negocio en OSB
En el siguiente diagrama vemos como ínter actuar con el "objeto de datos" definido en el BAM desde el OSB, para eso utilizamos el BAM Adapter puente este nos simplifica la exposición como servicio de las operaciones sobre el "objeto de datos" este BAM Adapter es un adaptador que encontraremos instalado en la consola de weblogic, los pasos a seguir serán:
- Configurar el BAM Adapter para que se comunique con nuestro BAM
- Extraer el Archivo JCA, WSDL y Definiciones XSD para ínter actuar con las operaciones para manipular nuestro objeto de datos
- Generar un Servicio de Negocio en el OSB para que utilice las definiciones obtenidas en el paso anterior y lo podamos ocupar desde cualquier Servicio Proxy.
- Incorporar en un servicio Proxy la llamada a nuestro Servicio de Negocio mediante Nodo "publish" ya que es un servicio "One Way".
![]() |
| Arquitectura de Interacción y uso de BAM en OSB |
Paso 1 - Configurar el BAM Adapter
Esto lo realizamos mediante la consola Weblogic, aquí entramos en la configuración del Adaptador "BAM Adapter" en los "pool de conexiones salientes", para llegar a esta opción seguir los pasos indicados en la siguiente captura de pantalla:
Al seleccionar el "pool de conexiones" que queremos configurar (punto 5) veremos los campos que es necesario configurar:
- HostName, nombre del host donde reside el BAM
- InstanceName, use nombre propuesto por omisión
- UserName, usuario en el servidor BAM con permiso para ejecutar operaciones en nuestro caso usuario de Administración.
- Password, contraseña del usuario
- PortNumber, puerto de comunicación con soporte para protocolo t3, disponible en el servidor Weblogic en donde se encuentra nuestro BAM
Paso 2 - Extracción de archivos JCA,WSDL y XSD
Esto por simplicidad lo realizaremos desde JDeveloper, los pasos son:
- Agregar el adaptador "BAM Adapter" a una composición dentro de un proyecto de Composición SOA
- Seguir Wizard para extraer interfaz para Insertar datos en nuestro "Objeto de Datos"
- Sacar Archivos jca,wsdl y xsd generados
![]() |
Agregar el adaptador "BAM Adapter" a una composición dentro de un proyecto de Composición SOA
|
El Wizard se inicia cuando soltamos el BAM Adapter sobre la composición
![]() |
| Inicio del Wizard |
![]() |
| Nombre del servicio en la Composición |
![]() |
| Selección de Objeto de Datos - Buscar Conexión |
![]() |
| Selección de Objeto de Datos - Crear Conexión |
![]() |
| Crear Conexión - Nombre de Conexión |
![]() |
| Crear Conexión - Datos de Conexión |
![]() |
| Crear Conexión - Prueba de Conexión |
![]() |
| Selección de Objeto de Datos - Selección |
![]() |
| Wizard - Selección de Operación |
![]() |
| Wizard - Nombre JNDI del Pool de Conexión Saliente del BAM Adapter |
![]() |
| Resultado Wizard - en rojo los archivos que necesitamos |
![]() |
| Estructura de directorios dentro del Proyecto |
![]() |
| Opción de Menú para generar servicio a partir de JCA |
![]() |
| Estructura de Proyecto Resultado |
![]() |
| Estructura de directorio corregida( moviendo wsdl) |
Paso 4 - Invocar al servicio de Negocio desde el OSB
Para efectos de este explicación nos basaremos en un "Proxy Service" existente el que es expuesto como un WebService que internamente llama a un servicio de negocio para realizar una tarea en base al resultado del servicio de negocio prepara su respuesta, este Proxy Service le agregaremos funcionalidad para que registre en el BAM cada vez que este sea invocado, en la figura se indican los puntos a intervenir.
Intervención en flujo para registrar en BAM:
paso 1, asignación de estructura y datos a variable bamData
paso 2, remplazo de variable body por el contenido de bamData
paso 3, Publish, esto es un Call de tipo One Way a Servicio de Negocio que preparamos en pasos anteriores del articulo.
























He encontrado buenas entradas en tu blog.
ResponderEliminarTe animo a seguir compartiendo con todos nosotros tus conocimientos en todo lo relacionado con el mundo SOA.
La verdad es que para los iniciados en este mundillo este tipo de howtos ayudan una barbaridad.
Muchas gracias!
Gracias Angel, me alegro mucho tu comentario feliz año el 2014 lo comenzaré compartiendo temas relacionados con Cloud Computing donde actualmente me desempeño
EliminarDisculpa si yo no soy desarrollador sino solo conozco la parte de Middleware en weblogic, como puedo crear reportes en el bam sin tener jdeveloper instalado?
ResponderEliminarel BAM de oracle tiene una consola web para realizar "dashboards", este normalmente esta instalado en http://:/OracleBAM/
EliminarTe comparto un link de Oracle donde explican como usarlo
http://docs.oracle.com/cd/E21764_01/integration.1111/e10230/getting_started.htm#CIHIHEAA
Excelente Blog!!, es muy practico.. Saludos.
ResponderEliminarTrabajo con productos Oracle, Weblogic Server, OSB, OER y SOA Suite y muy interesantes tus post, voy a compartirlos con la gente que recién empieza a modo de inducción y como reforzamiento para todos recién estoy empezando a ver BAM.
ResponderEliminarTotalmente recomendado el Blog, sigue así compartiendo conocimiento.