Que es Business Process Management ?
En artículos anteriores escribí un Post relacionado a herramientas BPM, sin embargo después de muchas consultas de amigos al respecto, me quedo claro que aunque esta muy fuerte el tema hoy en día, aun no existe una compresión a nivel practico de lo que BPM en Informática significa. Entonces que mejor que escribir en un breve articulo acerca de lo que es BPM.
Aparte de significar Business Process Management o Administración de Procesos de Negocios, a nivel practico podemos decir que es una nueva estrategia de implementar soluciones informáticas integradas. En general BPM puede ser una muy buena solución para empresas con muchos sistemas y que esperan poder migrar su plataforma de forma gradual y mas aun si sus procesos se orientan a flujos y tramites en etapas de un proceso claro, definido y repetitivo.
A nivel real BPM se implementa con soluciones o herramientas, de la misma forma que se implementa un ERP, solo que en BPM el tema es mas complejo. Para ilustrarlo de mejor manera consideremos el siguiente caso:
Una empresa X tiene 5 sistemas core o principales, en ellos se encuentran la data, la lógica y las interfaces visuales para operarlos. Todos los sistemas están desarrollados en tecnologías distintas, desde Java y Microsoft hasta Cobol. Ahora que la nueva gerencia desea darle un cambio de rumbo a la forma y rendimiento de su Departamento de IT, ha decidido buscar la forma de desarrollar nuevas soluciones en base a sus sistemas core, pero sin tener que modificarlos ya que por su tecnología esto resulta caro y muy difícil de asegurar un éxito relativo. Adicionalmente la nueva gerencia a detectado que estos 5 sistemas cubren áreas especificas de la empresa, Ventas, Bodegas, Recursos Humanos, Finanzas, Sistemas propietarios del negocio especifico, etc.
En su análisis la gerencia a detectado que si bien los sistemas cubren estas áreas de la organización, en si la organización no trabaja de esa forma, sino mas bien de forma integrada, es decir un evento en recursos humanos puede generar incluso efectos en el departamento de bodegas, Finanzas, u otros. Además un evento en el departamento de operaciones puede afectar a distintos otros departamentos.
Así pues la gerencia conociendo el concepto y las utilidades de una solución BPM a decidido utilizar esta estrategia para cumplir con sus objetivo al menor costo y tiempo.
Tomada la decisión, la gerencia de informática de la empresa a seleccionado una herramienta de BPM, la cual como la mayoría de estas tiene 3 elementos. Un Engine o Servidor principal donde corren las instancias de cada proceso, Una herramienta de diseño de procesos en la cual se dibujan los procesos de negocio de la empresa utilizando iconos al mas típico estilo visio, y que como resultado de este dibujo se genera un XML que correrá en el Engine y que implementara el proceso como solución computacional. Y un set de herramientas de orquestación y mapeo transaccional y de servicios web, que podríamos decir se parece a un típico orquestador transaccional como Biztalk o XI, pero que como resultado de la orquestación alimenta a los procesos gráficos definidos utilizando SOAP y WebServices como medio de comunicación y exposición de datos.
Ahora el depto de informática empezara una labor desde 2 frentes, primero examinara sus 5 sistemas core y vera como estos pueden exponer, datos y servicios atómicos y básicos vía WebService. Para los de tecnologías Java y Microsoft será mas fácil, para los de Cobol tal vez tengan que utilizar RPCs que son llamados desde WebServices. De esta forma podrán vía WebService llegar a estos sistemas.
El segundo frente lo darán desde el proceso de negocios, deberán gráficar todo el proceso de negocio y especificar en cada etapa o tarea cuales son las entradas y cuales las salidas. Como se alimentara cada tarea, como responderá ante cada tipo de excepción y como serán los flujos de actividades en paralelo o condicionales según sea el caso. Una vez realizado todo esto. Podrán generar una capa intermedia de orquestación que mediante WebService Compuestos y su mapeo respectivo pueda atender a las tareas del proceso, estos WebService Compuestos se alimentaran de la información que los WebServices atómicos que exponen los 4 sistemas core.
Para condimentar todo esto deberemos entender que la herramienta BPM deberá contar con una componente de generación de formularios o de interacción Humana, la cual por supuesto correrá en el Server Engine de la misma forma que un portal de acceso a usuarios para procesar, autorizar o completar las tareas de cada procesos definido.
Uff! y que gano con todo esto. Principalmente y en general dejas de poner el énfasis en la programación y te concentras en el proceso de negocio de la empresa, solo codificas la base de la extracción de la información, entiendase WebService Atómicos y Compuestos, el resto del código de coordinación, evaluación, medición de rendimiento y en general lo que se conoce como BAM (Business Activity Monitoring ) lo provee mediante todo un set de Dashboard la propia suite BPM. De igual forma todo el manejo de la interfaz visual lo provee el Server Engine y la herramienta de diseño gráfico de la suite. En otras palabras la propia Suite BPM te genera un Portal de interacción Humana en base a los formularios que definiste en el proceso de gráficar el proceso de negocio.

El tema es complejo por lo que adjunto gráfico acerca de la vista general de los componentes y etapas en una Suite o solución basada en BPM.
A nivel de estándares la notación usada para gráficamente definir el modelo se llama BPMN (Business Process Modeling Notation), el lenguaje utilizado para mapear estas tareas gráficas con los WebService, orquestar los eventos y transacciones y agregar cierta lógica de flujo se denomina BPEL (Business Process Execution Language).
Desde el punto de vista comercial cuando la empresa por distintas razones cambie su proceso de negocio (que es lo general cada cierta cantidad de meses) no deberás construir nuevos sistemas, sino solo modificar gráficamente el proceso ya definido, a lo mas deberás considerar un nuevo WebService, pero como estos son Atómicos su programación en esfuerzo es mucho menor que desarrollar un nuevo sistema desde cero, o modificar el que ya tienes.
Javier Urrutia

(3 votos, promedio: 4.33 de 5)




