Resumen BPMN PDF

Title Resumen BPMN
Course Arquitectura i Tecnologies del Software
Institution Universitat Autònoma de Barcelona
Pages 19
File Size 1.4 MB
File Type PDF
Total Downloads 51
Total Views 139

Summary

Resumen Arquitectura i tecnologies del Software...


Description

BPM Business Process Management Gestión o administración por procesos de negocio (Business Process Management o BPM): metodología corporativa cuyo objetivo es mejorar el desempeño (Eficiencia y Eficacia) de la Organización a través de la gestión de los procesos de negocio, que se deben diseñar, modelar, organizar, documentar y optimizar de forma continua. Business Process Management Systems (BPMS): herramientas que den el soporte necesario para cumplir con el ciclo de vida de BPM. Con ellas se construyen aplicaciones BPM. Business Process Management Notation (BPMN): notación común de las herramientas de BPMS. BPM Business Process Modeling Business Process Modeling: es la actividad de representar los procesos de una empresa para analizarlos y mejorarlos si es posible. Entre los métodos modernos se usa Uml y BPMN pero antes más comúnmente: diagramas de flujo, diagramas de bloques, diagramas de flujo, diagramas de Gantt, PERT e IDEF BPMN    

Una notación gráfica para modelos de proceso de negocio. Un estándar OMG. Los diagramas son independientes de la suite con la que se realizan. Basado en diagramas de flujo. Objetivo de la notación: SIMPLE Y muy EXPRESIVA. Se profundiza hasta en los detalles más finos.

Diferencias entre diagramas de flujo y BPMN  La construcción de los diagramas con reglas y semántica  Vista jerárquica  Desglose por niveles.  Comunicación entre diferentes procesos. Colaboración  Con eventos y excepciones (abortar, redirigir flujos de secuencia) BPM Suite: Plataforma para la automatización de procesos. Basado en modelos BPMN describe la lógica del proceso. Mismo lenguaje para modelar y ejecutar BPMN Standard BPMN Describe el proceso lógico  Comienzo y final  Orden de los pasos BPMN No Standard  Lógica en las tareas. Como se hacen internamente estas tareas  Como se procesan los datos  Reglas de negocio  Rendimiento y Kpi’s  Costes del proceso y tiempos Normalmente las herramientas de BPMN lo soportan.

Introducción al BPMN

Pool: Es donde está contenido el proceso entero, se etiqueta con el nombre del proceso y pueden interactuar con otros pools.

Lanes o swimlanes: la división del pool con los objetivos de asignar unidades organizativas, diferentes componentes en un sistema técnico, roles de personas, etc. Las lanes también se pueden representar de forma matricial, no es muy común y se usan para diferenciar fases.

El proceso comienza con un evento de inicio. Siempre será un círculo simple.

Los rectángulos redondeados representan una actividad. En una actividad siempre se hace algo.

Flechas de conexión (flujo de secuencia): representan la secuencia en el que eventos, actividades y otros elementos se realizan. Se le puede llamar flujo de control. En BPMN hay un segundo tipo de flujo que es el flujo de mensaje y que tiene influencia en el flujo de control por lo que es parte de este flujo.

Un triángulo en blanco es un exclusive Gateway (Compuerta exclusiva). Solo una salida es seleccionada. Se le puede llamar exclusive OR o XOR. Si este proceso lo tuviéramos que ejecutar en las propiedades de este gateway habría que definir las condiciones exactas. Si simplemente el propósito es explicar un proceso visualmente pondremos texto directamente en el diagrama (Correcto o Incorrecto) valores que no sirven para la ejecución. Los Gateway también se usan para unir caminos (Merge). Como nos encontramos con un Exclusive Gateway nunca 2 actividades podrán llegar a la vez. Solo una. El End Event (Evento final) se diferencia del inicio porque la línea alrededor del círculo es más gruesa.

