Interfaz de emisor de sucesos REST de IBM Business Monitor (Common Base Events) (en desuso)

El servicio de emisor de sucesos REST de IBM® Business Monitor permite a las aplicaciones emitir sucesos sin tener que codificar o generar Common Base Events directamente. El usuario proporciona el XML de suceso, y el servicio del emisor de sucesos lo recibe y lo envuelve en un Common Base Event para que IBM Business Monitor pueda procesarlo. Puede utilizar el emisor para enviar sucesos de estilo XSD.

El tipo XSD es una definición de esquema XML genérica. La información empresarial definida por la definición XSD se recibe en la API y se coloca en la ranura xs:any de un suceso Common Base Event y se reenvía a IBM Business Monitor. Las definiciones de componentes de sucesos que se crean en un modelo de supervisión para procesar estos sucesos siempre empiezan por cbe:CommonBaseEvent y navegan hasta el contenido que se coloca en la ranura xs:any de IBM Business Monitor. Para obtener un enlace directo con todos los recursos y métodos, consulte resumen breve.

URI de servicio de emisor de sucesos

Para una instalación segura, el formato del URI de servicio de emisor de sucesos es:
https://{hostname}:{port}(WC_defaulthost_secure port)/rest/bpm/events
Para una instalación sin seguridad habilitada, el formato del URI de servicio de emisor de sucesos es:
http://{hostname}:{port}(WC_defaulthost port)/rest/bpm/events
donde:
  • http://{host}:{port} contiene la dirección y el puerto del host.
Cuando se despliega para una instalación autónoma, el servicio de emisor de sucesos REST se configura del modo siguiente:
  • Referencia de recursos - com/ibm/monitor/EmitterFactoryForREST
  • Raíz de contexto - rest/bpm/events
  • Nombre de aplicación - IBM_WBM_EMITTER_SERVICES
  • Seguridad de rol para la correlación de usuario/grupo - Todos los usuarios autenticados
  • Nombre JNDI de recurso URL - URL_predeterminado_supervisor/emisor
  • Validación de Common Base Event - false
  • Eliminación de cabecera XML - true
donde:
  • Referencia de recursos contiene el nombre JNDI de la fábrica de emisores de sucesos síncronos de CEI (Common Event Infrastructure) configurada
  • Raíz de contexto es la raíz de contexto predeterminada del servicio de emisor de sucesos.
  • Nombre de aplicación es el nombre de la aplicación del servicio de emisor de sucesos.
  • Seguridad de rol para la correlación de usuario/grupo es la correlación de seguridad predeterminada para el servicio de emisor de sucesos.
  • Nombre JNDI de recurso URL es el nombre JNDI del emisor de sucesos IBM Business Monitor. Puede buscar el nombre JNDI monitor/emitter/defaultURL en la aplicación del emisor para invocar el servicio del emisor en lugar de especificar el URL en el código de aplicación del emisor.
  • Validación de Common Base Event se puede configurar para validar el contenido XML de los sucesos antes de emitirlos al servidor. Está inhabilitado de forma predeterminada y establecido en false. Para obtener más información, consulte "Validación de Common Base Events" en los enlaces relacionados.
  • Eliminación de cabecera XML elimina las cabeceras XML del suceso XML automáticamente porque el emisor de sucesos no puede procesar XML de sucesos con cabeceras XML. Está habilitado de forma predeterminada y establecido en true. Para obtener más información, consulte "Eliminación de cabecera XML" en los enlaces relacionados.

Puede desplegar varias copias del archivo EAR si desea utilizar más de un emisor. El archivo EmitterServices.ear está disponible en el directorio raíz_was/installableApps.wbm. Puede desplegar varias copias del servicio manualmente o utilizar el asistente de configuración. Si despliega varias copias, deberá proporcionar un nombre de aplicación exclusivo y una raíz de contexto exclusiva para cada copia, y deberá modificar la referencia de recursos de modo que contenga el nombre JNDI del emisor configurado que desee utilizar.

Por ejemplo, puede desplegar un segundo archivo EAR configurado para utilizar el emisor predeterminado CEI. Durante el despliegue puede modificar los valores siguientes:
  • Referencia de recursos - com/ibm/events/configuration/emitter/Default
  • Raíz de contexto - cei/rest/bpm/events
  • Nombre de aplicación - IBM_EMITTER_REST_SERVICES_CEI
  • Seguridad de rol para la correlación de usuario/grupo - Todos los usuarios autenticados
Puede desplegar otro archivo EAR configurado para utilizar un emisor asíncrono. Durante el despliegue puede modificar los valores siguientes:
  • Referencia de recursos - com/ibm/events/configuration/emitter/asynch
  • Raíz de contexto - ceiasynch/rest/bpm/events
  • Nombre de aplicación - IBM_EMITTER_REST_SERVICES_CEIASYNCH
  • Seguridad de rol para la correlación de usuario/grupo - Todos los usuarios autenticados

