Etiqueta: BPMS

Administrador de Procesos de Negocio

Hola Mundo en BPMS con BonitaSoft

Desarrollo desde cero un programa tipo Hola Mundo en BPMS con BonitaSoft, tendrás la posibilidad de sistematizar un proceso de compras sencillo y con este conocimiento incursionar en casos más complejos que requieran sistemas para soportar procesos.

El proceso que se diseñara en este tutorial será un proceso de compras con una decisión y sistematizado en BonitaSoft.

Si quieres aprender a programar en java sigue este link.

Si quieres aprender a programar frontend en VUE sigue este link.

1. Entorno BonitaSoft

BonitaSoft es un software categoría BPMS que nos permitirá no solo diagramar nuestro proceso usando la notación BPMN sino también ejecutar nuestro proceso en un entorno web basado en una bandeja de tareas, así mismo la data estará disponible en bases de datos estructuradas a fin de permitir la consulta y la analítica posterior.

Si quieres descargar bonitasoft gratuitamente sigue este link.

La siguiente imagen muestra el entorno de BonitaSoft el cual al ser un software libre esta basado en el popular entorno de desarrollo Eclipse.

Entorno de BonitaSoft
Figura 1. Entorno de BonitaSoft

2. Diagrama de proceso y configuración básica

El primer paso en la sistematización del proceso es crear un proyecto en BPMS que contendrá todas las configuraciones y parametrizaciones de nuestro proceso. Para ello debes seleccionar del menú de bonita la opción nuevo proyecto.

Nuevo proyecto BPMS
Figura 2. Nuevo proyecto BPMS

Posterior a ello, debemos crear nuestro diagrama de proceso, basta seleccionar un nuevo diagrama le puedes dar nombre en este momento o posteriormente renómbralo, tal como se muestra en la siguiente figura.

Nuevo diagrama de proceso
Figura 3. Nuevo diagrama de proceso

Para completar esta etapa se debe diagramar el proceso de compras como según la lógica mostrada a continuación. En este punto es importante anotar que las tareas del diagrama son humanas, es decir tendrán una interface gráfica a través de la cual el usuario interactúa. Puede ser necesario que en las propiedades de la tarea selecciones humana, pues a menudo BonitaSoft utiliza tareas automáticas por defecto.

Proceso de compras
Figura 4. Proceso de compras

3. Configuraciones de actores

El paso siguiente consiste en configurar los actores. Los actores permiten definir las personas o usuarios a quienes se les asignar las tareas. Lo primero es sobre el pool definir los actores que van a en nuestro proceso, BonitaSoft podría inferir esto a partir de los swimlane pero aquí es un paso obligatorio, además se debe indicar el actor que podrá iniciar el proceso en este caso es el solicitante.

Actores sobre el pool
Figura 5. Actores sobre el pool

Posteriormente y por cada Lane debe definirse el actor que será responsable, en este caso como tenemos un actor por cada Lane, debemos mapear los actores del pool al Lane según corresponda.

Definir actores sobre los Lane
Figura 6. Definir actores sobre los Lane

Los actores también deben verificarse en las tareas, en este caso basta con verificar en cada tarea que el actor definido sea el mismo del lane.

Verificar actores en tareas
Figura 7. Verificar actores en tareas

Finalmente, para completar el paso de los actores, resta configurar en uno de los ambientes que BonitaSoft preconfiguro la asociación de roles con personas. Esta asignación se realizará en el ambiente local y se utilizara nombres específicos de usuarios, sin embargo note que se pueden mapear grupos o membresías a los roles definidos en el pool.

Mapeo de usuarios parte 1
Figura 8. Mapeo de usuarios parte 1
Mapeo de usuarios parte 2
Figura 9. Mapeo de usuarios parte 2

Los usuarios pueden ser configurados desde la pestaña organizaciones, por defecto BonitaSoft crea una organización denominada ACME y varios usuarios con datos ficticios para usar.

Configuración por defecto de la organización ACME
Figura 10. Configuración por defecto de la organización ACME

4. Modelo de datos

El modelo de datos nos permitirá crear aplicaciones que capturan datos y se almacenan de forma estructurada en bases de datos, para este caso el modelo de datos será muy sencillo y permitirá también definir las interfaces gráficas de usuario.

