Your BPM & Workflow software
in the Cloud with Aurazure

AuraPortal Your BPM & Workflow software

Your BPM & Workflow software in the Cloud with #AuraPortalCloud
27 marzo 2012

La integración del ERP en el BPMS

Este post también está disponible en: Inglés

El funcionamiento de una empresa queda definido por sus Actividades, siendo los Procesos la secuencia de Actividades que se realizan para conseguir un determinado fin. Siendo así que el alcance de un BPMS (que es el software empresarial para diseñar y ejecutar la automatización de los procesos) cubre todas las actividades de una empresa ¿dónde encajan el resto de aplicaciones que la empresa utiliza?

En primer lugar hay que entender que la forma de trabajar con BPMS es mucho más efectiva que la que la tradicional por funciones que se ha utilizado hasta ahora.

Con un BPMS estas actividades dentro de los Procesos son realizadas por personas (Tareas Personales), pero hay algunas (en realidad, muchas) que están perfectamente definidas y son lo suficientemente repetitivas para su automatización mediante Tareas de Sistema, que son ejecutadas directamente por BPMS mediante los Motores de los Procesos sin intervención humana. Por supuesto, cuantas más actividades puedan dejarse al control de mecanismos automáticos, mayor reducción de tiempos y costes se obtiene y menos posibilidades de error.

Y estas automatizaciones también alcanzan a las Tareas Personales. Cada usuario recibe sus tareas asignadas, en una mesa de trabajo que incorpora todos los elementos de gestión, organización y control de los trabajos que debe realizar.

Así pues, la manara de trabajar con un BPMS simplifica y optimiza sustancialmente los trabajos, pero además, proporciona un control exhaustivo mediante sus herramientas de Inteligencia de Procesos: BAM (Business Activity Monitoring), BI (Business Intelligence), Cuadro de Mandos, KPIs (Key Performance Indicators), etc.

En segundo lugar hay que tener en cuenta que las empresas en funcionamiento ya disponen de unas aplicaciones con las que están trabajando, y de las que, en su mayor parte, no pueden prescindir.

Puestas así las cosas, la fórmula idónea es integrar estas aplicaciones en el BPMS para poder realizar la mayor cantidad de trabajos posibles desde BPMS. De esta forma, cuando un determinado evento ponga en marcha un proceso, las acciones a realizar hasta su completa resolución se irán realizando de forma automática (Tareas de Sistema) o manual (Tareas Personales) incluidas las que correspondan a los inputs y consultas del resto de aplicaciones.

Por ejemplo, en una tarea en la que para tomar una decisión interesa consultar unos datos contables (contenidos en una aplicación financiera), estos se encontrarán allí mismo sin necesidad de ir a buscarlos. O bien, si un cliente reclama (desde su propia oficina) que le hemos cobrado de más, el propio BPMS comprobaría si es correcta su solicitud (con los datos del ERP) y, o bien le enviaría una notificación con los detalles del porqué no tiene razón, o bien realizaría las acciones de corrección sobre el ERP: abono contable, orden de pago al banco, etc. así como otras acciones como notificación al cliente, creación automática de una No Conformidad de Calidad, etc. En este caso, el proceso completo se solucionaría en segundos y sin intervención humana, contando con los datos de las aplicaciones integradas.

Un Ejemplo. Caso Real de Integración

En el siguiente esquema se muestra un caso real de integración con diversas áreas de una empresa. Se trata de un proceso completo de Preventa, Venta, Compra, Entrega y Facturación de productos a clientes. Veremos 10 puntos de integración, numerados del 1 al 10, señalados con un círculo azul con el número rojo dentro.

1. Servicio Importador de Datos: Se trata de un servicio Windows que realiza importaciones de datos desde programas externos hacia BPMS. Por un lado, el Servicio Importador se conecta con ODBC a la base de datos externa, y por otro a BPMS a través de Web Services.

En este ejemplo se importan las cuentas de clientes desde el ERP hacia BPMS.

2. Web Services (SOA): Utilización de Web Services para integración SOA (Service Oriented Architecture) con aplicaciones externas.

En este ejemplo, cuando desde el ERP un usuario crea una ‘Preventa’, automáticamente se inicia un Proceso en BPMS invocando el Web Service diseñado a propósito para su Mensaje de Inicio.

