Esquema de selección del motor de proceso y especificación BPMN2.0


Hola a todos, soy Bittao. Este artículo presenta principalmente brevemente el contenido de la especificación BPMN2.0, lo que permite a los lectores comprender rápidamente el contenido principal y los estilos gráficos cubiertos por BPMN2.0. También explica en detalle cómo dibujar un diagrama de flujo estándar y cómo implementar funciones de procesos comerciales y selección de tecnología a nivel de software.

1. Conceptos básicos

Hay una gran cantidad de procesos comerciales en nuestras vidas, que van desde casarse y comprar una casa hasta pedir permiso para comprar un boleto. Todos deben seguir el proceso prescrito. Si el proceso es relativamente simple, podemos dibujar algunos bocetos para que todos lo entiendan. Pero cuando el negocio es demasiado complicado, si no hay una especificación de un diagrama de flujo comercial, puede ser difícil de entender para las personas y las máquinas. Con el fin de unificar varios diagramas de flujo de negocios en todo el mundo, ha surgido el estándar BPMN (Business Process Model and Notation), que se ha convertido en uno de los estándares ISO ( descarga estándar ).
Historia del desarrollo de BPMN
BPMN2.0 regula principalmente los gráficos, al igual que los diagramas UML, es decir, podemos entender la lógica del flujo de negocios cuando vemos los diagramas. La forma en que el sistema real realiza la operación de control de acuerdo con los gráficos es lo que tiene que hacer el motor de flujo de trabajo. Por ejemplo, el modo de control en la operación de flujo de trabajo tiene que referirse a Patrones de flujo de control . Lo que debe enfatizarse es que los conocidos motores de flujo de trabajo: Activiti, Flowable, Camunda y el doméstico Yanhuang Yingdong, etc., afirman admitir la especificación BPMN2.0. De hecho, su lógica operativa, identificación de atributos y estructura de almacenamiento son aproximadamente las mismas, pero existen ligeras diferencias que no se pueden usar en todos los motores de procesos. Por ejemplo, el formato XML del evento de inicio conforme a la especificación BPMN2.0 generalmente se denomina <startEvent>, pero la definición interna del motor de puerta de enlace no es la misma, y ​​algunos motores de flujo de trabajo ni siquiera usan el formato XML para almacenarlo en el formato JSON. Entonces, el llamado motor de proceso admite BPMN2.0, pero la función y la apariencia siguen el estándar. La realización en el nivel de software real se puede hacer de acuerdo con las propias necesidades. Para aquellos que están expuestos por primera vez a la especificación BPMN2.0, es muy importante distinguir este concepto.

2. Importancia de BPMN

El significado de usar especificaciones gráficas es hacer que todo sea comprensible, como el lenguaje en nuestra realidad. Además, en esta era de la información, tenemos demasiados negocios de software para lidiar con procesos complejos en la realidad. Como el sistema de oficina OA, el sistema de gestión de almacenes WMS, el sistema de gestión logística TMS, OMS, SRM, el sistema de gestión de pedidos CRM, etc. Estos procesos comerciales suelen ser muy complejos, si no están limitados por las especificaciones, podemos usar nuestros propios símbolos para dibujarlos. Me temo que es fácil pisar el pozo y no es fácil formar estándares de nivel comercial y acumulación de experiencia. Luego, a través de la especificación BPMN2.0, podemos administrar el diagrama de flujo en gran medida, el control de riesgos y la inspección de cumplimiento.
inserte la descripción de la imagen aquí
La figura anterior es una instancia de modelo BPMN simple y el proceso es un modelo de un puesto de contratación. Según nuestra observación, no es difícil entender el significado, aunque es posible que no conozca los términos profesionales de cada módulo en este diagrama, puede comprender cuál es el proceso de este diagrama. Entonces, BPMN todavía está haciendo un buen trabajo en términos de comprensión visual, que es lo que admiro: el mejor producto es un producto sin instrucciones .

3. Elementos principales

En BMPN2.0, los componentes se dividen principalmente en cuatro categorías: actividades, puertas de enlace, eventos y auxiliares. Aquí hay un diagrama resumido del modelo de proceso comercial y la especificación de símbolos para su rápida comprensión.
inserte la descripción de la imagen aquí

3.1 Actividades

Las actividades son equivalentes a las entidades, se puede decir que la definición del modelo de entidad del diagrama de flujo se compone principalmente de actividades. Los componentes se muestran en la siguiente figura:
inserte la descripción de la imagen aquí