Definiendo el modelo de datos
Figura 11. Definiendo el modelo de datos

El modelo de datos son solamente variables asociadas con tipos de datos, asegurate de crear los siguiente datos que se usaran en la sistematización.

Modelo de datos del proceso de compras
Figura 12. Modelo de datos del proceso de compras

Finalmente, se debe desplegar este modelo de datos para poder usarlo, las siguientes imágenes muestran en orden la validación y confirmación de la validación y el despliegue y confirmación del despliegue del modelo de datos.

Validación y despliegue del modelo de datos
Figura 13. Validación y despliegue del modelo de datos

Ya que tenemos un modelo de datos válido, podemos usarlo, y para ello debemos agregarlo al pool dando un nombre.

Agregado del modelo de datos al pool
Figura 14. Agregado del modelo de datos al pool

El siguiente uso que le daremos al modelo de datos será agregarlo a las diferentes tareas, en este punto seleccionamos el modelo de datos y elegimos las variables del modelo que queremos usar en cada tareas. Note que esto se debe repetir por cada tarea y que estas opciones aparecen en la pestaña contrato opción añadir de cada tarea, así mismo que durante este proceso algunos mensajes de confirmación aparecerán.

Selección del modelo de datos en una tarea
Figura 15. Selección del modelo de datos en una tarea
Selección de variables del modelo de datos para una tarea
Figura 16. Selección de variables del modelo de datos para una tarea

5. Configuración de decisiones

Las decisiones o compuertas se configuran según la norma BPMN en este caso de este tutorial utilizaremos una compuerta exclusiva y el flujo de secuencia “no” lo marcaremos por defecto, como se muestra en la siguiente imagen.

Configuración de la compuerta y de la decisión no
Figura 17. Configuración de la compuerta y de la decisión no

En cuanto al flujo de secuencia “si” se procederá a configurar una condición de tipo script y asociar a esta la variable del modelo de datos booleana que permite tomar la decisión.

Configuración de la decisión si
Figura 18. Configuración de la decisión si
Resultado de la configuración si
Figura 19. Resultado de la configuración si

5. Formularios de datos

Para la configuración de los formularios de las tareas podemos encontrarnos ante una gran complejidad, pero el asociar el modelo de datos y las variables a cada tarea simplifica el proceso. A continuación crearemos los formularios simplemente en la opción contratos seleccionando editar formulario, lo cual abrirá un editor de formularios que permite diseñar interfaces gráficas complejas que oculten campos, los agrupen o realicen lógicas programadas en javascript. Note que este editor de formularios esta en la web y que este es un paso que debemos repetir por cada tarea del modelo.

Creación de formularios para las tareas
Figura 20. Creación de formularios para las tareas
Editor de formularios de BonitaSoft
Figura 21. Editor de formularios de BonitaSoft

6. Ejecución del proceso

Para ejecutar el proceso debemos validarlo primero a fin de determinar que no se tengan errores.

Figura 22. Validación del diagrama

Una vez validado y sin errores se puede proceder a ejecutar en uno de los ambientes, recordemos que en este caso configuramos nuestro proceso de negocio en ambiente local y que estas opciones están disponibles estando seleccionado el pool del proceso a ejecutar.

Figura 23. Ejecución del proceso de negocio

En este punto debemos iniciar sesión con el usuario solicitante, aquí se anota que BonitaSoft inicia sesión automáticamente con Walter Bates, así que debemos cerrar sesión y abrirla con Daniela Angelo, así mismo todos los usuarios tienen el mismo password bpm, esto se puede cambiar en las configuraciones de los usuarios bajo el modulo de Organización.

Para iniciar un primer proceso debemos dar clic en el boton start en procesos.

Figura 24. Botón de inicio de proceso

Las tareas deben ser tomadas para su ejecución y ya en el menu principal de BonitaSoft web vamos a poder ver las diferentes tareas a medida que los procesos se van ejecutando.

Toma y ejecución de tareas
Figura 25. Toma y ejecución de tareas

El paso final en este tutorial sería ejecutar el proceso realizando un juego de roles es decir, iniciando sesión con cada usuario asignado al proceso y verificando que lleguen las tareas y especialmente que la decisión se tome correctamente.