3. AuraPortal Adapters Server: Con esta utilidad, desde los procesos se pueden consultar o modificar datos alojados en Bases de Datos externas (ERP, CRM, Etc.), sin necesidad de programación.

En este ejemplo, una vez el SubProceso Preventa ha concluido, una compuerta (DX.82) ha de valorar si el saldo de este cliente es deudor o no. Para ello, a través de AuraPortal Adapters Server, se consulta el dato en la base de datos del ERP y según sea el valor obtenido se dirigirá la corriente en un sentido u otro.

4. AuraPortal Adapters Server: Además de la funcionalidad descrita en el punto anterior, donde la Compuerta utiliza Adapters Server para consultar datos en un programa externo, también es posible utilizar Adapters Server para mostrar datos del programa externo en un Formulario de Tarea Personal del proceso.

En este ejemplo, cuando el cliente tiene saldo deudor, llega una Tarea Personal a un empleado responsable para que autorice o rechace la venta. Para tomar la decisión correcta, cuando este empleado abra la tarea TP.124 (Autorización Venta?), podrá ver la lista de facturas pendientes de pago del cliente, consulta que se realizará automáticamente a través de Adapters Server al ERP.

5. Tarea de Sistema de Tipo Notificación (e-Mail): BPMS dispone de tareas de Sistema para realizar acciones de forma automática, sin intervención de usuarios. Una de ellas puede ser el envío de notificaciones a través de correos electrónicos (e-Mail) a usuarios que no tienen acceso a BPMS (usuarios externos).

En este ejemplo, si el cliente tenía saldo deudor y no fue autorizada la venta en la Tarea Personal TP.124 (Autorización Venta?), una Tarea de Sistema envía automáticamente un Email al cliente notificándole la anulación de su pedido.

6. AuraPortal Adapters Server: De forma parecida al punto 3, cuando la Venta ha sido autorizada, una compuerta necesita saber si hay Stock del producto vendido. Para ello, a través de AuraPortal Adapters Server se comprueba si hay stock, consultándolo en el ERP, y así se dirige la corriente del workflow hacia la entrega de material (TP.146, Entrega Material a Cliente) o hacia la realización de una compra (TS, IM de Proceso de Compras).

7. Tarea de Sistema de Tipo Desviador (Entre Procesos): A través de una Tarea de Sistema de Tipo Desviador (Entre Procesos), desde un Proceso se puede desviar la corriente a otro Proceso para, por ejemplo, iniciarlo.

En este ejemplo, desde una Tarea de Sistema del Proceso principal, se inicia un Proceso de Compra. El Proceso principal se queda detenido en un Evento de Mensaje Intermedio (EM), en espera de que el Proceso de Compra finalice.

8. Tarea de Sistema de Tipo Invocador (De Web Services): A través de una Tarea de Sistema se pueden invocar Web Services externos.

En este ejemplo, desde una Tarea de Sistema (TS.33, TS – Invocar WS para comprar a Proveedor) el Proceso de compras realiza el pedido al proveedor invocando sus Web Services.

9. Tarea de Sistema de Tipo Desviador (Entre Procesos): A través de una Tarea de Sistema de Tipo Desviador (Entre Procesos), además de iniciar procesos como ya hemos visto en el punto 7, también se pueden activar Eventos de Mensaje Intermedio de otros procesos.

En este ejemplo, cuando se recibe el material del proveedor, una Tarea de Sistema (TS.45, TS – EM en Proceso de Ventas) activa el Evento de Mensaje Intermedio donde se había quedado detenida la corriente del Proceso original, para que continúe y se entregue el material al cliente.

10. Tarea de Sistema de Tipo Ejecutor (De Script): A través de una Tarea de Sistema de Tipo Ejecutor (De Script), se pueden invocar Procedimientos Almacenados de MS SQL para ejecutar Scripts o programas externos.

En este ejemplo, una Tarea de Sistema (TS.29, TS-Ejecución Script en ERP) invoca un Procedimiento Almacenado de MS SQL que ejecuta un programa que envía la información necesaria del Proceso de Ventas para crear la factura al cliente en el ERP.