Usaremos el Token para en modelos complejos poder simular la lógica del proceso. Usando las reglas del BPMN. Creación del token al inicio del proceso o durante el proceso. N-veces. Una actividad recibe un token y lo envía hacia delante una vez se ha completado la actividad.

Exclusive Gateway sirve para juntar o dividir flujos. Existe un símbolo alternativo e idéntico que es el triángulo con una X en medio, son equivalentes. Por norma se escoge un único símbolo para toda la representación

Se permite múltiples entradas y múltiples salidas PERO no se considera una buena práctica y puede dar a malas interpretaciones del diagrama. Una buena práctica es separar los Gateways. Se aplica para todos los Gateways no sólo los exclusive.

Parallel Gateway: el flujo de secuencia, se divide en dos o más caminos. AND lógico. Se usa un triángulo con el + en el interior. Si el Token alcanza un Gateway paralelo, el token se duplicará. En la unión en puertas paralelas el token se espera hasta que el otro llegue.

Inclusive Gateway (Compuerta inclusiva): actúa como un OR lógico. La unión de flujo en una inclusive Gateway actúa como un Gateway paralelo. (Se puede seleccionar varios caminos).

Complex Gateway (compuerta compleja): Símbolo con una estrella dentro. No solo para unir también se puede usar para dividir.

Collaborations (Colaboraciones): Interacciones sincronizadas de 2 o más procesos sin un control central. Los procesos se comunican intercambiando mensajes. A esta interacción también se le llama Choreography (Coreografía). Las colaboraciones nos permiten documentar las interacciones con otras empresas. Se modelan con un mínimo de 2 o más pools. Normalmente en uno de los Pools se escribe el proceso que se quiere describir y en los otros la colaboración. Es correcto que el proceso a describir este en un pool implicito y no lo pintaríamos. Solo puede haber un pool implícito, Los flujos de mensaje se pintan con una flecha discontinua, Nunca pueden estar dentro de un mismo pool los flujos de mensaje, Los flujos de secuencia nunca pueden estar en dos pools.

Puede ser que no conozcamos los procesos internos pero si los mensajes a intercambiar con el partner. En este caso pintamos el pool sin procesos y los flujos de mensaje llegarán sólo hasta el borde del pool. En caso de que sólo se quiera documentar el intercambio de mensajes y su orden no hará falta dibujar los procesos en ninguno de los pools. Pero no podremos modelar que según un proceso nos devuelva un flujo de mensaje diferente, en función de la lógica. Para representar esto lo haremos con un diagrama de coreografía.

Los flujos de mensaje pueden trasportar contenido: documentos, datos u objetos físicos. En BPMN se puede distinguir entre el flujo del mensaje y el tipo de mensaje. El flujo de mensajes implica la transmisión y recepción de mensajes. Los mensajes se muestran con el símbolo del sobre, unidos sobre una línea discontinua o sobre el flujo del mensaje. El sobre blanco es el mensaje que se inicia y el sobre sombreado es la respuesta a un mensaje anterior.

Eventos Los eventos se usan para indicar que algo ha ocurrido. Indican un punto en el tiempo, al contrario que una actividad que no tiene ninguna duración. Cuando usamos los eventos hay que considerar 2 cosas:  La causa o desencadenante (Trigger).  Y su efecto en el proceso Ejemplos de Eventos:  Recepción de mensajes: email, fichero,  Alcanzar un punto en el tiempo: o Una alarma.  Una duración de tiempo determinada. o Después de X minutos hacer otra actividad.  Una condición se vuelve TRUE o Control de temperatura, control de presión, control de variables.  Ocurre un error o Un mensaje no entregado, un error en un sistema, etc. Aparte de los eventos de inicio y final, disponemos de eventos para dentro de los procesos y son los eventos intermedios. El evento intermedio se dibuja con dos líneas. Después de la actividad “Escribir solicitud de empleo” se realizará el evento intermedio de solicitud enviada y después el evento de confirmación de mensaje. El token se quedará esperando en el evento intermedio hasta que haya una confirmación