7. Artículos de Interés

Introducción a BPMS Definiciones y Aplicaciones

Este artículo aprenderás los conceptos básicos de esta tecnología la Introducción a BPMS Definiciones y Aplicaciones, además de sus características conocerás algunos de los proveedores utilizados y usos típicos de esta tecnología a nivel empresarial.

Si quieres aprender a programar en java sigue este link.

Si quieres aprender a programar frontend en VUE sigue este link.

1. Definición básica de BPM, BPMN, BPMS y BPMM

Cuando empezamos a estudiar BPM nos encontramos con multitud de aplicaciones y profesionales que trabajan en estos conceptos, por ejemplo podemos encontrar un Ingeniero de Procesos que busca mejoras operativas o también equipos de calidad que desean documentar los procesos con estándares internacionales o también equipos de informáticos buscando sistematizar, automatizar o comunicar diferentes sistemas de información.

Para estas necesidades tan diversas BPM se constituye como una alternativa modera y muy utilizada por empresas de todos los sectores de la economía que buscan modernizar sus procesos, incluso aquellas que dan pasos hacía la Transformación Digital buscan metodologías y herramientas como estas para lograrlo.

En general, BPM significa Business Process Management y como tal es una metodología muy utilizada para documentar, analizar y sistematizar procesos, sin embargo comúnmente se le agregan más palabra a esta sigla y así encontramos:

  • BPMN: es la notación internacional y administrada por la OMG para la descripción de procesos de negocio.
  • BPMS: es la suite o software que permite a los ingenieros sistematizar, automatizar u orquestar procesos de negocios bajo la notación BPMN y haciendo uso de plataformas estándar.
  • BPMM: es la metodología que permite evaluar la madurez de una implementación BPM en una compañía bajo un modelo de capacidad y basado en 5 niveles muy similar al conocido CMMI.

Sigue los siguientes vínculos para consultar la norma BPMN en sus versiones más populares.

Version BPMN 2.0

Version BPMN 1.2

2. Sistemas y proveedores BPMS

Aunque existen muchos sistemas de corte BPM los módulos principales de estos sistemas son las siguientes:

Módulos de un BPMS
Figura 1. Módulos de un BPMS

Existen muchos proveedores de BPMS entre ellos las casas más grandes de Software en el mundo como IBM, Oracle u otro especializados en BPMS como Bizagi, BonitaSoft o ProcessMaker.

2.1. Características del entorno de modelamiento

  • Compatibilidad mínima con BPMN 1.2 hacia adelante
  • Módulo Nativo desarrollado por el fabricante
  • Posibilidades de portabilidad, exportación e importación de modelos
  • Modelamiento de coreografías y orquestación de procesos
  • Parametrización de modelos dentro del mismo entorno
  • Tecnología del entorno de modelamiento (Cliente)
  • Ergonomía del entorno de modelamiento
  • Gestión de configuración de los Modelos
  • Exportación de documentación de modelos (RTF, PDF, XML / BPEL)
  • Modelamiento de Reglas de Negocio
  • Validación de Errores de Modelamiento
  • Generador de formas para los procesos

2.2. Características del motor de WorkFlow

  • Grado de cobertura de elementos automatizados
  • Capacidad de respuesta (desempeño) del motor de workflow
  • Soporte del motor para ejecutar reglas de negocio
  • Arquitectura de tablas desplegadas en los procesos.
  • Capacidad del motor de ejecutar procesos en simultáneo
  • Capacidad del motor para controlar versiones en ejecución
  • Compatibilidad y portabilidad del código de modelos (BPEL)
  • Capacidad de integración del motor SOA / ESB / BRMS
  • Capacidad de balanceo de cargas del motor

2.3. Características de la bandeja de tareas

  • Ejecución Web / Móviles
  • Ergonomía de la bandeja de gestión de tareas
  • Semáforos para ejecución
  • Flexibilidad y personalización de alarmas
  • Trazabilidad gráfica de procesos
  • Motor de búsqueda para tareas
  • Visualización de versiones de procesos en ejecución