Tarea

Las actividades más utilizadas son las tareas. Para distinguir varios tipos de tareas, generalmente se agregan íconos a los componentes de la tarea para ilustrar:
inserte la descripción de la imagen aquí
no existe una especificación uniforme para el color, el estilo y los íconos de los componentes, y se pueden adaptar de acuerdo con el color principal del sistema durante desarrollo. Solo mantén la forma general.
inserte la descripción de la imagen aquí

subproceso

Pero nuestro proceso es demasiado complejo, necesitamos abstraer el diagrama de flujo. De esta manera, las minucias y las partes relativamente independientes pueden extraerse en un proceso separado y luego introducirse en el proceso general.
inserte la descripción de la imagen aquí

actividad de llamadas

Los subprocesos y tareas generales son parte del diagrama de flujo y no se pueden usar solos. En la mayoría de los casos, sin embargo, una actividad debería poder reutilizarse en varios diagramas de flujo. BPMN proporciona 调用活动construcciones para esto. Cuando se invoca una actividad global o un subproceso, se indica con un borde grueso.
inserte la descripción de la imagen aquí

subproceso de evento

A diferencia de los procesos normales, los subprocesos temporales no son activados por flujos de secuencia. Más bien, es un proceso diseñado por eventos desencadenados por el flujo de mensajes durante la ejecución del programa.
inserte la descripción de la imagen aquí

asuntos

Al igual que el concepto de transacción en la base de datos, una transacción puede ejecutarse por completo o no ejecutarse en absoluto. Si algo sale mal, la transacción debe revertirse.
inserte la descripción de la imagen aquí

3.2 Puerta de enlace

La puerta de enlace es equivalente a un componente de procesamiento comercial, la actividad (entidad) es solo para explicar lo que hay allí, y la puerta de enlace puede definir sus reglas a través de la conexión con la actividad. Los componentes se muestran en la siguiente figura:
inserte la descripción de la imagen aquí

puerta de enlace exclusiva

Secuencialmente juzga y ejecuta la primera rama que es Verdadera, otras ramas no son juzgadas y no ejecutadas.
inserte la descripción de la imagen aquí

Portal de inclusión

Seleccione o combine una o más rutas, como si seleccionamos varias etiquetas para filtrar la lista.
inserte la descripción de la imagen aquí

puerta de enlace paralela

Como sugiere el nombre, una puerta de enlace paralela es una puerta de enlace que se puede bifurcar y ejecutar en paralelo.
inserte la descripción de la imagen aquí

puerta de enlace de eventos

Las tres puertas de enlace anteriores son puertas de enlace exclusivas basadas en datos (XOR), pero necesitamos puertas de enlace de eventos para tomar rutas diferentes para los datos que se procesan. Es decir, una puerta de enlace basada en eventos que no enruta en función de los datos, sino en función de lo que sucede a continuación. Considere un flujo de negocios en el que pedimos una pizza y esperamos a que llegue. Solo podemos comer cuando llega la pizza, pero ¿y si la pizza no ha llegado después de 60 minutos? ¡Haremos una llamada ansiosa y listo! Podemos modelar esto con una puerta de enlace de eventos:
inserte la descripción de la imagen aquí

puerta de enlace compleja

Complex Gateway: Complex Gateway permite dividir rutas personalizadas y algoritmos de recuperación de acuerdo con las necesidades de escenarios comerciales específicos.
inserte la descripción de la imagen aquí

3.3 Eventos

Los diagramas de flujo solo se pueden usar para describir procesos comerciales estáticos, pero el mundo real está superpuesto por varios factores inciertos. Cuando se ejecuta un proceso, consume y crea datos, información, archivos, documentos, etc. El flujo de secuencia de una actividad a otra suele ir acompañado del paso de datos. Diferentes datos causarán diferentes eventos.Necesitamos capturar varios eventos al igual que escribir un programa, para garantizar la integridad y confiabilidad del sistema.
inserte la descripción de la imagen aquí
Al dibujar, se deben considerar dos aspectos: la causa del evento (disparador) y el impacto del evento en el diagrama de flujo.
Los eventos más utilizados son los siguientes tres, entre ellos, el evento de inicio y el evento final son los más críticos, y también son elementos que todo diagrama de flujo debe tener, se agregan eventos intermedios según sea necesario. Cabe señalar que los diferentes símbolos que aparecen en medio de los tres iconos de eventos se utilizan para expresar diferentes significados.
inserte la descripción de la imagen aquí
Hay muchos tipos de eventos, así que aquí hay un ejemplo práctico para observar:
inserte la descripción de la imagen aquí