Eventos de inicio

Condicional: El proceso comienza cuando la condición es TRUE. Se le pinta como una lista. Señal: El evento de inicio se desencadena con la recepción de una señal. La señal no es dirigido es un mensaje transmitido por todos lados. Puede ser desencadenado desde un mismo pool o un pool diferente. Evento múltiple: Se dibuja un pentágono y combina varios eventos. Si uno de ellos ocurre se inicia el proceso. Evento múltiple paralelo: Todos los eventos han de ocurrir. Eventos finales

Los eventos finales se dibujan con el borde exterior grueso. El evento final sin tipo, cuando llega el token lo elimina pero no para el proceso entero. El evento final con tipo mensaje. Aparte de eliminar el token, hace una función.Envíar un mensaje. Siempre el icono pintado, es decir nunca aquí estaremos esperando un evento. El evento final relleno, aparte de eliminar el token, elimina todos los tokens del proceso. Por lo tanto para el proceso.

Al igual que a los eventos de inicio, los eventos finales pueden tener más opciones de orden superior. Como enviar una señal, en este caso es no dirigido O si una terminación implica enviar varios mensajes en este ejemplo 2. A diferencia con el pentágono en blanco es que en este caso se han de hacer todas las condiciones.

Omisión de eventos

Si no especificamos un evento de inicio o final. Se sobreentiende que hablamos de eventos de inicio y final sin tipo. Estos 2 diagramas son equivalentes y correctos para el BPMN. Pero no tienen un estilo correcto… Hay que poner eventos de inicio y final mejora la legibilidad sobre todo por personas ajenas al BPMN. Evento Intermedio

En los ejemplos vemos con el evento intermedio puede enviar (sobre relleno) o recibir mensaje (sobre vacío). ¿Podríamos eliminar el evento intermedio y que saliera el mensaje de la actividad? Sí, pero perderíamos claridad en el diagrama. Aseguramos el evento en el tiempo. Después de la actividad se hace el evento. Si un motor de proceso es capaz de automáticamente relacionar los mensajes recibidos a la instancia de su proceso le llamaremos CORRELACIÓN a esta función.

Muchas veces el modelo de proceso se hace muy grande y no nos cabe en una página. Para resolver esto usamos el evento intermedio enlace “link”. Es un icono con una flecha. Recordar el relleno del icono para enviar y en blanco para recibir el enlace. También podemos usar los eventos intermedios link para los bucles.

Decisiones basadas en eventos En BPMN podemos tener compuertas basadas en eventos. El evento que ocurra primero determina el camino. En este tipo de compuerta no hay condiciones basadas en datos sino que debe ser capturada por un evento intermedio.

Los mensajes también pueden ser recibidos por las actividades. Así podemos substituir los eventos intermedios por actividades con evento. Una actividad que sólo recibe un mensaje se le clasifica como actividad receptora o recepción.

Decisión y unión de flujos de secuencia sin Gateways Un Gateway exclusivo se representa de la misma forma. La diferencia está en las condiciones. Que deben ser definidas de forma que sólo una sea TRUE. La secuencia marcada como default (una línea que corta la flecha) tiene su alternativa en el otro modelo. Y funciona del mismo modo que el anterior.

Si dos secuencias de flujo salen de una actividad sin condición, se activarán tan pronto como la actividad haya acabado. Generando un token para cada salida. De igual manera se puede eliminar el Gateway. No hay unión de tokens sólo un token llegará a la actividad. O también se pueden combinar.

Actividades y subprocesos

En BPMN podemos tener 2 tipos de actividades: Tareas y subprocesos. Las tareas no tienen subdivisión sin embargo los subprocesos tienen un proceso inmerso. Los subprocesos se pintan con el símbolo más.

Representación expandida de un subproceso

Bucles y Actividades multi-instancia