En un entorno de despliegue de red (ND), si el archivo EmitterServices.ear está instalado en un servidor o clúster distinto de la fábrica de emisores CEI, deberá establecer la entrada de recurso RESTEmitterFactory de modo que señale a la ubicación correcta de la fábrica de emisores. Puede configurar la fábrica de emisores para cada emisor durante el despliegue, o puede modificar las referencias de recursos en la aplicación IBM_WBM_REST_EMITTER_SERVICE. Puede realizar estos cambios desde la consola administrativa. Pulse Aplicaciones > Tipos de aplicación > WebSphere Enterprise Applications y pulse IBM_WBM_EMITTER_REST_SERVICES. En Referencias, pulse Referencias de recurso y realice los cambios. Guarde los cambios y reinicie la aplicación.

Si no utiliza el asistente de configuración para instalar los servicios de emisor, debe realizar algunos pasos adicionales en un entorno seguro. Tras desplegar EmitterServices.ear, deberá asignar la correlación de roles de seguridad apropiada. Para realizar los cambios, en la consola administrativa, pulse Aplicaciones > Tipos de aplicación > WebSphere Enterprise Applications y pulse IBM_WBM_EMITTER_REST_SERVICES. En Propiedades detalladas, pulse Seguridad de rol para la correlación de usuario/grupo.

Tipos de contenido

Los datos que se envían o devuelven en los métodos HTTP mencionados deben tener uno de los tipos de contenido siguientes: ([RFC2045][([RFC2046]
  • JSON ("Content-Type: application/json") se utiliza para el formato detallado de cada uno de los objetos devueltos. Consulte las especificaciones del esquema JSON ([JSON Schema] para cada operación individual.
  • XML ("Content-Type: text/xml") se utiliza para proporcionar la carga útil empresarial de entrada cuando desee emitir un solo suceso a IBM Business Monitor.
  • XML ("Content-Type: application/atom+xml") se utiliza para proporcionar la carga útil empresarial cuando se quieren procesar varios sucesos por lotes.

Utilización del tipo de contenido HTTP en solicitudes REST

Cuando un cliente envía una solicitud HTTP con carga útil, se debe establecer correctamente la cabecera del tipo de contenido HTTP para describir el formato de carga útil. Por tanto, los clientes deben ser explícitos y establecer el formato en text/xml o application/atom+xml, en función de si envían una carga útil individual directamente en el cuerpo de la solicitud HTTP o varias cargas útiles de suceso.

Para acceder al URI, utilice la dirección web siguiente desde la aplicación del emisor (o puede utilizar el URL configurado para acceder a la dirección web, como se explica en el párrafo siguiente):
http://servidor_supervisión:puerto_servidor_supervisión/rest/bpm/events
donde:
  • servidor_supervisión es el nombre de host del servidor de IBM Business Monitor.
  • puerto_servidor_supervisión es el puerto en el que se ejecuta el servlet REST.
Asimismo, IBM Business Monitor configura un URL con un nombre JNDI de monitor/emitter/defaultURL para una instalación autónoma. Para una instalación segura, este URL especifica la dirección predeterminada siguiente:
https://servidor_supervisión:puerto_servidor_supervisión/rest/bpm/events
Para una instalación sin la seguridad habilitada, este URL especifica la dirección predeterminada siguiente:
http://servidor_supervisión:puerto_servidor_supervisión/rest/bpm/events 

Puede buscar el URL JNDI en la aplicación del emisor para acceder a la dirección en la que está disponible el servicio del emisor. Este método de buscar la dirección web del servicio protege a la aplicación del emisor de los cambios en la dirección web. Se pueden añadir definiciones de URL a medida que se despliegan más copias del servicio de sucesos.

Tratamiento de errores

Para los errores reconocidos durante el proceso de una solicitud REST de IBM Business Monitor, se devuelve un código de estado HTTP apropiado ([RFC2616]) al cliente que efectúa la llamada (por ejemplo, 200 OK o 404 No encontrado; consulte las operaciones individuales para obtener detalles). Se proporciona información adicional según el tipo de error. Para las excepciones de IBM Business Monitor, se devuelve el correspondiente número de error y mensaje de error de IBM Business Monitor. Para los errores graves (código de estado HTTP 500 Error de servidor interno), se devuelven detalles adicionales del programador. Si es necesario, se pueden transmitir al personal de servicio de IBM.

Si se encuentran errores durante el proceso, IBM Business Monitor descartará el suceso, y el usuario deberá volver a enviarlo tras realizar las correcciones necesarias indicadas en la información de error que se devuelve. Puede plantearse utilizar el emisor de sucesos JMS, que deriva los sucesos con anomalía a una cola de errores cuando se encuentran errores durante la emisión de sucesos. Los sucesos no se descartan y pueden recuperarse para el procesamiento en la aplicación que emite los sucesos. Para obtener más información, consulte "Gestión de sucesos que el emisor de sucesos JMS no ha emitido" en los enlaces relacionados.

Referencias

Nota: El uso de CEI (Common Event Infrastructure) y CBE (Common Base Events) está en desuso en IBM Business Monitor V8.5.5 y se ha sustituido por DEF (Dynamic Event Framework). Para sucesos creados para IBM Business Monitor V8.5.5 y modelos de supervisión posteriores, el emisor de sucesos REST envía los sucesos exactamente como se reciben a la aplicación de modelo de supervisión (consulte el tema "Emisor de sucesos REST").