evento de inicio

Los eventos condicionales son los procesos que se activan cuando las condiciones son verdaderas; los eventos de señal se refieren al monitoreo de eventos de transmisión global; los eventos múltiples se refieren a la combinación de múltiples eventos, siempre que ocurra uno de los eventos, se iniciarán; eventos paralelos múltiples eventos requieren todos los eventos Ambos tienen que suceder para que comience.
inserte la descripción de la imagen aquí

evento final

El evento final predeterminado es un círculo negro acentuado, que está en blanco; el símbolo del sobre del evento del mensaje se rellenará en negro; el evento final final es negro puro, lo que no solo elimina un único token, sino que finaliza todo el proceso.
inserte la descripción de la imagen aquí

evento intermedio

Los eventos intermedios pueden enviar y recibir señales y, por lo general, se usan en las siguientes dos situaciones:

  1. Activar eventos en relación con otros eventos en el proceso (por ejemplo, enviar mensajes o señales);
  2. Reaccionar a eventos en el proceso (por ejemplo, cuando se recibe un mensaje o se alcanza un cierto punto en el tiempo).
    inserte la descripción de la imagen aquí

3.4 Auxiliar

En la especificación BPMN2.0, los gráficos más utilizados son las actividades, puertas de enlace y eventos mencionados anteriormente. Pero para expresar negocios complejos con mayor claridad, BPMN también propone el uso de algunos componentes auxiliares. Nota: estos componentes auxiliares son solo para expresar mejor el modelo comercial y no son necesarios.

conexión

Los diferentes componentes se pueden asociar con varias formas de línea, y las diferentes líneas tienen diferentes significados, que se pueden dividir aproximadamente en las siguientes cuatro líneas:
inserte la descripción de la imagen aquí

Diagrama de carril

Como se muestra en la figura a continuación, el diagrama de carril de natación puede dividir diferentes flujos comerciales en diferentes carriles. Son similares a dividir la piscina en diferentes carriles, y cada competidor en la competencia de natación solo puede nadar en su propio carril.
inserte la descripción de la imagen aquí

Notas y Grupos

Las anotaciones son principalmente para la ilustración complementaria del diagrama de flujo, podemos aplicar anotaciones y grupos de la forma que queramos, incluso a través de los límites de la piscina. Las anotaciones y los grupos no afectan la semántica de ejecución, así que no los confunda con subprocesos, etc. Nota: Se puede distinguir por el color.
inserte la descripción de la imagen aquí

almacenamiento de datos

Cuando se ejecuta el diagrama de flujo, si desea resaltar la dirección de su flujo de datos, puede expresarlo a través de objetos de datos y bases de datos.
inserte la descripción de la imagen aquí
La siguiente figura muestra un ejemplo de flujo de datos:
inserte la descripción de la imagen aquí

Cuarto, el tipo de gráfico.

Esta sección presenta principalmente cómo construir un modelo de proceso claro cuando se enfrenta a escenarios complejos.

4.1 Diagrama de disposición

Cuando se requiere que varias empresas interactúen, como conectar sus sistemas de información de una manera que automatice por completo la colocación y el cumplimiento de pedidos y otras transacciones comerciales, cada empresa debe ser responsable de sus propios procesos.
inserte la descripción de la imagen aquí
La imagen de arriba es un diagrama de colaboración, pero no hay manera de expresar una expresión más detallada: los eventos y el orden lógico en el flujo de mensajes. El diagrama de disposición es para resaltar el intercambio de mensajes en sí, como se muestra en la siguiente figura:
inserte la descripción de la imagen aquí
el diagrama de disposición se divide en tres columnas, y las columnas superior e inferior representan a los participantes respectivamente. En la imagen de ejemplo: el color oscuro es el receptor y el color blanco es el iniciador.

4.2 Gráfico de sesión

Un gráfico de sesión proporciona una descripción general de qué actores en un área colaboran en qué tareas. En la imagen de abajo, se pueden ver tres sesiones. Al procesar pedidos de inserción, un cliente trabaja con una agencia de publicidad y varios planificadores de comidas. Por otro lado, un cliente y una agencia de publicidad pueden trabajar juntos en una campaña publicitaria. Para ello, colaboran con varios medios. Un diseñador también puede formar parte de las actividades de otra empresa: junto con una editorial, un diseñador gestiona los pedidos de ilustraciones.
inserte la descripción de la imagen aquí