2.4. Capacidades SOA de un BPMS

  • Capacidad ejecutar y consumir Web Services
  • Capacidad de ejecutar Consultas a otros Sistemas
  • Agnóstico a la tecnologías de integración
  • Integración para inicio de sesión (LDAP)

2.5. Características de BPA y Simulación de un BPMS

  • Escenarios previos a la automatización
  • Análisis de comportamiento de variables críticas
  • Detección de la ruta crítica para modelos
  • Capacidad gráfica para ejecución de simulaciones
  • Gestión de Configuración para modelos
  • Uso de escenarios de medición en combinación con el BAM
  • Estadísticos disponibles para parametrizar
  • Análisis de escenarios

2.6. Capacidades de medición y BAM de un BPMS

  • Enfoque del entorno de medición (BI, OI, BAM)
  • Tecnologías en tiempo real (CEP)
  • Escalabilidad futura a Enterprise Decisión Management (EDM)
  • Generación de reportes dinámicos
  • Personalización de tableros de control
  • Extracción de datos de múltiples fuentes
  • Posibilidades de gráficos
  • Análisis de Datos
  • Generación de tendencias – análisis preventivos
  • Gestión de indicadores (acciones, seguimiento)

2.7. Capacidades adicionales de un BPMS

  • Gestión electrónica de Documentos
  • Manejo de escenarios personalizables para documentación
  • Capacidad de Perfilamiento
  • Capacidad de importar modelos desde otras fuentes
  • Mensajería (crear, enviar, recibir y leer mensajes)

3. Aplicaciones, proyectos y usos de BPMS

Algunas de las aplicaciones más importantes de los BPMS son aquellas que se centran en la sistematización de procesos de negocio que se realizan a través de papel o de forma muy incipiente con correos electrónicos. La sistematización, también puede conducir a un escenario donde exista un grado de automatización de tareas a través del uso de la capa SOA de un BPMS.

Otro uso muy importante de los BPMS es como capa de orquestación que permite a las organizaciones centralizar la comunicación entre los procesos en estos categoría de software.

En cuanto a la ejecución de proyectos en BPMS es muy importante considerar los siguientes items por parte del equipo del proyecto.

  • Establecer adecuadamente los equipos del proyecto
  • Establecer adecuadamente los tiempos
  • Gestionar el cambio
  • Realizar iteraciones comenzando con alcances pequeños y fáciles de concretar
  • Obtener el entendimiento del proceso en piso
  • Cuidar la duplicación de trabajo
  • Tomar el tiempo suficiente para el correcto desarrollo de las integraciones
  • Gestionar adecuadamente los requisitos y sus cambios

4. iBPMS

En los cuadrantes mágicos de Gartner se ha acuñado un termino denominado iBPMS donde se diferencian aquellos BPMS más avanzados del resto, haciendo la letra “i” alusión a inteligente, y aunque en la lista siguiente se muestran las características que debe tener un iBPMS la principal radica en la habilidad de manejar lo procesos al vuelo, es decir ejecuciones del proceso que ya han iniciado se puedan versionar para incorporar cambios que los especialistas de proceso requieran, lo anterior sin necesidad de volver a empezar las ejecuciones, cuestión que en la práctica en ocasiones no es posible.

Una BPMS inteligente es una categoría avanzada de las tecnologías diseñadas para BPM. Es la evolución natural del reciente mercado de BPMS, en donde se hace más énfasis en dar soporte a sistemas e inteligencia humana de los procesos de negocio más robustos. Por muchos años, en muchas ofertas (no en todas) de BPMS se han incluido capacidades como la simulación, la optimización y poder lograr una visión del rendimiento de los procesos. Los iBPMS modernos han agregado un soporte mejorado para la colaboración humana, integración con redes sociales, acceso a través de móviles a los procesos y toma de decisiones más analíticas y en tiempo real.

La siguiente es una lista de las principales características de los iBPMS.

  • Motor de Orquestación de Procesos
  • En vuelo y no estructurados
  • Entorno de composición gráfico basado en modelos
  • Apps heterogéneas y portales
  • Manejo de Contenido
  • ECM
  • Interacciones Humanas
  • Soporte multicanal
  • Process Intelligence y Business Activity Monitoring (BAM)
  • Analítica bajo demanda
  • Procesamiento de reglas de negocio
  • Reglas de negocio complejas