Algunas actividades son repetidas varias veces en un proceso. Se modela con bucles. Se dibuja un con una flecha con forma de circunferencia. Los bucles se repiten indefinidamente hasta que la condición sea cierta.

Los subprocesos también pueden tener un bucle. El ejemplo con el subproceso expandido.

También podríamos representar los bucles con las compuertas. Otro tipo especial de actividades es la multi-instacia. Se dibuja con 3 líneas paralelas verticales. Se usa para procesar una colección de objetos. Se procesa para cada objeto de una colección. La multi-instancia a diferencia de los bucles no tiene porque ser secuencial. No implica orden e incluso se puede hacer en paralelo Si queremos que sea secuencial pintaremos las líneas en horizontal. Y no permitirá una ejecución en paralelo. Subprocesos Ad-hoc Un subproceso ad-hoc está marcado con una tilde aparte del +. Sólo puede ser usado en subprocesos y nunca en tareas. Como no sabemos el orden. No hay flujo de secuencia en las tarea de un subproceso ad-hoc. En el caso que haya un orden entre algunas de las tareas se pinta el flujo de secuencia.

Tipos de tareas

Service Task: es una función automatizada. Por ejemplo invocar un webservice. Receive Task: recibe un mensaje. Captura un evento de mensaje. Send Task: Corresponde a lazar un evento, enviar un mensaje. User Task: espera la entrada por un usario. A partir de un interfaz de dialogo.

Business Rule Task: uno o más reglas de negocio se aplican para producir un resultado o tomar una decisión. Se evaluan reglas que hay aplicar en la situación actual. Script Task: contiene una lista de sentencias que son ejecutadas por el motor de procesos. Manual Task: Es un proceso no informático. Abstract Task: No se ha definido el tipo. Llamadas a procesos y Tareas globales

En algunos casos una actividad debería reusarse en varios procesos. En BPMN existe la llamada a actividad. Call activity. Si la llamada actividad es una tarea, estaremos hablando de tarea global.

También con subprocesos. Las tareas globales y llamadas a subprocesos se hacen pintando una línea gruesa alrededor de la actividad.

Controlando Excepciones

Haciendo un examen puede ocurrir que el tiempo se agote antes de que la persona acabe el examen y causa que la actividad sea abortada. La actividad “Write examination” tiene dos salidas: una normal y un flujo de excepción que parte del evento intermedio del borde de la actividad. Sólo tiene efecto el evento de excepción mientras se está desarrollando la actividad.

Se puede adjuntar un evento de interrupción a un subproceso. En este ejemplo, si se recibe una cancelación, todo lo que ocurra en el subproceso se aborta. Todos los tokens son eliminados y se emitira un token por el flujo de excepción. Pero si el subproceso se ha procesado no pueden haber cancelaciones. Si una cancelación llega, será ignorada. Evento sin interrupción En el manejo de evento hay otra variante. El evento adjunto sin interrupción. Algunas veces nos interesa reaccionar a un evento pero no tiene que necesariamente abortar la actividad. La actividad puede continuar. Se creará 1 token nuevo y no eliminará el resto de la actividad. El icono del evento sin interrupción, es el evento intermedio pero con línea discontinua. En este ejemplo podemos procesar la actividad en paralelo. Si necesitamos juntar el flujo de secuencia de la interrupción con una compuerta. La compuerta correcta sería la inclusiva.

Controlando errores Una de los casos típicos de excepciones es el error. Se dibuja con el icono de rayo. Este tipo de evento intermedio no se puede usar en el flujo de secuencia. Sólo adjuntado al borde de una actividad Evento escalable El evento escalable es similar al evento de error. El evento de error se usa para problemas técnicos. El evento escalable su usa principalmente para problemas de negocio. Igual que en los eventos de error puede estar adjunto a un subproceso.

A diferencia del evento error. El evento escalable tiene su versión de no-interrupción con línea discontinua. Al igual que el evento de error. El evento escalable también puede cancelar la actividad. Evento subproceso