5. Selección de tecnología

En la actualidad, el lugar más utilizado de BPMN2.0 es el motor de procesos. Las personas usan los símbolos estipulados por los estándares para dibujar diagramas de flujo reconocidos mundialmente. Luego, en su propio sistema, se ejecuta para realizar la visualización de la lógica empresarial compleja. A continuación, se enumeran las tecnologías de front-end y back-end necesarias para realizar el proceso comercial, y puede elegir de acuerdo con las condiciones de su propio proyecto:

5.1 Parte delantera

BPMN.JS

Kit de herramientas de renderizado BPMN 2.0 y modelador web. Está escrito en JavaScript, incrusta diagramas BPMN 2.0 en el navegador y es independiente del backend, lo que también facilita su incrustación en aplicaciones web de tareas: puede usarse de forma independiente o integrarse en el medio de su aplicación.

flujo lógico

De código abierto de Didi, LogicFlow es un marco de edición de diagramas de flujo que proporciona una serie de funciones necesarias para la interacción y edición de diagramas de flujo, así como una personalización de nodos simple y flexible, complementos y otros mecanismos de expansión, para que podamos cumplir rápidamente el flujo de clases en el gráfico del sistema empresarial necesita. Concéntrese en el marco de edición de diagramas de flujo personalizado para el negocio, admita varios escenarios de edición de diagramas, como mapas mentales, diagramas ER, UML, flujo de trabajo, etc.

Hormiga X6

Abierto por Ali, X6 es un motor de edición de gráficos bajo AntV. Proporciona capacidades de personalización de nodos fáciles de usar y componentes interactivos listos para usar, lo que nos permite crear rápidamente diagramas de flujo, diagramas DAG, diagramas ER y otras aplicaciones de diagramas.

5.2 Antecedentes

actividad

Una plataforma liviana de flujo de trabajo y administración de procesos comerciales (BPM) para empresarios, desarrolladores y administradores de sistemas. En su núcleo se encuentra un motor de procesos BPMN 2 ultrarrápido y sólido como una roca para Java. Es de código abierto y se distribuye bajo la licencia Apache. Activiti se puede implementar en cualquier aplicación, servidor o clúster de Java.

fluido

Una plataforma compacta y eficiente de flujo de trabajo y gestión de procesos empresariales (BPM) para desarrolladores, administradores de sistemas y usuarios empresariales. Flowable es un motor de flujo de trabajo de código abierto escrito en Java que puede ejecutar procesos comerciales descritos en BPMN 2.0. Es una bifurcación mantenida activamente de Activiti.

Flujo de compilación

compileflow es un motor de proceso muy ligero, de alto rendimiento, integrable y extensible. Este motor es uno de los motores TBBPM de flujo de trabajo de Taobao. Es un motor de proceso sin estado que se enfoca en la ejecución pura de la memoria. Convierte los archivos de proceso en código Java para la compilación y ejecución, lo cual es simple y eficiente. Actualmente, es el motor de proceso de múltiples sistemas centrales, como las transacciones comerciales de nivel medio de Alibaba. compileflow permite a los desarrolladores diseñar sus propios procesos comerciales a través del editor de procesos, visualizar lógica comercial compleja y construir un puente entre los diseñadores comerciales y los ingenieros de desarrollo.

6. Resumen

Finalmente, me gustaría hablar sobre mis propios pensamientos sobre la especificación BPMN: si es una herramienta o una especificación. Es todo para satisfacer nuestras necesidades reales Al desarrollar e implementar, no debemos ser demasiado rígidos. Debe mejorarse, optimizarse y ampliarse de acuerdo con la situación actual. Por ejemplo, en la especificación BPMN, no se permite la conexión de varios flujos de datos a una actividad (excepto los pines de varios pines), y se requiere la función de una puerta de enlace en el medio. Pero en el proceso de desarrollo real, cuando encontramos que hay demasiadas puertas de enlace que afectan la visualización y legibilidad de los gráficos, podemos usar medios técnicos para simplificar y optimizar las especificaciones relacionadas. Por lo tanto, no recomiendo seguir las normas por cumplir con las normas, sino hacer los ajustes apropiados según la situación real para desarrollar productos más prácticos.

Supongo que te gusta

Origin blog.csdn.net/u012558210/article/details/129342543
Recomendado
Clasificación