5. Artículos de Interés

SOA Arquitectura Orientada a Servicios

Las Arquitecturas Orientadas a Servicios SOA constituyen un paradigma que si bien no es nuevo, si ha estado vigente durante la revolución informática. Este concepto ha sido estudiado y se ha buscado la forma de implementarlo por muchas empresas a fin de guiar la forma en que se organizan los sistemas de información en una empresa, este artículo explora este concepto.

Si quieres aprender a programar en java sigue este link.

Si quieres aprender a programar frontend en VUE sigue este link.

1. El Software en la Empresa

En general una empresa cuando necesita un sistema a fin de sistematizar o automatizar un proceso tiene varias opciones:

  • Desarrollo a la medida con lo cual el sistema será especifico para la necesidad
  • Comprar un software para la necesidad y adaptar el proceso
  • Utilizar una plataforma low code
  • Utilizar una plataforma estándar con un proceso personalizado como un software tipo BPMS

Hacía los años 80 la premisa era desarrollar en los lenguajes disponible, hoy día aun se conserva esta opción, pero en menor medida. En 90 se realizaba mucha compra de paquete y el proceso se adaptaba para que funcionara de tal manera.

Esto genero que las empresas tuvieran diferentes sistemas de información y fuese necesario pensar en integrarlos, fue aquí en el inicio del milenio donde aparece las tecnologías para integración y marcos de trabajo como EIA (Enterprise Integration Application) y SOA (Service Oriented Architecture) como soluciones, y desde entonces la tendencia a sido hacia la composición que permita que los software vayan de la mano del paradigma de la Gestión por Procesos.

2. Definición de SOA

Aunque pueden existir muchas definiciones de SOA, una buena aproximación se logra desde su impacto, SOA como filosofía define un marco para organizar las aplicaciones o sistemas de información en una empresa.

Algunas de las características que encontramos en la definición de SOA se listan a continuación.

  • Proporciona servicios a clientes por medio de interfaces basadas en estándares, públicas y visibles.
  • Las aplicaciones pueden ligarse a servicios que evolucionan y mejoran en el tiempo.
  • No son necesarias modificaciones a las aplicaciones que consumen los servicios.
  • Proporciona un modelo claro para integrar sistemas de información dentro y fuera de la organización.
  • Constituye la base para la construcción de aplicaciones globales sobre el concepto de interoperabilidad.

Así mismo, la siguiente gráfica muestra que SOA no solo se refiere a Sistemas de Información, de manera que su impacto va más allá y contempla Personas, Procesos, Plataformas y Prácticas.

SOA
Figura 1. SOA

En definitiva podemos definir SOA como: la arquitectura que permite organizar los sistemas de información heterogéneos en las compañías bajo un marco de interoperabilidad.

