Oracle BPM
BPM, acrónimo de Business Process Management, en español Gestión de Procesos de Negocio, se identifica como uno de los tópicos más escuchados en lo que respecta a tecnologías aplicadas al entorno empresarial. Constituye una filosofía que acompañada de tecnología permite gestionar de forma integral la organización, administrando mejor la carga de trabajo entre las diferentes áreas.
¿ Qué es Oracle BPM ? Es un entorno de ejecución de procesos de negocios de empresas y está compuesto de diferentes aplicaciones y servicios que pueden ser instalados y configurados en diferentes topologías a manejar diferentes escenarios, soportando diferentes usos.
Un entorno BPM es la infraestructura técnica en la cuál se ejecutan procesos de negocio. Definimos entorno BPM como todos los componentes ejecutables (aplicaciones y servicios) que trabajan juntos para permitir la ejecución de procesos de negocio.
Contenido
Infraestructura técnica
Algunos componentes deben estar siempre presente para el entorno de ejecución, mientras que otros dependen de la activación de características o requisitos externos. Oracle BPM soporta una variada cpombinación de estos componentes, que van desde muy sencillos y pequeños a toda la organización.
Los componentes que tienen que estar presentes:
- por lo menos un motor BPM con su correpondiente esquema de base de datos
- un directorio en el repositorio que contiene el esquema de base de datos
- la aplicación BPM, vista de usuario final
- la aplicación BPM, vista administrador
Los componentes opcionales:
- servidor LDAP
- más motores BPM
- un servicio de monitoreo de procesos
- múltiples áreas de trabajo de BPM
- clientes JAVA
Ejemplos de entornos Oracle BPM
Los siguientes gráficos proveen una vista de alto nivel de diferentes partes. Estos gráficos muestran 3 tipos de artefactos: cajas, puntos, y registros.
- Las cajas representan aplicaciones y servicios en el entorno.
- Los puntos representan los servicios expuestos por las aplicaciones (cajas).
- Las flechas representan una conexion entre una aplicación y un servicio expuesto por otro.
Ejemplo 1: ilustra la arquitectura generada con el wizard de Oracle BPM Enterprise Standalone
Ejemplo 2: ilustra la arquitectura generada con el wizard de Oracle BPM Enterprise for WebLogic
Ejemplo 3: entorno clusterizado a través de Oracle BPM Enterprise for WebLogic
Representea una topología escalable, típicamente usada en instalaciones grandes.
Componentes de un entorno BPM
Esta sección enfoca sobre las cajas presentadas en los gráficos de arriba. Las cajas representan la ejecución de aplicaciones como parte del entorno. Consideramos aplicaciones a procesos Java standalone, servidores web y de aplicaciones, aplicaciones web, aplicaciones JEE (EARs), servidores de base de datos, servidores LDAP.
Desde esta perspectiva, los componentes de un entorno BPM se pueden dividir en 3 grupos: BPM Core, BPM Clients y servicios de soporte. Cada entorno BPM contendrá componenetes en cada uno de estos grupos.
BPM Core
Hay 2 componentes principales: el motor BPM y el servicio de monitoreo de procesos.
Motor BPM
Es un componente que ejecuta procesos de negocio. El motor BPM es el elemento core de cada entorno BPM desde diferentes puntos de vista:
- desde un punto de vista lógico, es el responsable de crear, almacenar y mover alrededor de instancias de procesos desplegados en él
- desde un punto de vista de ejecución. un motor BPM es un servicio que ejecuta tareas de procesos que son definidas por procesos de BPM como actividades de procesos. Las ejecuciones pueden ser disparadas externamente por clientes o internamentes en el 'background'
- desde un punto de vista físico, el motor de BPM toma diferentes formas dependiendo de los productos seleccionados. Es un proceso java standalone en el caso de un enterprise standalone. Es una aplicación JEE en el caso de enterprise para weblogic y websphere
Hay muchos parámetros de configuración con los cuales adaptar el comportamiento de motores BPM, para cosas como hilos, puertos, conexiones a base de datos.
¿ Dónde definimos el motor BPM ?
Los motores BPM son creados en un directorio BPM. Esto es un repositorio metadata con todas las definiciones, incluyendo motores, organización de procesos y recursos. Cuando un motor comienza a ejecutar, este lee los parámetros del directorio BPM, y los procesos desplegados. Una vez que el motor es creado, este representa la definición lógica.
Motor BPM como una aplicación J2EE
El motor BPM J2EE ejecuta como una aplicación ear desplegada en un contenedor J2EE (WebLogic o WebSphere). El ear contiene EJBs, MDBs y Servlets que juntos conforman el motor BPM. Un archivo ear debe ser generado desde el proceso BPM administrador para cada motor BPM definido. Este archivo ear está desplegado en un servidor J2EE o cluster. Desplegando en un cluster, muchos servidores ejecutan motores BPM concurrentemente. Algún cluster puede responder el pedido de un proceso desplegado en el motor BPM.
Motor BPM como un proceso Java
El motor BPM sin dependencias ejectuta como un proceso java que se realiza en segundo plano y no requiere J2EE o contenedor web. Solamente un proceso Java ejecuta el motor, lo que se llama motor activo. Uno o más procesos Java pueden permanecer en modo pausa como soporte. Cuando el motor activo deja de responder uno de los motores pasivos toma el rol de motor activo. El motor BPM sin dependencias tiene sus propios hilos, conexiones, gestión de pedidos, y es altamente configurable.