El evento de subproceso no se activa por un flujo de secuencia sino por un evento ocurrido durante la ejecución de un proceso. Un evento de subproceso no tiene ningún flujo de secuencia de entrada ni de salida. El borde que limita el subproceso se pinta punteado. El evento de subproceso se activa por un “change request received” como este evento de inicio es punteado es un evento de no-interrupción, el proceso principal continua ejecutándose en paralelo. El evento de subproceso puede tener varias instancias.

Se puede abortar el proceso principal desde el evento del subproceso. Se pintará con una línea sólida. Este subproceso contiene 2 eventos de subproceso. El primero es nointerrupción y el segundo sí. Un evento de inicio de tipo error. Sólo puede ser usado en un evento de subproceso. No hay variante de error de no-interrupción. (Línea discontinua). La mayoría de los otros tipos de evento pueden ser usados como de interrupción o no interrupción. El evento de escalado puede ser usado en un evento de subproceso. Sin embargo un evento de inicio sin tipo no se puede usar en un evento de subproceso. Transacciones El termino transacción es usado en diferentes contextos. En informática una transacción es una unidad completa de trabajo. Una transacción puede llevarse a cabo en su totalidad o nada. Si algo sale mal la transacción debe revertirse o deshacerse. Parte de los procesos de negocio se pueden tratar como una transacción. El ejemplo de la reserva de un viaje que necesita reservar avión y hotel. La reserva será correcta sólo si hemos reservado las 2 cosas. En el caso de que sólo consigamos una. La otra reserva debe ser anulada.

Si recibimos una cancelación. Creamos unas actividades/tareas para revertir la cancelación. Check Order no necesita compensación Sin embargo si Remove Goods from Stock y Pack Goods, en el caso de que se hayan realizado. Ejemplo de compensación con constructores básicos de BPMN. El recuadro pintado con un punto y línea de forma discontinua es un grupo. Sólo tiene propósitos de presentación, para resaltar una parte. Estos modelos se complican. La lógica de compensación es más grande que el propio proceso lógico.

Otra forma de modelar esto en BPMN es con transacciones. El borde del subproceso está pintado con una doble-línea que marca el subproceso como una transacción. Abortando una transacción se automáticamente revertir los efectos de las actividades. Para realizar esto, las actividades que se han de revertir (compensar) han de estar indicadas con el símbolo de rebobinar. Esto indica que en el caso de que esta actividad se ha realizado y llega una cancelación, esta actividad requiere que se revierta. Se adjunta en el borde de la actividad un evento intermedio de rebobinar. Un subproceso entero puede ser compensado. La actividad asociada a una compensación va unida con línea de puntos no confundirse con el flujo de mensaje. ¿Cómo se aborta una transacción? Una posibilidad es un trigger desde el exterior de abortar la transacción. El evento intermedio que captura la cancelación se pinta con un aspa en blanco y se le llama evento intermedio de cancelación. También podemos iniciar la cancelación desde el mismo proceso. Entonces lanzaremos una excepción de cancelación y lo pintaremos con un aspa rellena. Compensaciones Las compensaciones pueden ser modeladas sin transacciones. Se pueden usar eventos finales e intermedios de compensación. En el caso que el evento de compensación no lleve etiqueta significa que se ha de compensar todo. En este modelo no se puede reservar tren en primera instancia, no es un modelo correcto, es sólo un ejemplo de compensación.

Las compensaciones también pueden estar en un evento de subproceso. Han de comenzar con un evento de inicio de compensación y debe estar hecho con una línea sólida.

Objetos de datos en procesos

Cuando se lleva a cabo un proceso, se crean datos, información, ficheros, documentos. Un flujo de secuencia de una actividad a otra es a menudo acompañado por transferencia de datos. El principal propósito del flujo de mensaje es también intercambiar datos. Los...


Similar Free PDFs