La siguiente imagen muestra el momento de aparición histórico de SOA, aquí es importante observar que EIA (que básicamente se trata de archivos planos esta limitado y tiene un techo, adicionalmente que SOA aparece antes que BPMS y que hoy día se habla de conceptos como CEP (Complex Event Processing) y Web 2.0.

Aparición histórica de SOA en el tiempo
Figura 3. Aparición histórica de SOA en el tiempo

Finalmente es conveniente observar que SOA puede tener diferentes significados en función de que tipo de profesional este hablando del tema, para mayor detalle de este concepto se deja este artículo al lector.

Ambiguedad SOA

3. Arquitecturas de Aplicaciones

Las arquitecturas de aplicaciones en el marco SOA tienen dos dimensiones importantes: el nivel de desacoplamiento y la estandarización, el desarrollo de estos conceptos en las aplicaciones permitirá obtener uno de los puntos más relevantes de SOA que es la Interoperabilidad.

Las siguientes imágenes muestran como estas arquitecturas han evolucionado con el tiempo, que para este caso coinciden con el eje horizontal.

Arquitecturas de aplicaciones bajo la óptica de SOA
Figura 3. Arquitecturas de aplicaciones bajo la óptica de SOA
Tecnologías de Integración e Interoperabilidad para arquitecturas de aplicaciones
Figura 4. Tecnologías de Integración e Interoperabilidad para arquitecturas de aplicaciones

4. El proceso de Adopción SOA

Cuando una compañía organiza sus sistemas usando SOA debe realizar un proceso denominado Adopción SOA, en este proceso normalmente se sigue una hoja de ruta que incluye revisar y evaluar los siguientes aspectos:

  • Esquema SOA
  • Controles al crecimiento de TI
  • Administración de infraestructura de servicios
  • Gobierno SOA
  • Composición, reutilización y agilidad
  • Control de la guerra de dependencias

En este proceso de adopción, el Arquitecto SOA se puede asimilar al Arquitecto urbanista que busca optimizar los servicios de la ciudad incluyendo movilidad, acueducto, iluminación entre otros, por lo tanto hay que diferenciar de la Orientación al Servicio de la Arquitectura Orientada al Servicio, la palabra Arquitectura define articulación y organización alrededor de muchos conceptos de interes.

El Arquitecto SOA como Urbanista
Figura 5. El Arquitecto SOA como Urbanista

5. SOA y BPMS

En las compañías que se hace uso de estas dos tecnologías se pueden encontrar muchas mejoras en concreto los siguientes aspectos son impactados.

5.1. Productividad

En cuanto a productividad se refiere SOA y BPMS se mezclan para potenciar esta características de las empresas, recordemos también que esta caracteristica se refiere a la cantidad de tareas producidas o ejecutadas de forma correcta (los errores no cuentan!), en general se obtiene:

  • Modelado, diseño, construcción, despliegue y puesta en marcha de los procesos de forma sencilla.
  • Construcción de procesos mediante reutilización de componentes.
  • Catálogo de servicios y acciones ampliable con los componentes de la organización.
  • Minimizar los tiempos de Implantación y Formación.
  • Aplicación de protocolos y estándares de forma racional.
  • Romper la brecha entre el analista de negocio y el equipo de TI.
  • Los analistas “programan” las acciones de cada tarea sin necesidad de bajar a código.

5.2. Flexibilidad

En cuanto a flexibilidad se refiere una empresa debe amoldarse a las condiciones cambiantes de su entorno, por lo cual, la fusión entre SOA y BPMS potencia esta característica así:

  • Aplicación práctica de las tecnologías BPM y SOA
  • La utilización de estándares que faciliten la interoperabilidad tanto interna como externa.
  • Integrable en la estrategia SOA corporativa.
  • Neutralidad tecnológica y multiplataforma.
  • Construcción de procesos sobre servicios corporativos o de terceros.
  • No hay modelos propietarios ni tecnologías propietarias.
  • Separación entre capas de presentación y de aplicación.

5.3. Potencia

La potencia la podemos definir en este contexto como la capacidad de la organización para ejecutar procesos, por lo cual las siguientes características son obtenidas al unir SOA y BPMS:

  • Conjunto completo de módulos para la definición, diseño, construcción, despliegue, ejecución y administración de procesos BPM.
  • Capacidad para diseñar y mantener sistemas de información complejos en términos manejables de tiempo y costo.
  • Actualización a las últimas tecnologías.
  • Adecuación a requisitos funcionales.
  • Capacidad de integrar distintos componentes software y distintas arquitecturas de productos.
  • Capacidad para definir modelos verticales: Administración Electrónica, Banca Electrónica, Captura Documental, CMMI, Calidad.

5.4. Costos

Finalmente los costos, que son uno de los aspectos más importantes a evaluar cuando se introducen Arquitecturas Orientadas a Servicios, algunas de las ventajas que se pueden obtener se listan a continuación:

  • Minimizar los tiempos de implantación y formación.
  • Reducir costos adicionales de desarrollo.
  • Posibilitar la obtención de resultados visibles a corto plazo. Agilizar la incorporación de procesos de negocio.
  • Mejorar los costos de mantenimiento de aplicaciones.
  • Evitar instalar y mantener múltiples productos.
  • Reducir costos de licencias y mantenimiento.
  • Alinear las arquitecturas de la organización a las necesidades del negocio para definir procesos integrados.
  • Acelerar el “Time To Market”.

7. Artículos de Interés

© 2024 ochoscar's blog

Tema por Anders NorenArriba ↑