Vous êtes sur la page 1sur 157

Tutorial interactivo de BPMN

Bienvenido al tutorial interactivo de BPMN v2.0


Objetivos:

Con esta gua tenemos la intencin de introducirte en el modelado


de procesos de negocio gracias a tres aspectos:
contenido terico, buenas prcticas y ejercicios de apoyo.
Gua de contenidos:

BPMN 2.0: Un paseo por la notacin BPMN que debera permitir


empezar a modelar procesos de negocio.
Patrones y antipatrones: Una presentacin de los patrones de
uso ms frecuente de flujo de trabajo.
Ejercicios: Una serie de ejercicios de desarrollo, para poner en
prctica tu conocimiento de BPMN.
Tests: Exmenes con preguntas cortas y varias posibles
respuestas sobre contenido terico.
Descargas: Material adicional para sacar mayor provecho a la web.
Enlaces: Pginas web con contenidos de inters.

Usted est en: Tutorial BPMN

Bienvenido al Tutorial de modelado BPMN 2.0


Este tutorial explica los fundamentos terico-prcticos del
estndar de notacin BPMN. Est organizado en captulos en el
cual, cada uno de ellos, profundiza en la comprensin de un
elemento de modelado especfico de esta notacin. Una vez
completado, podr modelar utilizando la notacin BPMN un proceso
de negocio complejo.
NDICE

Captulo 0: Introduccin y Manejo


Captulo 1: Eventos
Captulo 2: Actividades
Captulo 3: Nodos
Captulo 4: Swimlanes
Captulo 5: Conectores de Objetos
Captulo 6: Datos
Captulo 7: Artefactos
Captulo 8: Coreografas
Captulo 9: Conversaciones

Usted est en: Tutorial BPMN > Captulo 0

Captulo 0: Introduccin y Manejo


Este captulo tiene como objetivo mostrar el manejo del tutorial
especialmente en el tratamiento de la navegacin entre las pginas
de un captulo. As mismo, se dan unas pequeas nociones sobre
las organizaciones que sustentan los diagramas BPMN as como la
historia y evolucin del mismo.
ndice del captulo
1.
2.
3.
4.

Manejo del tutorial


El OMG
Los diagramas BPMN
Tipos de diagrama BPMN
1. Procesos de Negocio privados
2. Procesos pblicos
3. Colaboraciones
4. Coreografas
5. Conversaciones

Usted est en: Tutorial BPMN > Captulo 0 > Los diagramas BPMN

Los diagramas BPMN

Los diagramas BPMN


BPMN, Business Process Modeling Notation (en
espaol, Notacin para el Modelado de Procesos de Negocio), han
sido desarrollados como un estndar por el OMG.. El objetivo
principal de los diagramas BPMN es la de proveer una notacin que
sea entendible por todos los elementos responsables de un
negocio, desde los analistas que crean los primeros borradores del
proceso, hasta los desarrolladores tcnicos responsables de la
implementacin de la tecnologa que realizar estos procesos, y
finalmente, los usuarios
os finales que sern los encargados de
gestionarlos y monitorizarlos. As, un diagrama BPMN tiende un
puente estandarizado para el vaco existente que se suele crear
entre los diseos de los procesos de negocio y la implementacin
que se hace de dichos pro
procesos.
Origen del BPMN

La organizacin BPMI
BPMI, Business Process Management Initiative,
Initiative
desarrolla la herramienta BPML, Business Process Modeling
Language,, como un lenguaje de ejecucin de procesos XML y se da
cuenta de la necesidad de implementar una representacin grfica.
Posteriormente, BPML fue reemplazado por BPEL, Business
Process Execution Language
Language,, como el lenguaje destino para
ejecucin.

Agosto, 2001: Se forma un grupo de trabajo, el Notation


Working Group,, compuesto por 35 organizaciones, compaas
y personas individuales, que empiezan a elaborar el primer
borrador del BPMN.
Mayo, 2004: Se libera al pblico la especificacin BPMN 1.0.
Junio, 2005: BPMI forma parte y es mantenido por el OMG.
Febrero, 2006: Se adopta el BPMN 1.0 como un estandar del
OMG.
Febrero, 2008: Se libera al pblico la especificacin BPMN 1.1.
Enero, 2009: Se libera al pblico la especificacin BPMN 1.2.

Enero, 2011: Se libera al pblico la especificacin BPMN 2.0.

Qu es un diagrama BPMN?

Es una notacin basada en diagramas de flujos que permiten


modelar los procesos de negocio de una organizacin, entendiendo
por proceso de negocio toda descripcin que permita descubrir
como un negocio persigue sus objetivos. Esto es, un proceso de
negocio es la captura de una secuencia ordenada de actividades e
informacin suplementaria asociada que permite culminar con xito
el fin de un hito u objetivo importante del negocio.
El ejemplo que a continuacin se expone es un proceso de
negocio privado muy simple y bsico en el cual se especifica las
acciones que se han de realizar ante una peticin de un solicitante
de crdito.

Son varias las ventajas que presenta el BPMN frente a otras


tcnicas que permiten modelar procesos de negocio, como los
diagramas de actividad o los casos de uso de negocio:

Surge del acuerdo entre mltiples herramientas de modelado


de diferentes empresas, que tenan su propia (e incompatible)
notacin, para usar una nica, comn y estandarizada
notacin. Esto repercute en un menor tiempo de formacin y
un mayor entendimiento del usuario final.
Soporta un mecanismo para generar procesos de negocios
ejecutables (a travs del lenguaje BPEL) desde una capa
superior, la notacin del nivel de negocio. Esto evita la
aparicin de problemas debido a malas interpretaciones por
errores humanos o la traduccin a otros lenguajes.
En el contexto de la Ingeniera del Software, permite mejorar la
etapa de elicitacin de requisitos al proveer una notacin

entendible tanto para los profesionales del negocio como del


equipo responsable del anlisis.
Usted est en: Tutorial BPMN > Captulo 0 > Tipos de diagrama BPMN

Tipos de diagrama BPMN


El modelado de Procesos de Negocio se usa para comunicar una
gran variedad de informacin a una amplia variedad de audiencias.
La notacin BPMN est diseada para cubrir varios tipos de
modelado y permite la creacin y especificacin de Procesos de
Negocio desde que ste se inicia hasta que concluye. Los
elementos de modelado de la notacin BPMN (que sern vistos ms
adelante) permiten al lector distinguir fcilmente entre las secciones
de un diagrama BPMN. Hay tres tipos bsicos de sub-modelos
soportados actualmente en la versin 2.0 de BPMN:
1. Procesos (tambin llamado orquestaciones), incluyendo:
o Procesos de Negocio privados (internos)
o Procesos pblicos (ntese que los Procesos pblicos no
vienen seguidos de de Negocio)
2. Coreografas
3. Colaboraciones, que pueden incluir Procesos y/o Coreografas
o Conversaciones, una descripcin particular de una
Colaboracin.
En siguientes apartados, se ir profundizando y analizando en
detalle cada uno de estos modelos.
Usted est en: Tutorial BPMN > Captulo 0 > Tipos de diagrama BPMN > Procesos de Negocio privados

Tipos de diagrama BPMN. Procesos de Negocio privados.


Los Procesos de Negocio privados son aquellos que son internos
dentro de la propia organizacin. Por ello, tambin suelen ser
conocidos como workflow o, dentro del rea de servicios Web,
orquestaciones de servicios.
Si se utiliza el modelado mediante swimlanes (por ejemplo, en los
diagramas de tipo Colaboracin, que sern vistos ms adelante),
entonces el Proceso de Negocio deber estar contenido en una
nica calle. El flujo del proceso estar as mismo contenido dentro
de la calle y no podr cruzar la frontera de la calle. nicamente, el

flujo de mensajes podr cruzar la frontera para mostrar las


interacciones existentes entre diferentes Procesos de Negocio
privados.
El siguiente diagrama representa un Proceso de Negocio privado
no contenido en ninguna calle.

Usted est en: Tutorial BPMN > Captulo 0 > Tipos de diagrama BPMN > Procesos pblicos

Tipos de diagrama BPMN. Procesos pblicos.


Un Proceso pblico representa la interaccin entre un Proceso de
Negocio privado y otro Proceso. Slo aquellas Actividades que se
utilizan para comunicarse con el otro participante se incluyen en el
Proceso pblico. El resto de actividades internas del Proceso de
Negocio privado no se muestran en el Proceso pblico. De este
modo, el Proceso pblico modela el sentido y orden del flujo de
mensajes necesario para interactuar con el Proceso.

Dado que no se describe la naturaleza interna del Proceso del otro


participante, habitualmente suele denominarse a los Procesos
pblicos como abstractos (denominacin utilizada en BPMN 1.2).

Usted est en: Tutorial BPMN > Captulo 0 > Tipos de diagrama BPMN > Colaboraciones

Tipos de diagrama BPMN. Colaboraciones.


Una Colaboracin describe la interaccin entre dos o ms
Procesos independientes. Usualmente suele estar modelado por
dos o ms Calles, representando a los diferentes participantes. El
intercambio de mensajes entre ellos se representa mediante Flujos
de Mensaje que conectan dos Calles (o los objetos contenidos en
ellos) y suelen llevar asociado un texto descriptivo.

Usted est en: Tutorial BPMN > Captulo 0 > Tipos de diagrama BPMN > Coreografa

Tipos de diagrama BPMN. Coreografas.


Una Coreografa es la definicin grfica del comportamiento
esperado entre diferentes participantes que interactan entre s.
Mientras que un Proceso normal est contenido dentro de una Calle,
una Coreografa existe entre dos o ms Calles.
La apariencia de una Coreografa es similar a la de un Proceso de
Negocio privado, en el sentido de que consiste en una interconexin de Actividades, Eventos y Nodos. Sin embargo, una
Coreografa es diferente a aqul en varios sentidos. Por ejemplo, la

actividad de la Coreografa son interacciones que representan el


intercambio de un conjunto de Mensajes, en el que se ven
involucrados dos o ms Participantes.

Usted est en: Tutorial BPMN > Captulo 0 > Tipos de diagrama BPMN > Conversaciones

Tipos de diagrama BPMN. Conversaciones.


Un diagrama de Conversacin es una descripcin informal de un
diagrama de Colaboracin. Por ello, las Calles de una Conversacin
no suelen mostrar, aunque se puede, la naturaleza interna de cada
Proceso que describen. El objeto de estudio de un diagrama de
Conversacin es la relacin lgica que existe entre ellos. Por
ejemplo, en un proceso de venta, la relacin lgica que modelara un
diagrama de Conversacin sera el objeto o bien que se desea
adquirir, sin importar demasiado el Proceso interno que pueda
seguir tanto el participante Vendedor como la Tienda.
El siguiente ejemplo muestra un diagrama de Conversacin de
Envo y Entrega del que forman parte una gran variedad de
participantes.

Usted est en: Tutorial BPMN > Captulo 1

Captulo 1: Eventos
Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, los Eventos. Se mostrar cmo
funcionan, cmo se conectan, de qu tipos hay y sus smbolos
asociados. Todo proceso de negocio que quiera modelarse con un
diagrama BPMN debe empezar con un Evento, de ah el hecho de
que este tutorial se inicie explicando este smbolo.
ndice del captulo
1. Introduccin
2. Evento de Inicio
1. Conectando Eventos de Inicio
2. Comportamiento de los Eventos de Inicio
3. Evento de Inicio Simple
4. Evento de Inicio Mensaje
5. Evento de Inicio Temporizador
6. Evento de Inicio Error
7. Evento de Inicio Escalable
8. Evento de Inicio Compensacin
9. Evento de Inicio Condicional
10.
Evento de Inicio Seal
11.
Evento de Inicio Mltiple
Evento de Inicio Paralelo Mltiple
12.
Procesos con ms de un Evento de Inicio
13.
14.
Evento de Inicio Opcional
3. Evento Intermedio
1. Conectando Eventos Intermedios
2. Comportamiento de los Eventos Intermedios
3. Evento Intermedio Simple
4. Evento Intermedio Mensaje
5. Evento Intermedio Temporizador
6. Evento Intermedio Error
7. Evento Intermedio Escalable
8. Evento Intermedio Cancelacin
9. Evento Intermedio Compensacin
10.
Evento Intermedio Condicional
11.
Evento Intermedio Enlace
12.
Evento Intermedio Seal

13.
Evento Intermedio Mltiple
14.
Evento Intermedio Paralelo Mltiple
15.
Uso de los Eventos Intermedios
4. Evento de Fin
1. Conectando Eventos de Fin
2. Comportamiento de los Eventos de Fin
3. Disparadores conocidos para Eventos de Fin
4. Evento de Fin Terminacin
5. Resumen de Eventos
6. Fin del Captulo

Usted est en: Tutorial BPMN > Captulo 1 > Introduccin

Introduccin
Un Evento es algo que sucede durante el curso de un Proceso,
afectando al flujo de ejecucin por defecto del mismo y usualmente
lleva asociado un disparador y un resultado. Esta definicin es lo
suficientemente general que puede llegar a cubrir muchos
elementos dentro de un Proceso: El inicio o fin de una Actividad, el
cambio de estado de un documento, la recepcin de un mensaje
todo esto podra ser considerado un Evento. Sin embargo, BPMN
tiene restringido el comportamiento de los mismos para incluir
nicamente a aquellos tipos que afectarn la secuencia o la
temporizacin de una Actividad en un Proceso. Un Evento puede,
por tanto, iniciar, retrasar, interrumpir o finalizar el flujo del Proceso.
El smbolo asociado a un Evento es un crculo abierto. El nmero
y grosor de las lneas indica el tipo de Evento que se trata.
Atendiendo a este criterio se distinguen tres tipos de Eventos:
1. Evento de Inicio: Indica el comienzo de un Proceso de
Negocio.
2. Evento Intermedio: Ocurre entre un Evento de Inicio y otro de
Fin.
3. Evento de Fin: Indica el fin de un Proceso de Negocio.
En la actual versin de BPMN, la 2.0, se soporta un nuevo tipo de
Evento denominado No Interruptible. Se tratar con ms detalle en
posteriores secciones del captulo. Basta con saber, por ahora, que

es un tipo de Evento que no afecta al flujo del Proceso pero s tiene


otros efectos.
Aparte de los tipos listados anteriormente, un Evento puede tener
el siguiente comportamiento:
1. Captura (o recibe) un disparador. Todos los Eventos de Inicio
y algunos Intermedios tienen este comportamiento.
2. Lanza (o produce) un resultado. Todos los Eventos de Fin y
algunos Intermedios tienen este comportamiento. El resultado
de un Evento productor ser eventualmente capturado por un
Evento receptor.
Las prximas secciones explican estos tipos de Eventos y van
mostrando las diferentes opciones que estn disponibles en cada
uno.
Evento de Inicio
Un Evento de Inicio indica el punto donde comienza un Proceso y
el flujo de ejecucin del mismo. El smbolo asociado a este tipo de
Evento es un crculo abierto cuyo lmite viene definido con una
nica lnea de trazo fino.

El comienzo de un Proceso puede ser natural, entendindose


como natural que no necesita de ningn elemento para iniciarse o
bien, puede requerir de alguna circunstancia externa al propio
Evento para que ste se active. Esto es, el Evento necesita un
disparador para activarse. sta es la razn por la que existen
diferentes tipos de Eventos de Inicio que indiquen los diferentes
elementos que pueden llegar a disparar el inicio de un Proceso.
Estos elementos, que bien pueden ser un mensaje o un
temporizador, es lo que se conoce en la terminologa de BPMN,
disparador. El hecho de que el smbolo asociado a un Evento sea un
crculo abierto es para que en su interior pueda declararse el tipo de
disparador que activa el Evento.
Con cada nueva versin de BPMN se van habilitando ms y ms
posibles disparadores para poder modelar de manera ms eficiente

las diferentes situaciones. En la versin 1.1 haba 6 posibles


disparadores. En la versin actual, la 2.0, el nmero alcanza ya los
10 elementos.

Simple: El Evento no lleva asociado ningn disparador.


Mensaje: El disparador es un mensaje que se recibe desde
otra entidad o participante en el Proceso.
Temporizador: El disparador es una fecha y hora especfico o
bien un intervalo que se cumple regularmente (por ejemplo,
todos los viernes de julio).
Error: El disparador es una condicin de error que viene
definida por la excepcin producida en la ejecucin de otro
Proceso.
Escalable: El disparador es una condicin de apropiacin que
implica la ejecucin del Proceso por una entidad de mayor
responsabilidad.
Compensacin: El disparador es una condicin de
compensacin para la cancelacin de una Actividad ya
realizada.
Condicional: El disparador es una condicin que debe ser
cierta para activar el Evento.
Seal: El disparador es una seal que se difunda desde otro
proceso.
Mltiple: El disparador es un conjunto de los definidos
anteriormente.
Paralelo Mltiple: El disparador es un conjunto de los
definidos anteriormente.

En las siguientes secciones se ir definiendo y explicando con


detenimiento cada uno de estos disparadores.
Conectando Eventos de Inicio
La conexin de Eventos de Inicio, an no habiendo iniciado an el
Captulo de Conectores de Objetos, es muy simple de entender
puesto que la nica restriccin que existe es que slo tienen Flujos
de Secuencia de salida. No se permite que los Flujos de Secuencia
se conecten a un Evento de Inicio debido a que ste representa el
inicio de un Proceso.
A continuacin tiene la versin incorrecta y correcta de conexin
de Eventos de Inicio.

En el segundo caso, a pesar de que la Tarea es posible que se


realice ms de una vez no se reinicia todo el Proceso, simplemente
se itera sobre la Tarea Disear y Ejecutar Prueba.
Si lo que se desea es reiniciar todo el Proceso, esto es, desde el
Evento de Inicio, la solucin pasa por finalizar el Proceso actual y
activar posteriormente el Evento de Inicio. Se estara creando una
nueva instancia del Proceso.
Comportamiento de los Eventos de Inicio
Antes de explicar el comportamiento asociado a los Eventos de
Inicio, hay que definir previamente el concepto de token. Un token
refleja el punto exacto dnde se encuentra el flujo de ejecucin de
un Proceso. Este elemento, que en los siguientes diagramas ser
descrito mediante una flecha, servir al lector como gua para
comprender el comportamiento de los Eventos de Inicio y los
siguientes elementos de modelado que se definan.
Como se explic cundo se introdujo el concepto de Evento de
Inicio, stos son los que generan el flujo inicial de un Proceso. Un
Evento de Inicio crea, por tanto, un token.

Una vez activado el Evento y el token generado, ste inicia el flujo


del Proceso avanzando por el Flujo de Secuencia de salida.

Evento de Inicio Simple


Se define un Evento de Inicio de tipo Simple cuando no tiene
asociado ningn disparador. El uso ms comn que se realiza de l
es cundo en el Proceso que se desea modelar no viene
especificada ninguna causa que lo active. Su smbolo asociado es el
mismo que el de Evento de Inicio.

Evento de Inicio Mensaje


Este tipo de Evento sirve para iniciar un Proceso tras la recepcin
de un disparador de tipo Mensaje. Mensaje debe ser entendido aqu
en sentido amplio: recepcin de una notificacin administrativa,
recepcin de una carta, una llamada de telfono Todo aquello que
implique un intercambio directo entre dos participantes del Proceso
es un Mensaje. Estos participantes que aqu se nombran deben
estar en Calles diferentes (se volver a esto en otro captulo.

Su smbolo asociado es un marcador con forma de sobre dentro


del smbolo de Evento.

Tambin existe el tipo No Interruptible para este tipo de Evento. Se


diferencia del Evento de Mensaje en que el borde del crculo est
hecho a trazos. Se volver a explicar este smbolo en el captulo que
versa sobre las Actividades. Basta por ahora con saber cul es el
smbolo asociado.

A continuacin, tiene un ejemplo de un Proceso que se activa una


vez que se tiene constancia de un pedido de comida.

Evento de Inicio Temporizador


Modelar una condicin de tiempo en un diagrama BPMN es
sumamente sencillo. Basta con utilizar el disparador Temporizador.
ste indica que el Proceso se inicia cundo cierta condicin de
tiempo se cumple, ya sea una fecha y hora especfica como un
periodo de tiempo que se repite regularmente.
El marcador asociado a este disparador es un reloj.

Tambin tiene el tipo No Interruptible.

Finalmente, se muestra un ejemplo de uso.

Evento de Inicio Error


Este tipo de Evento viene asociado por la produccin de una
excepcin en la ejecucin de otro Proceso diferente al que se est
modelando. Este disparador, por tanto, suele estar asociado al
modelado de rutinas de manejo de excepciones que pueden ocurrir
en el contexto de un Proceso principal y cmo deben ser resueltas
correctamente.
El marcador asociado a este disparador es el de un rayo. No tiene
versin No Interruptible.

Evento de Inicio Escalable


Habitualmente, las tareas de mantenimiento estn jerarquizadas.
Existe una unidad de desarrollo para cada tarea. Sin embargo, si
aparece algn problema en una de ellas se deriva a una unidad de
mayor responsabilidad. Este concepto es el que se encuentra tras el
disparador Escalable.
Un Evento de Inicio de tipo Escalable implica que el contexto de
ejecucin del Proceso se sigue ejecutando en un nivel mayor de
prioridad y responsabilidad. Su smbolo asociado es el de una
flecha.

Tambin tiene versin No Interruptible.

Evento de Inicio Compensacin


Existe una alta probabilidad de que en el transcurso de un
Proceso se haya realizado una Actividad que necesite, a posteriori,
ser cancelada. Para modelar esta situacin se tiene el disparador
Compensacin. Se utiliza para deshacer las acciones ya realizadas
en una transaccin abortada. Se retomar ms adelante este
concepto en los siguientes captulos.
El marcador asociado a este disparador son dos flechas contiguas
apuntando a la izquierda.

Evento de Inicio Condicional


Hasta este punto, se ha visto cmo modelar Procesos que se
activen una vez ocurridos instantes de tiempo, con el disparador
Temporizador, o recibir una informacin, con el disparador Mensaje.
Para el resto de situaciones con otras condiciones se tiene el
disparador Condicional. Los Eventos de Inicio de tipo Condicional
representan una situacin en la que cierta condicin, que se hace
verdadera, activa el Proceso.
Este Evento suele activarse cuando se produce un cambio en los
datos del Proceso. El disparador Condicional simplemente se utiliza
para definir qu detalles de ese cambio en el contexto del Proceso
lo activan.
Esta condicin puede estar definida mediante una expresin, en
lenguaje natural o computacional, que prueba una serie de datos y
en la que se obtiene una respuesta de Verdadero o Falso. La
activacin del Evento ocurre cundo esa condicin se evala a
Verdadero. Para que pueda dispararse de nuevo el Evento, dicha
condicin debe volver a Falso y Verdadero nuevamente.
El marcador asociado a este disparador es un prrafo de texto con
lneas.

Tambin tiene una versin No Interruptible.

Se adjunta un ejemplo de uso de este Evento.

Evento de Inicio Seal


Un Evento de Inicio de tipo Seal activa el Proceso cuando recibe
una seal proveniente de otro participante o Proceso. Puede parecer
que es equivalente al disparador Mensaje pero tiene sutiles
diferencias.
En el disparador Mensaje, remitente y destinatario son conocidos,
el mensaje tiene un origen y destino. Una Seal es diferente al
Mensaje, tiene un origen (aqul que la produce) pero puede tener
ms de un destinatario. Ser ste, el destinatario, el que decida si
responde o no a la Seal. Puede hacerse un smil con una bengala.
Todo el mundo que est alrededor ver la luz de la bengala pero es
decisin de cada uno acudir a la llamada o no. Es por eso que suele
utilizarse ms el concepto de difusin que de envo de una Seal.
Otra diferencia con respecto al disparador Mensaje es que una
Seal puede ser emitida dentro del propio Proceso y no,
obligatoriamente, desde otro participante.
El marcador asociado al disparador Seal es un tringulo.

Tambin tiene una versin No Interruptible.

Se adjunta un ejemplo de uso de este Evento.

Evento de Inicio Mltiple


Un Evento de Inicio de tipo Mltiple encapsula a un conjunto de
los disparadores definidos anteriormente. Esto es, cuando se recibe
uno de los que estn definidos en el disparador Mltiple, se activa el
Proceso. Hay que tener en cuenta que cada disparador crear una
instancia diferente del Proceso no vindose afectado el flujo de
activaciones previas que se hayan iniciado.
El marcador asociado a un disparador Mltiple es un pentgono.

Tambin tiene una versin No Interruptible.

Evento de Inicio Paralelo Mltiple


Un Evento de Inicio de tipo Paralelo Mltiple es equivalente al
anterior en el sentido de que encapsula a un conjunto de los
disparadores definidos anteriormente. La diferencia entre el Evento
Mltiple y el Paralelo Mltiple es que, como se ha visto, en el
primero slo se requiere que se active uno de los que tiene
definidos. Sin embargo, para el disparador Paralelo Mltiple se
requiere que todos los disparadores que tenga definidos se activen.
Una vez que esta condicin se cumple, el Proceso se activa.

El marcador asociado a un disparador Paralelo Mltiple es un


signo de suma abierto.

Tambin tiene una versin No Interruptible.

Procesos con ms de un Evento de Inicio


El caso ms comn a la hora de iniciar el modelado de un Proceso
es que slo se necesite un Evento de Inicio, que podr tener o no un
disparador asociado. Sin embargo, no es menos habitual tampoco
que un cierto Proceso tenga que ser modelado con ms de un
Evento de Inicio. Esta caracterstica est soportada en los
diagramas BPMN pudiendo realizar cualquier combinacin de
Eventos de Inicio que se necesite, sean con o sin disparador.
Modelar con ms de un Evento de Inicio se necesita cundo hay
varias formas de que un Proceso se active, pudiendo cada uno
empezar por un punto diferente del mismo.
Cada Evento de Inicio es independiente de los que haya definido
en el mismo Proceso. Por ello, cada vez que alguno de ellos se
active generar una nueva instancia del Proceso no vindose
afectado, por tanto, las instancias previas del mismo que se hayan
ya iniciado.

Evento de Inicio Opcional


Dependiendo de la complejidad de modelado de un Proceso,
puede prescindirse del uso de Eventos de Inicio para modelarlo.
Esto es, el uso de un Evento de Inicio es opcional y queda a cargo
del modelador incluirlo en el diagrama o no. El primer elemento sin
Flujos de Secuencia de entrada ser el que inicie el flujo del
Proceso y el ltimo elemento sin Flujo de Secuencia de salida el que
lo finalice.
Eso s, el uso de Eventos de Inicio y de Fin est indisolublemente
unido. Si no se utiliza un Evento de Inicio. entonces no puede
usarse un Evento de Fin en el diagrama y viceversa.
Si el Proceso necesita un disparador asociado de los vistos
anteriormente que no sea el Simple, entonces el diagrama debe
incluir obligatoriamente el Evento de Inicio con el disparador
asociado.
Las buenas prcticas de modelado con diagramas BPMN
recomiendan incluir siempre los Eventos de Inicio.
Evento Intermedio
Un Evento Intermedio aparece entre un Evento de Inicio y otro de
Fin. Por tanto, indica que algo sucede despus de que un Proceso
se inicia y antes de que ste haya finalizado. Su smbolo asociado
es un crculo abierto con dos lneas de trazo fino delimitando el
borde.

Los Eventos Intermedios se insertan dentro del flujo del Proceso


representando acciones y efectos que aparecen durante la
ejecucin del mismo.
Al igual que los Eventos de Inicio se han ido aadiendo cada vez
ms disparadores de Eventos Intermedios para modelar
adecuadamente las diferentes situaciones. En la versin 1.1 de
BPMN haba 9 disparadores diferentes. En la versin 2.0 el nmero

llega hasta los 12. Algunos son ya conocidos, otros an no han sido
explicados.

Simple
Mensaje
Temporizador
Error
Escalable
Cancelacin
Compensacin
Condicional
Enlace
Seal
Mltiple
Paralelo Mltiple

El disparador Cancelacin sirve para cancelar un tipo de actividad


concreta, se volver a este evento en el siguiente captulo. El
disparador Enlace sirve para habilitar un vnculo imaginario entre
dos Procesos.
La principal diferencia entre los disparadores de los Eventos de
Inicio e Intermedios es que mientras que ambos pueden capturar un
disparador, un Evento Intermedio tambin puede lanzarlos. Se
estudiar su comportamiento en la siguiente seccin.
Conectando Eventos Intermedios
Como se ha dicho anteriormente, un Evento Intermedio se coloca
en el flujo interior de un Proceso por lo que slo se permite que
tenga un Flujo de Secuencia de entrada y uno de salida.

Comportamiento de los Eventos Intermedios


Una vez que el token llega a un Evento Intermedio desde un Flujo
de Secuencia de entrada, ste realizar alguna de estas dos
acciones:
1. Esperar a un disparador que lo active. En este primer caso,
se denomina un Evento Intermedio capturador. El marcador
asociado a este tipo de Eventos tiene un fondo de color
blanco, el mismo smbolo que para los Eventos de Inicio dado
que, como ya se ha visto, tambin producen una espera hasta
que son activados.
2. Lanzar inmediatamente un resultado. Para este caso, es lo
que se conoce como un Evento Intermedio lanzador. El
marcador asociado, en contraposicin a los Eventos que
capturan, tiene un fondo de color negro. Como se ver ms
adelante, es el mismo smbolo que se utilizar para los
Eventos de Fin, que tambin producen un resultado
inmediatamente.
Por un lado, los disparadores capturados por un Evento
Intermedio son:

Mensaje.
Temporizador.
Error.

Escalable.
Cancelacin.
Compensacin.
Condicional.
Enlace.
Seal.
Mltiple.
Paralelo Mltiple.

Por otro, los resultados lanzados por un Evento Intermedio son:

Mensaje.
Escalable.
Compensacin.
Enlace.
Seal.
Mltiple.

Un token que llega a un Evento Intermedio capturador esperar


hasta que el disparador asociado al Evento se active. A
continuacin, saldr inmediatamente de ste avanzando por el Flujo
de Secuencia de salida.
Un token que llega a un Evento Intermedio lanzador activar
inmediatamente el disparador. A continuacin, saldr
inmediatamente de ste avanzando por el Flujo de Secuencia de
salida.
Evento Intermedio Simple
Al igual que el Evento de Inicio Simple, un Evento Intermedio no
tiene que estar asociado necesariamente a un disparador. Un
Evento Intermedio sin disparador se denomina de tipo Simple.
El uso ms comn que se hace de l es como documentacin tras
finalizar una Actividad que no requiere ningn tratamiento especial,
como la de alcanzar una versin programada del Proyecto, por
ejemplo. En la mayora de las ocasiones, establecer un nombre
descriptivo al Evento es suficiente.
Dado que no hay disparador asociado, una vez que el token llega a
un Evento Intermedio Simple se lanza de inmediato.

Una vez activado el Evento, el token sigue circulando por el Flujo


de Secuencia de salida.

Evento Intermedio Mensaje


Un Evento Intermedio de tipo Mensaje tiene, como ya se ha visto
en el Evento de Inicio, un marcador con forma de sobre. Se
diferencia el smbolo segn sea un Evento capturador o lanzador.
Evento lanzador

Este tipo de Evento indica que se lanzar un mensaje cundo ste


se active. Como ya se ha dicho, cuando el token alcance el Evento
activar el disparador y seguir por el Flujo de Secuencia de salida.
Evento capturador

Este tipo de Evento indica que se capturar un mensaje. Esto es,


cuando el token llegue al Evento se producir una espera hasta que
un disparador de mensaje lo capture y pueda proseguir el flujo de
ejecucin del Proceso. Una vez recibido el mensaje, el token seguir
por el Flujo de Secuencia de salida.
Evento No Interruptible

Del mismo modo que con los Eventos de Inicio, los Eventos
Intermedios pueden tener su versin No Interruptible. Basta con
saber, por ahora, el smbolo asociado que es equivalente a un
Evento Intermedio capturador con el borde realizado a trazos. En
posteriores captulos se explicarn con ms detalle.
Ejemplo de Uso

Evento Intermedio Temporizador


Un Evento Intermedio de tipo Temporizador tiene, como ya se ha
visto en el Evento de Inicio, un marcador con forma de reloj.
Evento lanzador

Evidentemente, un Evento que produzca una espera de tiempo no


tiene sentido. Por esto, no hay un simbolo asociado a un Evento
Intermedio productor de tipo Temporizador.
Evento capturador

Cuando el token llegue al Evento se producir una espera hasta


que se cumpla la condicin de tiempo especificada en el Evento.
Una vez cumplido, el token seguir por el Flujo de Secuencia de
salida.
Evento No Interruptible

Ejemplo de Uso

Evento Intermedio Error


Este tipo de Evento suele estar unido al concepto de interrupcin
de Actividades, que an no se ha explicado y se retomar ms
adelante. Por lo tanto, slo se mostrar el tipo de smbolo asociado.
Evento lanzador

Aunque podra suponerse que debera existir un Evento


Intermedio que produjera un Error debido a una excepcin
producida en el flujo del Proceso no se tiene un smbolo asociado a
este tipo de situaciones. Esto se debe a que en el modelado BPMN
una condicin de Error est asociado con la terminacin inmediata
del Proceso. Es por esto por lo que slo se tienen Eventos de Fin de
Error.
Evento capturador

Este Evento puede ser utilizado nicamente cundo es adjuntado


a una Actividad y se retomar en el siguiente captulo.
Evento No Interruptible

No tiene

Evento Intermedio Escalable


Al igual que en los Eventos de Inicio, este tipo de disparador va
asociado al cambio de contexto de ejecucin del Proceso hacia un
nivel mayor de responsabilidad.
Evento lanzador

Evento capturador

Evento No Interruptible

Evento Intermedio Cancelacin


Los Eventos Intermedios de Cancelacin slo pueden capturar
una transaccin abortada. Dado que se trata de un concepto no
explicado an de una Actividad, se retomar su estudio en el
siguiente captulo. De momento, slo se va a mostrar su smbolo.
Evento lanzador

Del mismo modo que el Evento Intermedio de Error, suele estar


asociado con la terminacin inmediata del Proceso. sta es la razn
de que no exista smbolo productor a este tipo de Evento
Intermedio.
Evento capturador

Evento No Interruptible

No tiene.

Evento Intermedio Compensacin


Este tipo de Evento est ligado al comportamiento de las
Actividades, por lo que se explicar en el siguiente captulo. Esta
seccin muestra simplemente el smbolo asociado a este
disparador.
Evento lanzador

Evento capturador

Evento No Interruptible

No tiene.

Evento Intermedio Condicional


El Evento Intermedio Condicional modela una situacin en la cual
un Proceso est detenido hasta que cierta condicin lgica se
vuelve verdadera. El marcador asociado a este Evento es igual que
el que ya se vio para el Evento de Inicio, un prrafo con lneas de
texto.
Son varios los usos dados a este Evento. De entre ellos, el que se
encuentra relacionado con las Actividades se ver en el siguiente
captulo. Aqu, se mostrar cundo se utiliza en medio del flujo de
un Proceso.
Evento lanzador

Dado que las condiciones lgicas que se estn evaluando estn


predefinidas antes de modelar un Proceso en un diagrama BPMN no
existe un Evento productor para este disparador.
Evento capturador

Cuando el token llegue al Evento, ste se quedar esperando


hasta que la condicin que establece el disparador se vuelva
verdadera. Hay que tener especial cuidado al modelar esta
situacin, porque si la condicin no se vuelve verdadera en algn
momento se produce una espera indefinida en el Evento. Cuando se
cumpla la condicin, el token seguir circulando por el Flujo de
Secuencia de salida.
Evento No Interruptible

Ejemplo de Uso

Evento Intermedio Enlace


Un Evento Intermedio de Enlace sirve para conectar partes
separadas de un mismo Proceso que, por cualquier motivo, no
puede mostrarse en una nica seccin. Suele estar asociado con
problemas de impresin en papel de Procesos que no caben en las
dimensiones y deben ser seccionados en diferentes partes, o bien,
como un mecanismo que habilita para hacer saltos de flujo de
ejecucin en el Proceso, al estilo de un GoTo computacional.
Para evitar resultados ambiguos, se recomienda etiquetar los
Eventos con el mismo descriptor. El Evento de Enlace origen es de
tipo lanzador y, por tanto, produce un disparador, mientras que el
destino es de tipo capturador y captura el que se ha lanzado
previamente.
Evento lanzador

Evento capturador

Evento No Interruptible

No tiene.
Ejemplo de Uso

que es equivalente a hacer

Evento Intermedio Seal


Un Evento Intermedio de Seal difunde un disparador que ser
capturado en los Eventos receptores que tengan que responder a la
indicacin. Como ya se vio en los Eventos de Inicio con este
disparador, una Seal tiene un origen conocido, aqul que origina la
difusin de sta, pero varios receptores y sern stos los que
decidan si responder o no a la peticin que se les enva.
Un Evento Intermedio lanzador de este disparador difundir la
Seal y seguir avanzando por el flujo del Proceso mientras que un
Evento Intermedio capturador esperar en ste hasta que se reciba
la peticin.
Evento lanzador

Evento capturador

Evento No Interruptible

Ejemplo de Uso

Los usos que se hacen de este tipo de disparador son muy


variados ya que la propia semntica del smbolo as lo permite y
pueden abstraerse muchos comportamientos difciles de modelar
mediante el envo de una Seal. Se puede citar, por ejemplo:

Ordenacin de Procesos: Una vez finalizado un Proceso,


difunde una Seal para que el resto siga con su flujo de
ejecucin.
Secciones crticas y condiciones de carrera: El uso de
recursos compartidos que deben ser utilizados en exclusin
mutua.
Estados de desarrollo: Puede servir como punto de
informacin de que se ha alcanzado un punto relevante del
Proceso.
Manejo de excepciones...

Evento Intermedio Mltiple


El Evento de disparador Mltiple es ya conocido, por haber sido
estudiado en la seccin de Eventos de Inicio. Se trata de un tipo de
disparador que encapsula un conjunto de los vistos anteriormente.
Evento lanzador

Cuando el token llegue a un Evento Intermedio productor enviar


todos los disparadores que estn definidos en l y seguir
circulando por el flujo del Proceso.

Evento capturador

Se producir una espera en el Evento hasta que llegue cualquiera


de los que estn definidos en l.
Evento No Interruptible

Evento Intermedio Paralelo Mltiple


El Evento de disparador Paralelo Mltiple es equivalente al
Mltiple dado que tambin encapsula un conjunto de los vistos
anteriormente.
Evento lanzador

No tiene. Debe utilizarse el Evento productor Mltiple.


Evento capturador

Para este disparador, y a diferencia del Mltiple, se producir una


espera en el Evento hasta que lleguen todos los que estn definidos
en l.
Evento No Interruptible

Uso de los Eventos Intermedios


Dos son los lugares en los que se pueden utilizar los Eventos
Intermedios. Uno de ellos es dentro del flujo del Proceso para, como
ya se ha visto, lanzar un disparador o esperar hasta su llegada
dependiendo del tipo de Evento Intermedio que se trate. Otro lugar
en dnde se utilizan es en el borde de las Actividades, que se
explicar en el siguiente captulo.
Esta seccin indica qu disparadores pueden utilizarse en cada
uno de los lugares dnde est permitido su uso.
Tipos de Eventos Intermedios en el Flujo del Proceso

Simple
Mensaje
Temporizador
Escalable
Compensacin
Condicional
Enlace
Seal
Mltiple
Paralelo Mltiple

Tipos de Eventos Intermedios anclados al borde de una Actividad

Mensaje
Temporizador
Escalable
Error
Cancelacin
Compensacin
Condicional
Seal
Mltiple
Paralelo Mltiple

Evento de Fin
Como el propio nombre indica, un Evento de Fin indica el final de
un Proceso. El smbolo asociado a un Evento de Fin es un crculo

abierto con el trazo del borde notoriamente ms grueso que el


Evento de Inicio.

Manteniendo la consistencia del modelo BPMN que ya se ha visto


hasta el momento, los Eventos de Fin tambin tienen asociado un
disparador que permita modelar adecuadamente las diferentes
situaciones que puedan ocurrir en el diseo de un Proceso
concreto. Un Evento de Fin siempre producir un resultado, tenga o
no un disparador asociado.
Otra caracterstica de los Eventos de Fin es que siempre son
lanzadores de resultados, en contraposicin a los Eventos
Intermedios que tambin podan capturar. Por tanto, todos los
marcadores asociados a los disparadores estn rellenados de color
negro.
Pocas son las variaciones que se han ido realizando en los
Eventos de Fin con las sucesivas versiones que se han ido
haciendo de BPMN. Si en la versin 1.1 haba 8 disparadores, en la
actual, la 2.0, hay nicamente uno ms, 9:

Simple
Mensaje
Escalable
Error
Cancelacin
Compensacin
Terminacin
Seal
Mltiple

Conexin de Eventos de Fin


Los Eventos de Fin tienen la misma restriccin de conexin
que los Eventos de Inicio pero opuesta. Esto es, un Evento de
Fin slo puede ser conectado mediante un Flujo de Secuencia
de entrada pero no de salida.

Comportamiento de los Eventos de Fin

Los Eventos de Fin reflejan el fin del Proceso que se est


modelando. Una vez que el token llega a un Evento de Fin se lanza
el disparador que tenga asociado y a continuacin se consume.

El flujo de un Proceso se termina en cunto llega a un Evento de


Fin. Tambin hay que tener en cuenta que dentro de un Proceso
puede haber definido ms de un Evento de Fin por lo que es posible
tener ms de un hilo de ejecucin que continuarn a pesar de que
un token sea consumido en uno de ellos. Si el Proceso sigue
teniendo algn token activo en otro hilo de ejecucin, ste seguir
con vida hasta que todos hayan alcanzado algn Evento de Fin.

Disparadores conocidos para Eventos de Fin


Evento de Fin Simple

Este Evento no tiene un disparador asociado. Simplemente se


consume el token cuando llegue al Evento.
Evento de Fin Mensaje

Antes de consumir el token se lanza un disparador de tipo


Mensaje.
Evento de Fin Escalable

Antes de consumir el token se lanza un disparador de tipo


Escalable.
Evento de Fin Error

Antes de consumir el token se lanza un disparador de tipo Error.


Evento de Fin Cancelacin

Antes de consumir el token se lanza un disparador de tipo


Cancelacin.
Evento de Fin Compensacin

Antes de consumir el token se lanza un disparador de tipo


Compensacin.
Evento de Fin Seal

Antes de consumir el token se lanza un disparador de tipo Seal.


Evento de Fin Mltiple

Antes de consumir el token se lanza un disparador de tipo


Mltiple.

Evento de Fin Terminacin


Este tipo de Evento de Fin no es conocido por lo que se explica a
continuacin. Este disparador tiene una caracterstica importante
que lo diferencia del resto. Si un token llega hasta un Evento de Fin
Terminacin causa la interrupcin y finalizacin inmediata del
Proceso aun existiendo otros tokens activos en el mismo.
Su smbolo asociado es un doble crculo incluido uno dentro de
otro.

Resumen de Eventos
Disparador
Mensaje
Temporizador
Error
Escalable
Cancelacin
Compensacin
Condicional
Enlace
Seal
Terminacin
Mltiple
Paralelo Mltiple

Se capturan Se producen No interruptibles

Captulo 2: Actividades
Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, las Actividades. Una Actividad
representa una accin que se realiza en el transcurso de un
Proceso. Ya se ha visto el smbolo de un tipo de Actividad en los
ejemplos que se han ido adjuntando en el primer captulo, por lo que
en ste se le dar sentido semntico.
ndice del captulo
1. Introduccin
2. Tarea
1. Especializacin de Tareas
2. Tarea o Evento Intermedio?
3. Subproceso
1. Tipos de Subproceso
4. Conectando Actividades
1. Conectando Subprocesos
5. Comportamiento de las Actividades
1. Comportamiento de los Subprocesos
6. Repeticin de Actividades
7. Cancelacin de Actividades
8. Atributo de Actividades
1. Atributo de Subprocesos
9. Fin del Captulo

Introduccin
Una Actividad representa el concepto principal de un Proceso
puesto que modela la realizacin de alguna accin que se ha de
ejecutar en el mismo. Una Actividad conllevar un cierto tiempo de
ejecucin para realizarla, necesitar uno o ms recursos de la
organizacin, requerir de un algn tipo de entrada y producir
algn tipo de salida.
Dependiendo del nivel de detalle de la Actividad, se distinguir
entre:
1. Tareas: Son Actividades atmicas. Representa el nivel ms
bajo de detalle presente en el Proceso.
2. Subprocesos: Son Actividades compuestas. Se pueden
expandir para ver otro nivel inferior de un Proceso.
As mismo, una Actividad puede ejecutarse ms de una vez
definiendo bucles internos. Pueden establecerse de manera sencilla
condiciones de repeticin de varias maneras, todas ellas
soportadas en BPMN y que se vern ms adelante.

Tarea
Una Tarea es una Actividad atmica. Se utiliza cuando el nivel de
detalle del Proceso no debe o no puede descomponerse todava
ms. Esto no quiere decir que una Tarea no pueda ser compleja.
Simplemente que, en el modelado del Proceso que se est creando,
no se requiere definir con un nivel mayor de detalle.
Su smbolo asociado es el de un rectngulo con las cuatro
esquinas redondeadas y suele describirse la accin que se realiza
en ella con una sentencia en su interior.

Del mismo modo que ocurra con los Eventos y sus disparadores
asociados, una Tarea puede especializarse para mostrar de una

manera grfica las diferentes situaciones recurrentes que pueden


ocurrir en el modelado de un Proceso. Por ejemplo, que cierta Tarea
deba ser realizada personalmente y no automatizada. Su uso est
asociado para usuarios ms avanzados de BPMN y excede el
contenido del tutorial por lo que slo sern mostrados en la
siguiente seccin de forma somera.
Especializacin de Tareas
Tarea Simple

Una Tarea genrica representando una accin muy general o


frecuente. La propia descripcin de la Tarea resuelve cualquier
aspecto ambiguo.
Tarea Servicio

Una Tarea que hace de enlace a alguna aplicacin Web o servicio


automatizado.
Tarea Envo

Una Tarea que enva un mensaje a un participante fuera del


Proceso.

Tarea Recepcin

Una Tarea que antes de completarse espera que le llegue un


mensaje de otro participante fuera del Proceso.
Tarea Usuario

Una Tarea cuya ejecucin debe recaer en la responsabilidad de un


intrprete humano asistido, generalmente, por una aplicacin
Software.
Tarea Manual

Una Tarea no automtica realizada por un intrprete humano fuera


del flujo de control.
Tarea Regla Negocio

Una Tarea que, asistida por un motor de Reglas de Negocio,


calcula el resultado dependiente de unos datos de entrada
afectados por una Regla de Negocio.
Tarea Script

Una Tarea ejecutada por un Script descrito en el diagrama.

Tarea o Evento Intermedio?


BPMN permite modelar diferentes situaciones de muy variadas
maneras, por lo cual es el modelador el responsable ltimo de que
su diseo sea coherente con el Proceso que est analizando.
El lector habr podido observar que el comportamiento de las
Tareas de Envo y de Recepcin es equivalente al de los Eventos
Intermedios lanzadores y capturadores de Mensaje.
Por lo tanto, es equivalente modelar de una forma u otra.

equivale a

Las buenas prcticas de BPMN recomiendan no mezclar ambos enfoques en


el mismo Proceso, siendo el modelador el que decida utilizar alguna de las
dos opciones.

Subproceso
Un Subproceso representa una Actividad compuesta. Esto quiere
decir que una Actividad puede modelar en su interior otro Proceso.
Se tiene, por tanto, soportado de forma nativa en BPMN una
estructura jerrquica de Procesos siguiendo una relacin paternofilial, llegando en cada Subproceso hijo a un Proceso de menor nivel
de detalle y nivel abstracto.
Dos son las representaciones que se tienen de un Subproceso.
Subproceso Colapsado

Su smbolo no es distinguible de la Tarea, un rectngulo con las


cuatro esquinas redondeadas salvo por un signo de suma en su
parte inferior que indica que se puede expandir.
En este tipo de Subproceso no puede verse su comportamiento
interno, el Proceso que est modelando.

Subproceso Expandido

Es un Subproceso en el que puede verse los detalles internos del


mismo, el Proceso que est modelando. Su smbolo es el mismo
que la Tarea pero notoriamente mucho ms grande para permitir
modelar cmodamente dentro de l.

Tipos de Subproceso
Del mismo modo que pasaba con la Tarea, los tipos de
Subproceso que existen en BPMN no son importantes para la
mayora de sus usuarios y escapa a los objetivos docentes de este
tutorial. Por esto, simplemente se va a dar una pequea idea de
cules son y para qu se usan.
Subproceso Embebido

Un Subproceso Embebido slo es visible dentro del mbito del


Proceso padre. Por tanto, no est disponible para ser utilizado
dentro de otros Procesos teniendo que ser, de nuevo, modelado.
Por depender de su Proceso padre, ste comparte con aqul todos
los datos que estn almacenados en el segundo.
Subproceso Reutilizable

El propio nombre lo indica, se trata de un Subproceso disponible


para ser utilizado en el modelado de diferentes Procesos padre. Se
trata de un Proceso que realiza una Actividad recurrente y de amplio

uso que permite modularizar y paquetizar de forma ptima un


Proceso de mayor nivel.
Conectando Actividades
Aunque an no se ha iniciado el captulo dedicado a los
Conectores de Objetos, basta con saber, por ahora, que una
Actividad puede estar conectada con uno o ms Flujos de
Secuencia de entrada y tener uno o ms Flujos de Secuencia de
salida.
Los siguientes ejemplos representan diagramas BPMN
correctamente conectados:

Conectando Subprocesos
Dado que un Subproceso es un tipo particular de Actividad,
hereda de ste las restricciones de conexin que hemos visto en la
seccin anterior. Sin embargo, tambin posee ciertas restricciones
propias que deben ser explicadas para poder modelarlo
adecuadamente.
Aplicar las restricciones de conexin vistas anteriormente a un
Subproceso Colapsado es muy sencillo dado que simplemente hay
que conectarlo con un Flujo de Secuencia.

Ahora bien, un Subproceso Expandido, en el que puede verse el


Proceso interno que est modelando, puede dar lugar a confusin a
la hora de ser conectado con un Flujo de Secuencia. Existe la
restriccin de que un Flujo de Secuencia del Proceso padre no
puede sobrepasar el lmite del borde del Subproceso Expandido.

Sin embargo, existe la posibilidad de situar el Evento de Inicio o


Fin del Subproceso en la lnea que delimita el borde del mismo, a fin
de clarificar la interaccin entre el Proceso padre y el hijo.

Esto, que en situaciones en las que el Subproceso tiene


nicamente un Evento de Inicio o Fin carece de utilidad, permite que
Subprocesos con ms de un Evento de Inicio o Fin puedan ser
modelados sin obtener diagramas ambiguos.

Evidentemente, la segunda solucin, an siendo los dos


diagramas correctos en trminos de conexin, es menos ambigua
que la primera.

Comportamiento de las Actividades


Cuando el token llegue a una Actividad desde un Flujo de
Secuencia de entrada indica que sta est lista para comenzar su
ejecucin.

Una vez que est dentro de la Actividad, sta se ir ejecutando


hasta finalizar su realizacin.

Toda vez que la Actividad se haya realizado completamente, el


token avanzar por el Proceso siguiendo por el Flujo de Secuencia
de salida.

Este comportamiento general es aplicable nicamente cuando la


Actividad est conectada con un Flujo de Secuencia de entrada y
otro de salida.
Si la Actividad tiene ms de un Flujo de Secuencia de entrada,
cada uno de ellos es independiente del resto. Esto quiere decir que

si llega un token desde uno de los flujos de entrada la Actividad est


lista para ser ejecutada y se realiza. Si, posteriormente, llega otro
token desde otro flujo de entrada se crear otra instancia diferente
de la misma Actividad. En BPMN se permite tener ms de una
instancia de la misma Actividad ejecutndose al mismo tiempo y en
diferente punto de desarrollo cada una.

Si la Actividad tiene ms de un Flujo de Secuencia de salida,


entonces cuando sta termine se generar un token por cada flujo
obteniendo, por tanto, ms de un hilo de ejecucin sobre el mismo
Proceso.

Comportamiento de los Subprocesos


Del mismo modo que pasaba con las conexiones de los
Subprocesos, el comportamiento de los mismos cumple con las
restricciones antes descritas para las Actividades pero tienen una
serie de restricciones particulares que conviene destacar.
Tradicionalmente, cuando el flujo de un Proceso padre llegaba a
un Subproceso, ste se detena hasta que no se completaba el
Subproceso. Esto tiene sentido con el comportamiento descrito
anteriormente ya que un token no sigue circulando por el Flujo de
Secuencia de salida hasta que no termina de ejecutarse la Actividad.
Sin embargo, hay ciertos modelados de Procesos en los cuales
puede ser til en un momento puntual que un Subproceso no
interrumpa el flujo de ejecucin del Proceso padre en el que est
contenido. Para solucionar esto, haba que hacer uso de un Patrn
de construccin conocido que consegua este objetivo. En la
versin actual de BPMN, la 2.0, esto se ha solucionado con un
nuevo concepto: Los Subprocesos de Eventos.

Recuerda que algunos Eventos de Inicio tenan una versin No


Interruptible? Se identificaban porque su smbolo estaba hecho a
trazos y se deca que iban a ser estudiados ms adelante.

Un Subproceso de Evento no es ms que un Subproceso que


empieza con un Evento de Inicio con un disparador asociado y que
puede no interrumpir, si se desea, el flujo de ejecucin de su
Proceso padre. Su smbolo asociado es el de un rectngulo con las
cuatro esquinas redondeadas y con el borde punteado.
En los siguientes ejemplos, la segunda versin que se adjunta no
interrumpe el flujo del Proceso padre cuando se inicia el
Subproceso Analizar Resultados, por lo que seguira avanzando
hacia la Tarea Documentar Conclusiones a pesar de estar
ejecutndose an el Subproceso Analizar Resultados.
Subproceso de Evento Interruptible

Subproceso de Evento No Interruptible

Repeticin de Actividades
Dependiendo de la naturaleza del Proceso que se est modelando,
es posible que una cierta Actividad deba ser realizada repetidas
veces. En BPMN, se tienen varias formas de realizar repeticiones de
una cierta Actividad. Dos de ellas sern explicadas a continuacin,
dejando la ltima que utiliza un elemento de modelado an no
explicado, los Nodos, para el siguiente captulo.
Bucles

Una Actividad puede calificarse con un marcador que defina


grficamente que existe una cierta condicin lgica que determina
la cantidad de veces que tiene que ejecutarse.

Esta condicin lgica obliga a ejecutar repetidamente la Actividad


mientras tenga el valor verdadero hasta que dicha condicin cambie
al valor falso.

Mltiples Instancias

Aunque pueda parecer similar al anterior, tiene sutiles diferencias


que deben ser explicadas. Calificar una Actividad con el marcador
Mltiples Instancias conlleva ejecutarla varias veces pero creando
instancias diferentes de la misma para cada una de ellas. Por tanto,
cada ejecucin tendr su propio flujo de ejecucin y sus propios
datos internos.
La siguiente cuestin que debe decidir el modelador es si estas
instancias de la Actividad deben ser ejecutadas paralela o
secuencialmente. En las antiguas versiones de BPMN slo estaba
soportada la forma paralela. Con ello se consigue que todas las
instancias de la Actividad se ejecuten en paralelo, a la vez. El
marcador asociado son tres lneas verticales en la parte inferior de
la Actividad.

La novedad que introduce la versin actual, la 2.0, es que esas


instancias que se van a crear de la Actividad sean ejecutadas
secuencialmente, slo cuando se finalice una de ellas se dar paso
a la siguiente. El marcador asociado son tres lneas horizontales en
la parte inferior de la Actividad.

Cancelacin de Actividades
En la realidad, existen muchas situaciones en las cuales se est
realizando una accin que, por algn motivo externo o interno, no
puede continuar. Un examen que no se termina completamente por
falta de tiempo, una conversacin que se interrumpe porque llaman
a uno de los participantes Todas estas situaciones reflejan ese
concepto que se ha descrito inicialmente. Para modelar un Proceso
correctamente, hay que tener en cuenta este aspecto para habilitar
un mecanismo que permita cancelar Actividades que, por cualquier
motivo, lo requieran.
La forma que utiliza BPMN para manejar las excepciones dentro
del flujo de ejecucin del Proceso es toda una innovacin frente a
otras herramientas de modelado. Ana en la misma sencillez,
claridad y efectividad a la hora de modelar el Proceso.
Como ya se ha visto, cuando se completa una Actividad el token
sigue el flujo del Proceso avanzando por el Flujo de Secuencia de
salida. Sin embargo, si ocurre la cancelacin de dicha Actividad, el
token avanza por un Flujo de Secuencia de excepcin cuyo origen
se encuentra en el Evento que la ha generado. Esta cancelacin
conlleva la finalizacin del flujo normal del Proceso. En ese sentido,
el enfoque de BPMN de anclar un Evento Intermedio al borde de la
Actividad, denota una forma de describir el error que muestra el
flujo anormal de ejecucin de la misma de un modo muy natural.

Este primer ejemplo muestra un Proceso que finaliza con un


Evento de Error, no siendo capturado por ninguna rutina que la
maneje. Este modelado de Procesos debe evitarse en la medida de
lo posible, ya que deja la responsabilidad del manejo de la
excepcin a un Proceso de mayor responsabilidad que an no se ha
modelado.

Este modelo es mejor que el anterior pues encapsula las


operaciones que pueden presentar un error en su ejecucin en un
Subproceso que puede capturar los Eventos que se lancen.

Al igual que pasaba con los Subprocesos de Eventos, es posible


que la cancelacin de una Actividad no deba finalizar el flujo normal
del Proceso que se est modelando. Recuerda los Eventos
Intermedios No Interruptibles? Anclar un Evento de este tipo a una
Actividad indica que la cancelacin de la misma no finaliza el flujo
normal del Proceso por lo que contina con su ejecucin.

Atributos de Actividades
Estos son conceptos que sobrepasan los contenidos docentes del
tutorial ya que son demasiado avanzados para la gran mayora de
los modeladores. Por tanto, slo se definen sin entrar en
profundidad.
Actividad de Llamada

Referencia a una Actividad definida de forma global que se utiliza


en el modelado del Proceso actual. Ntese que la diferencia entre
este smbolo y la Tarea es que el trazo del borde es notoriamente
ms grueso.
Actividad de Compensacin

Sirve para denotar Actividades que revierten lo hecho


anteriormente por otras dentro del mismo Proceso.
nicamente pueden ir unidas a un Evento Intermedio de
Compensacin que est anclado a otra Actividad. Hay que destacar
que este tipo de Evento no cancela la Actividad en la que est
anclado, simplemente revierte la accin si posteriormente se
requiere.

Actividad de Llamada y Compensacin

Resultado de la unin de ambos atributos.

Atributos de Subprocesos
Transaccin

Una Transaccin es un Subproceso que est soportado por un


protocolo especial que se asegura que todas las partes
involucradas en el mismo tienen conocimiento de que debe terminar
completamente.
Debe tener anclado un Evento Intermedio de Cancelacin para
deshacer las acciones ya realizadas en su interior si debe
cancelarse.

Subproceso Ad Hoc

Un Subproceso es de tipo Ad Hoc cuando hay un Proceso que no


tiene Tareas o se desconoce su orden de ejecucin y, por tanto, no
pueden ser conectadas con la secuencia del diagrama en la fase de
diseo.
Transaccin Ad Hoc

Resultado de la unin de ambos atributos.

Captulo 3: Nodos
Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, los Nodos. Un Nodo controla el
flujo de ejecucin de un Proceso, creando y sincronizando hilos
diferentes de ejecucin en el mismo.
ndice del captulo
1. Introduccin
2. Comportamiento de los Nodos
3. Nodo Exclusivo
1. Repeticin con un Nodo Exclusivo
4. Nodo Inclusivo
5. Nodo Paralelo
6. Nodo basado en Eventos
7. Nodo Complejo
8. Nodo Exclusivo de Evento de Inicio
9. Nodo Paralelo de Evento de Inicio
10.
Ejemplo de uso combinado de Nodos
11.
Fin del Captulo

Introduccin

Un Nodo controla el flujo del Proceso que est modelando


creando hilos de ejecucin que convergen y divergen dentro del
mismo. Tiene, por tanto, la responsabilidad de asegurar la correcta
ejecucin del mismo.
La representacin grfica de un Nodo tiene forma de un diamante.

Son variadas las situaciones que pueden requerir la inclusin de


un Nodo en el modelado de un Proceso: El valor de cierta condicin
que influye sobre qu alternativa del Proceso ejecutar, una espera
en cierto punto a fin de asegurar que todos los hilos de ejecucin
del Proceso han llegado para continuar la ejecucin del mismo...
Controlar el flujo de un Proceso depende en gran medida de la
naturaleza de la condicin que hay que supervisar. Por ejemplo, no
se realiza el mismo tratamiento sobre una condicin lgica que
sobre una condicin basada en Eventos. Por ello, BPMN tiene una
amplia gama de Nodos diferentes para modelar correctamente el
tipo de condicin de que se trate.
Al igual que ocurra con los Eventos, se identifica cada tipo de
Nodo por el marcador que se incluye dentro del smbolo.

Comportamiento de los Nodos


Independientemente del tipo de que se trate, un Nodo realiza dos
acciones de control sobre el flujo de ejecucin de un Proceso.
Puede divergirlo si tiene varios Flujos de Secuencia de salida y
puede convergerlo si tiene varios Flujos de Secuencia de entrada.

En el caso un Nodo divergente, la naturaleza del mismo podr


generar uno o ms tokens que circularn por los que tenga
definidos. Si se trata de un Nodo convergente, el token que llegue
esperar, si es necesario, a que los restantes que se hubieran
generado previamente lo alcancen. Se produce, por tanto, un punto
de sincronizacin en el Nodo.
Recuerda en el anterior captulo cuando se analiz el
comportamiento de una Actividad con mltiples Flujos de Secuencia
de entrada? Se deca que para cada entrada se creaba una instancia
diferente de la Actividad. Esto, que en algunas situaciones no es el
comportamiento esperado, se soluciona utilizando un Nodo que
sincronice todos los tokens antes de ejecutarla.
Un requisito importante y necesario a la hora de modelar un
Proceso con un Nodo es que el tipo de Nodo divergente que se
utilice tiene que ser el mismo, si se usa, para el Nodo convergente.
Nodo Exclusivo
Un Nodo Exclusivo representa un momento del Proceso en el que
existen varios caminos alternativos dependiendo del valor de cierta
condicin lgica. Esta condicin puede tener el nivel de complejidad
que se necesite, desde un tpico S o No hasta construcciones
complejas con operadores binarios relacionales y lgicos (>, <,
AND, OR...).
Su smbolo asociado es el ya visto en la introduccin

o con un marcador visible en forma de X

Ambas descripciones son equivalentes.


Para un Nodo Exclusivo divergente, se generar un nico token
que circular por el primer Flujo de Secuencia de salida que
verifique el valor verdadero para la condicin, an existiendo otras
alternativas que fueran igualmente vlidas.
Nada impide modelar un Nodo Exclusivo que, para cierta
ejecucin del Proceso, no verifique ninguna alternativa la condicin
que se est evaluando. Esto provocara una espera indefinida del
token en el Nodo Exclusivo por lo que las buenas prcticas de
BPMN recomiendan establecer un Flujo de Secuencia por defecto.
Este Flujo de Secuencia ser el elegido por el token en caso de que
ninguna de las otras alternativas cumplan la condicin.
El comportamiento convergente de este Nodo es una mera
formalidad porque, como se ha dicho, al generarse un nico token
no existe sincronizacin.
Repeticin con un Nodo Exclusivo
Recuerda cundo se explic el concepto de repeticin de
Actividades? Se indic que haba tres formas posibles para repetir
una Actividad concreta. Dos se de ellas ya se vieron en el captulo
correspondiente a las Actividades. La ltima es haciendo uso de un
Nodo Exclusivo.
En efecto, se puede establecer la condicin que se evala en un
Nodo Exclusivo y si dicha condicin es cierta, se vuelve a ejecutar
la Actividad. En caso contrario, se contina el flujo de ejecucin del
Proceso. Se trata de un patrn de desarrollo muy conocido y tiene la
siguiente estructura.

Nodo Inclusivo
Un Nodo Inclusivo presenta las mismas caractersticas que un
Nodo Exclusivo. Se tienen diferentes alternativas para una cierta
condicin lgica. La diferencia con respecto al segundo es que en
ste s se permite que se generen tantos tokens como alternativas
verifiquen la condicin.
Su smbolo asociado es el de un crculo.

En este caso, el token s espera en el Nodo convergente para


realizar la sincronizacin.
Dado que la naturaleza es similar al del Nodo Exclusivo se
recomienda modelar una alternativa por defecto.
Nodo Paralelo
Un Nodo Paralelo no verifica ninguna condicin por lo que genera
un token por cada Flujo de Secuencia de salida que tenga definido.
Se realizar una sincronizacin en el Nodo convergente.
Su smbolo asociado es un signo de suma.

Nodo basado en Eventos

Un Nodo basado en Eventos representa un momento del Proceso


en el que se tienen dos o ms alternativas que dependen de la
ocurrencia de un tipo de Evento para que pueda proseguir su
ejecucin.
Su smbolo asociado es el de un pentgono incluido en un Evento
Intermedio.

Su comportamiento es similar al Nodo Exclusivo en el sentido de


que nicamente se generar un token que circular por la primera
alternativa que coincida con el tipo de Evento que se ha lanzado.
Una posterior activacin de otro Evento definido en el mismo Nodo
no afectar al token que se haya generado previamente ni crear
uno nuevo.
Evidentemente, es posible modelar un Nodo basado en Eventos
en el cual, todas sus posibles alternativas no verifiquen ninguno de
los Eventos que se hayan disparado. El token sufrir, por tanto, una
espera indefinida en el Nodo. Modelar un Flujo de Secuencia por
defecto no tiene sentido porque lo que se estn verificando son
Eventos, no condiciones. Por ello, las buenas prcticas de BPMN
recomiendan modelar una alternativa mediante un Evento
Intermedio Temporizador que se activar cundo la condicin de
tiempo que tiene definida se dispare.
Nodo Complejo
Un Nodo Complejo se utiliza cundo no es posible modelar el
comportamiento que se necesita en el Proceso con ninguno de los
Nodos que provee BPMN por defecto. Es el modelador, en tiempo de
diseo del Proceso, el que indicar el comportamiento divergente o
convergente del mismo.
Su smbolo asociado es un asterisco.

Nodo Exclusivo de Evento de Inicio

Este Nodo es un nuevo smbolo incluido en la versin actual de


BPMN, la 2.0. Su smbolo asociado es similar al del Nodo basado en
Eventos salvo que el tipo de Evento es de Inicio, no Intermedio.

Permite simplificar el modelado de un Proceso concreto.

es equivalente a

Nodo Paralelo de Evento de Inicio


Este Nodo es un nuevo smbolo incluido en la versin actual de
BPMN, la 2.0. Su smbolo asociado es el de Evento de Inicio Paralelo
Mltiple.

Permite simplificar el modelado de un Proceso concreto.

es equivalente a

Ejemplo de uso combinado de Nodos

Captulo 4: Swimlanes
Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, los Swimlanes. Un Swimlane se
utiliza para modelar Procesos en los que van a formar parte ms de
un participante.
ndice del captulo
1. Introduccin

2. Calle
1. Conectando Calles
3. Lnea
1. Conectando Lneas
4. Ejemplo de Colaboracin
5. Fin del Captulo

Introduccin
Por lo visto hasta ahora, slo se puede modelar Procesos Privados.
El concepto Privado debe entenderse en el sentido de que el
Proceso que se modela slo puede ser realizado por un participante.
Sin embargo, es evidente que existen Procesos que son realizados
por dos o ms participantes. Piense, por ejemplo, en la contratacin
de un candidato por una empresa. En el modelado de dicho Proceso
habr que tener en cuenta los dos participante, candidato y

empresa. Un diagrama de este ltimo tipo es lo que se conoce como


Colaboracin.
BPMN provee de forma estndar unos elementos de modelado que
permiten disear Procesos que tengan ms de un participante,
ayudando a organizar y dividir las actividades en un diagrama.
Dichos elementos sern explicados a continuacin.

Calle
Una Calle es la representacin grfica de un participante en un
Proceso modelado en BPMN. Cada participante presente en el
Proceso deber estar asociado nicamente a una Calle.
El smbolo asociado a una Calle es una caja rectangular

que sirve de contenedor para el Proceso que tenga definido en su


interior.

Por tanto, participantes diferentes tendrn su propio Proceso


modelado en su interior y habr que estudiar como comunicarse
entre ellos para avanzar por el flujo de ejecucin en cada uno.

No es necesario que en el modelado de un diagrama de


Colaboracin, todos los participantes tengan su Proceso interno
visible, bien sea porque el modelador en la fase de diseo del
mismo no lo necesita o porque carece de la informacin necesaria
para ello. Si no lo tiene, se dice que es un participante abstracto y
su Calle se modela como una caja negra.

Conectando Calles
Una restriccin impuesta a la Calle es que el Flujo de Secuencia
del Proceso no puede sobrepasar los lmites impuestos por el borde
de la misma. Por tanto, para poder interactuar entre diferentes
Calles se utilizar un Conector de Objeto an no explicado, el Flujo
de Mensaje.
Los Flujos de Mensaje organizan todas las interacciones entre las
Calles, permitiendo avanzar a cada participante en su Proceso
interno. Si uno de los participantes es abstracto, el Flujo de Mensaje
se conecta con el borde de la Calle.

Si todos los participantes muestran sus Procesos internos,


entonces los Flujos de Mensaje conectan los elementos de
modelado correspondientes.

Lnea
Una Lnea es una particin dentro de la Calle de un participante.
Representa diferentes roles del participante dentro de su Proceso.
Su smbolo asociado es un rectngulo que se conecta dentro de la
Calle.

Por tanto, es muy posible que cada elemento de modelado del


Proceso, una Actividad, por ejemplo, sea ejecutado por un rol
diferente del participante. Piense, por ejemplo, en el ejemplo
anterior de la entrevista de trabajo. Es muy posible que la Actividad
Realizar Entrevista sea realizado por un rol Entrevistador mientras
que la Actividad Evaluar Contratacin sea llevada a cabo por el rol
Direccin de RR.HH.. Entrevistador y Direccion de RR.HH. son roles
diferentes del participante Empresa definidos en su propio Proceso
interno.
Conectando Lneas
Son varias las restricciones de conexin de las Lneas:

Se permite utilizar un Flujo de Secuencia que conecte


diferentes Lneas dentro de la misma Calle.
Se permite utilizar un Flujo de Mensaje que conecte diferentes
Lneas de Calles distintas.
No hay lmites en el anidamiento de Lneas, por lo que pueden
definirse diferentes roles subordinados a un rol superior.

Ejemplo de Colaboracin

Captulo 5: Conectores de Objetos


Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, los Conectores de Objetos. Los
Conectores de Objetos conectan dos objetos presentes en un
diagrama. Existen diferentes tipos y los elementos de modelado que
conectan son, igualmente, distintos.
ndice del captulo
1. Introduccin
2. Flujo de Secuencia
1. Flujo de Secuencia Condicional
2. Flujo de Secuencia por Defecto
3. Flujo de Mensaje
4. Asociacin
1. Asociacin de Datos
5. Fin del Captulo

Introduccin
Un Proceso no es un conjunto aislado de elementos de modelado
como Actividades, Eventos y Nodos. Muy al contrario, estos
elementos deben ser conectados a fin de que avance el flujo de
ejecucin del mismo. Los responsables de que dicha conexin se
haga de forma correcta son los Conectores de Objetos.
Un Conector vincula dos objetos en un diagrama. Dependiendo de
la naturaleza del mismo puede conectar objetos diferentes o iguales.
Cada uno de ellos tiene su propia restriccin de conexin y podr
conectarse con algunos elementos y con otros no.
Se ir explicando en las siguientes secciones del captulo cada
uno de ellos.

Flujo de Secuencia
Este Conector es ya conocido por haber sido utilizado en casi la
totalidad de los ejemplos grficos de captulos anteriores. Un Flujo
de Secuencia conecta Actividades, Eventos y Nodos pudiendo tener
cualquier combinacin de stos como origen y destino.
Su smbolo asociado es el de una flecha de lnea continua con la
punta de la misma slida o rellena.

Aparte de conectar los elementos antes citados, tambin sirve


como orden de ejecucin del Proceso. En el siguiente ejemplo, la
Actividad A se ejecuta antes que la B y sta antes que la C.

Flujo de Secuencia Condicional


Un Flujo de Secuencia Condicional es un tipo de Conector en el
cual un token avanza por l nicamente si cumple una cierta
condicin definida en el mismo. Este Conector puede tener como
origen nicamente Actividades o Nodos Inclusivos o Exclusivos. No
puede conectarse desde un Evento ni desde el resto de Nodos
disponibles.
Aunque nada impide utilizar este tipo de Conector desde uno de
los Nodos permitidos, las buenas prcticas en BPMN recomiendan
no vincular la salida de stos con este Conector. La razn es
sencilla, el propio Nodo ya gestiona la evaluacin de la condicin y
el avance del token por la salida adecuada, por lo que modelarla con
un Flujo de Secuencia Condicional redunda la semntica del
Proceso sin necesidad.
El smbolo asociado a este Conector es una flecha continua cuyo
inicio tiene forma de diamante, simulando un Nodo de pequeas
dimensiones.

Cuando la ejecucin de la Actividad haya finalizado, se evaluar la


condicin del Flujo de Secuencia Condicional, y si la verifica, el
token avanzar por dicha salida. Este comportamiento se repetir
por cada Flujo de Secuencia Condicional que tenga la Actividad y se
generarn tantos tokens como verificaciones se hagan de cada
condicin correspondiente.

Dado que nada impide que ninguna de las condiciones se cumpla,


las buenas prcticas de BPMN recomiendan establecer una
alternativa de salida, que se modelar con un Flujo de Secuencia
normal o por defecto, por la que siempre avance un token a fin de
evitar una espera indefinida de ste en la Actividad.

Flujo de Secuencia por Defecto


Este tipo de Flujo de Secuencia ya se vio cuando se estudi el
comportamiento de los Nodos Exclusivos e Inclusivos. Un Flujo de
Secuencia por Defecto se utiliza cundo se requiere dotar al
elemento al que est conectado con una alternativa de salida que
siempre se cumpla, a fin de evitar esperas indefinidas en el mismo.
Su smbolo asociado es el mismo que el Flujo de Secuencia
normal salvo por un signo \ situado en su origen.

Un Flujo de Secuencia por Defecto nicamente puede conectarse


desde un Nodo Exclusivo, un Nodo Inclusivo o una Actividad.

Aunque no es lo habitual, nada impide conectar un Flujo de


Secuencia por Defecto a una Actividad por lo que las buenas
prcticas de BPMN recomiendan modelar una alternativa por
defecto en una Actividad con un Flujo de Secuencia normal.

Flujo de Mensaje
El Flujo de Mensaje se ha visto cundo se estudiaba el captulo
correspondiente a los Swimlanes. Un Flujo de Mensaje representa la
interaccin directa entre dos participantes presentes en un Proceso.
Su smbolo asociado es una flecha discontinua a trazos con
origen en forma de crculo abierto y destino sin rellenar.

Un Flujo de Mensaje puede conectar Eventos, Actividades y


Nodos de diferentes Calles, no as elementos de la misma Calle.

Asociacin
Una Asociacin crea una relacin entre dos objetos del diagrama.
Su uso ms comn es para incluir comentarios en el mismo, ya lo
ha visto en los ejemplos de este mismo captulo.
Su smbolo asociado es una lnea punteada.

Asociacin de Datos
Una Asociacin de Datos es un tipo particular de Asociacin cuyo
origen o destino es un elemento de modelado de tipo Dato. Los
Datos sern estudiados en el siguiente captulo por lo que aqu se
expondr nicamente la forma que tiene este Conector.

Como se puede observar, la nica diferencia con la Asociacin es


que el destino del Conector es una flecha abierta.

Captulo 6: Datos
Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, los Datos. Un Dato representa un
recurso que se genera o se necesita a lo largo del Proceso. Se
estudiarn los tipos de Datos que hay y dnde se utilizan.

ndice del captulo


1. Introduccin
2. Dato Objeto
1. Tipos de Dato Objeto
3. Fin del Captulo

Introduccin
Estudiar este captulo es una novedad de la ltima versin de
BPMN, la 2.0. Hasta la versin 1.2, los Datos se incluan en la
categora de Artefactos junto a sus otros elementos. En esta versin
se han generado y refinado nuevos smbolos para modelar de forma
ms adecuada los Datos.
Un Dato representa un recurso que se genera o se requiere en
algn punto del Proceso. Esta necesidad no es algo puntual si no
ms bien necesaria. En caso de que un Dato no est generado
cuando se necesita en otro punto del Proceso, el token esperar en
dicho punto hasta que tal Dato se genere.

Dato Objeto
Un Dato Objeto representa un documento o un dato del Proceso.
Su smbolo asociado es un rectngulo con una esquina doblada.

Un Dato Objeto est relacionado con las Actividades puesto que


es el que define los recursos de entrada que necesita o de salida
que genera. Como ya se vio en el captulo anterior, un Dato se
conecta mediante una Asociacin de Datos.

Esta Asociacin puede colocarse tambin en el Flujo de


Secuencia que une ambas Actividades, siempre que no de cmo
resultado un modelo ambiguo.

Un Dato Objeto suele tener asociado un estado que puede ir


cambiando a lo largo del Proceso. De esta manera, el modelador
puede ir generando un histrico que documente los cambios que se
van generando en el mismo.

Tipos de Dato Objeto


Estos smbolos son nuevos elementos que se han incluido dentro
de la versin 2.0 de BPMN.
Coleccin de Datos

Representa una coleccin de informacin. Por ejemplo, el


conjunto de elementos que componen un pedido hecho a una
tienda.
Dato de Entrada

Representa un recurso que necesita una Actividad.


Dato de Salida

Representa un recurso que genera una Actividad.


Almacn de Datos

Representa un lugar en el que una Actividad puede escribir y leer


datos. Por ejemplo, un fichero en disco o una base de datos.
Persiste ms all de la finalizacin del Proceso.
Mensaje

Representa el contenido del mensaje intercambiado entre dos


participantes de un Proceso.

Como se ve, todos estos elementos simplifican y enriquecen el


modelado de un Proceso pero no presentan ninguna ventaja
adicional.

es equivalente a

Captulo 7: Artefactos
Este captulo tiene como objetivo explicar el funcionamiento de un
elemento de modelado concreto, los Artefactos. Un Artefacto sirve
para describir informacin adicional del Proceso que se est
modelando a fin de hacer ms entendible el diseo del mismo.
ndice del captulo
Introduccin
Grupo
Anotacin de Texto
Fin del Captulo
Introduccin
Como es evidente, a medida que aumenta la complejidad del
Proceso que se est modelando, se hace cada vez ms
necesario incluir informacin adicional sobre el diagrama que
permita al lector del mismo entender su comportamiento.
7. Ocurre lo mismo con el desarrollo de sistemas informticos. A
fin de garantizar un correcto mantenimiento, se recomienda
documentar el cdigo y las secciones ms conflictivas del
mismo para comprender la estructura del mismo.
8. BPMN provee dos herramientas que permiten adjuntar
informacin adicional al Proceso con la finalidad de facilitar la
comprensin del mismo por parte de sus usuarios.

1.
2.
3.
4.
5.
6.

Grupo
Un Grupo se utiliza para rodear un conjunto de elementos de un
Proceso con el objetivo de destacarlos del resto por algn motivo,
bien sea porque definen una parte importante del mismo o porque el
modelador quiere resaltar algn aspecto particular.
El smbolo de un Grupo es el de un rectngulo con las cuatro
esquinas redondeadas y cuyo borde est descrito con puntos y
rayas.

Un Grupo no altera la ejecucin del Proceso ni la del conjunto de


elementos que contiene, se trata nicamente de un mecanismo
grfico de utilidad para categorizar secciones del modelo. Por ello,
no se pueden aadir Eventos Intermedios para cancelar los
elementos de un Grupo. Si se necesitara dicho comportamiento,
habra que modelar los elementos de dicho Grupo en un
Subproceso para, posteriormente, anclar un Evento Intermedio al
borde del mismo.
El siguiente ejemplo modela un Proceso simplificado de
implementacin de un sistema informtico. Las Actividades
referentes a la elaboracin de la documentacin se encuentran
clasificadas en un Grupo.

Anotacin de Texto
Una Anotacin de Texto se utiliza para aadir informacin
descriptiva sobre el Proceso que se est modelando. Pueden
conectarse a cualquier elemento del diagrama mediante una
Asociacin o incluirse libremente en el modelo.
Su smbolo es un recuadro abierto.

Ha sido utilizado en muchas de las imgenes de los diferentes


captulos.

Captulo 8: Coreografas
Este captulo tiene como objetivo mostrar el comportamiento de
un nuevo tipo de diagrama soportado en la actual versin de BPMN,
las Coreografas. Una Coreografa es un tipo de diagrama en el cual
se focaliza ms en el intercambio de la informacin entre
participantes que en el comportamiento intrnseco del Proceso.
ndice del captulo
1. Introduccin
2. Actividades
1. Ejemplo de Actividades
3. Modelos Equivalentes
4. Fin del Captulo
Introduccin
Hasta este punto, el tutorial se ha focalizado en explicar
detenidamente el funcionamiento de cada elemento de modelado en
un captulo independiente. Hasta la versin 1.2 de BPMN, el
contenido del mismo habra terminado en el captulo anterior. Sin
embargo, en su versin 2.0 se ha dado soporte a un nuevo tipo de
diagrama, las Coreografas.

Los captulos anteriores han explicado cmo afectaba al


comportamiento de un Proceso cada uno de los elementos de
modelado. Los Eventos representan acciones que ocurren en el
mismo, una Actividad la realizacin de un trabajo, los Nodos crean o
sincronizan diferentes hilos de ejecucin
Una Coreografa representa un modo completamente diferente,
aunque equivalente, de modelar un Proceso. En l, no se modela
tanto su comportamiento como el intercambio de informacin,
generalmente por el paso de Mensajes, que ocurre entre diferentes
participantes del mismo.

Actividades
Lo primero que debe tenerse en cuenta es que las Actividades de
una Coreografa no son diferentes semnticamente, aunque s
grficamente, a las ya estudiadas en el captulo anterior
correspondiente. Pueden ser una Tarea o un Subproceso, ya sea
Colapsado o Expandido. Pueden repetirse mediante Bucles o
Mltiples Instancias Secuenciales o Paralelas.
El smbolo asociado a una Actividad de una Coreografa es un
rectngulo con las cuatro esquinas redondeadas y en el cual
pueden distinguirse, al menos, tres zonas delimitadas en l. La zona
central sirve para describir la naturaleza de la Actividad del mismo
modo que ya se vio anteriormente. La novedad aparece en las zonas
superior e inferior de la Actividad, en ellas se definen los diferentes
participantes que participan en el Proceso. La zona que aparezca sin
sombrear son participantes que inician la Actividad y la sombreada
aquellos que no la inician.
Tarea

Define un conjunto de participantes que intercambian Mensajes


para completar una Tarea.
Subproceso

Abstrae el modelado de una Coreografa con varias interacciones


no visible si se trata de un Subproceso Colapsado o visible si se
trata de un Subproceso Expandido.
Ejemplo de Actividades
El lector no debe encontrar problemas en entender el modelado de
este Proceso puesto que todos los atributos y smbolos han sido
explicados previamente.

Note como el Participante C tiene aplicado un atributo de Multi


Instancia. Con esto se denota que en el Proceso existen varios
participantes del mismo tipo. De esta forma se evita el tener que
declararlos uno a uno.

Modelos Equivalentes
Como ya se ha dicho, los modelos de Coreografa son
equivalentes a los ya vistos de Colaboracin slo que
representados de diferente forma. La mejor forma de demostrar esto
es mostrar un diagrama de Colaboracin, con el que el modelador
se encuentra ms cmodo por ser el que habitualmente ha utilizado,
y su Coreografa equivalente.
A continuacin, tiene una serie de ejemplos que van aumentando
progresivamente de dificultad. Combinando stos, podr modelar
Coreografas de Procesos complejos sin dificultad.
Ejemplo 1

Ejemplo 2

Ejemplo 3

Ejemplo 4

Ejemplo 5

Ejemplo 6

Ntese que, generalmente, el diagrama de Coreografa tiene un


diseo ms compacto que la Colaboracin y que se disea ms
cmodamente con l en cunto se entiende el significado de sus
smbolos.
Captulo 9: Conversaciones
Este captulo tiene como objetivo mostrar el comportamiento de
un nuevo tipo de diagrama soportado en la actual versin de BPMN,
las Conversaciones. Una Conversacin es un tipo de diagrama en el
cual se focaliza ms en el objeto lgico sobre el que gira un
intercambio de Flujo de Mensajes entre diferentes participantes del
Proceso que en el comportamiento intrnseco del mismo.
ndice del captulo
1.
2.
3.
4.
5.

Introduccin
Nodo de Conversacin
Sub Conversacin
Enlace de Conversacin
Fin del Captulo

Introduccin
Hasta este punto, el tutorial se ha focalizado en explicar
detenidamente el funcionamiento de cada elemento de modelado en
un captulo independiente. Hasta la versin 1.2 de BPMN, el
contenido del mismo habra terminado hace dos captulos. Sin
embargo, en su versin 2.0 se ha dado soporte a un nuevo tipo de
diagrama, las Conversaciones.
Un diagrama de Conversacin es una descripcin informal de un
diagrama de Colaboracin. En general, es una versin simplificada
de este tipo de diagrama pero manteniendo todas las caractersticas
del mismo. Por ejemplo, pueden incluirse los Procesos en las
diferentes Calles de los participantes, aunque no es lo ms usual.
Un diagrama de Conversacin agrupa los intercambios de
mensajes producidos entre diferentes participantes utilizando un
Nodo de Conversacin (smbolo que se describir en la siguiente
seccin), permitiendo de esta manera reducir la complejidad del
modelo y mostrar de una manera simple y visual la estructura del
proceso con un nivel menos bajo de detalle.
Los diagramas de Conversacin introducen, por tanto, nuevos
elementos de modelado adicionales a los ya mostrados en los
captulos anteriores. Lo mismo ocurra con los diagramas de
Coreografa en el captulo anterior.

Nodo de Conversacin
Un Nodo de Conversacin representa la agrupacin de uno o ms
intercambios de mensaje que se realizan sobre un mismo objeto
lgico. Su smbolo asociado es el de un hexgono.

Por ejemplo, en una transaccin comercial entre un Comprador y


una Tienda, se producir un intercambio de mensajes inicindose
con un mensaje desde Comprador a Tienda indicando que se desea
adquirir un producto y, probablemente, finalizar con otro desde
Tienda a Comprador con el producto. Entre stos dos se generarn
otros flujos de mensaje con facturas, pago, cambio Todo este
intercambio, que puede ser tan complejo cmo se necesite, puede
modelarse utilizando un Nodo de Conversacin, que agrupe los
mensajes anteriores, denotndolo por el objeto lgico sobre el que
gira todo el Proceso que, en este caso, es el producto que se
adquiere.

es equivalente a

Sub Conversacin
Una Sub Conversacin representa el mismo papel que los
Subprocesos para las Actividades. Encapsula a un conjunto de
Nodos de Conversacin de menor nivel del mismo modo que un
Subproceso encapsula a Procesos, igualmente de menor nivel.
Manteniendo la homogeneidad de los smbolos que encapsulan a
otros de su misma familia, la diferencia que existe entre un Nodo de
Conversacin y una Sub Conversacin es que la segunda presenta
un signo de suma en su parte inferior, siendo el resto de la misma
estructura vista en la seccin anterior.

Si se decide expandir la Sub Conversacin es tarea del diseador


elegir qu nivel de detalle se mostrar de la Conversacin, puesto
que no existe en BPMN una accin que se realice por defecto. No
ocurre as en los Subprocesos Colapsados. Cuando se expande un
Subproceso Colapsado, se muestra por defecto el detalle del
Proceso interno que tiene encapsulado.

Al expandir una Sub Conversacin puede obtenerse un diagrama


de Conversacin con dos o ms Nodos de Conversacin,

obtener directamente un conjunto de Flujos de Mensaje

o una combinacin de ambos.

Es el modelador en la etapa del diseo del Proceso, el que decide


qu accin realizar al expandir cierta Sub Conversacin.

Enlace de Conversacin
Un Enlace de Conversacin es un tipo de Conector de Objetos
desarrollado especficamente para los diagramas de Conversacin.
Uno de los extremos debe conectarse con una Calle y el otro
extremo puede conectarse con un Nodo de Conversacin o con una
Sub Conversacin.
Su smbolo asociado es una o dos lneas de trazo muy fino.

Patrones y Antipatrones
Un patrn es la abstraccin de una forma concreta el cual
mantiene a repetirse en un contexto especfico no-arbitrario.
A continuacin se detallan cada uno de los patrones a explicar.

Patrones de Flujo.

En este apartado puedes encontrar errores muy comunes que se


producen al realizar construcciones, asi como una posible solucin
a ellos.

Buenas prcticas y Errores comunes.

Patrones de Flujo.
En la siguiente imagen se muestran algunas de las situaciones
ms comunes en un desarrollo BPMN.

En cada uno de las siguientes pginas, se detallan cada unos de


los casos expuestos anteriormente.

Patrones bsicos.
Derivacin.
Estructural.
Mltiple instancia.
Basado en estados.
Cancelacin.

Patrones bsicos.
Los patrones bsicos son muy comunes en un desarrollo BPMN, y
pueden suponer cerca del 60% de este.
Se pueden distinguir 4 tipos:
Desarrollo en paralelo.

Un Nodo Paralelo puede ser utilizado para crear dos flujos


paralelos que se ejecutan simultneamente. El Nodo Paralelo es
realmente opcional; dos Flujos de Secuencia de salida conectados a
la tarea A por un lado y la tarea B y C por otro, respectivamente,
habran tenido el mismo efecto.

Sincronizacin.

Un Nodo Paralelo tambin puede ser usado para combinar dos


Flujos de Secuencia paralelas en una.

Eleccin exclusiva.

Un Nodo Exclusivo se puede utilizar para crear un punto de


decisin en donde varias ramas podran ser tomadas, pero slo una
se realizar dependiendo del resultado de una expresin basada en
los datos del Proceso.

Unin.

Un Nodo Exclusivo se utiliza para unir dos Flujos de Secuencia en


uno solo. Observe que ambos flujos conllevan la ejecucin de la
Tarea C.

Patrones derivados.
En esta clase de patrones se presentan los conceptos de
ramificacin avanzada y patrones de sincronizacin. Se pueden
distinguir 4 tipos:
Eleccin mltiple.

Un Nodo Inclusivo se puede utilizar para crear un punto de


decisin en varias ramas que podran tomarse en funcin del
resultado de las condiciones asociadas.

Unin sincronizada.

Un Nodo Inclusivo se puede utilizar para sincronizar un conjunto


de Flujos de Secuencia producidos anteriormente.

Unin mltiple.

Dos o ms Flujos de Secuencia estn convergiendo en la tarea C.


Obsrvese que, a diferencia del caso anterior en que la Tarea C se
ejecuta dos veces al no haber un Nodo Inclusivo que sincronice los
flujos, en este caso slo se ejecuta una nica vez.

Discriminador.

El Nodo discrimina entre los flujos.


En el primer caso, al slo cumplirse una de las condiciones, slo
existe un Flujo de Secuencia y no es necesario sincronizar.
En el segundo, se crean dos Flujos de Secuencia que
posteriormente se unen en el discriminador, lo que permite que tras
la llegada del primero el modelo contine y que al llegar el segundo
sea ignorado. Obsrvese que, a diferencia de un Nodo Inclusivo, la
Tarea D slo se ejecutar una vez.

Patrones estructurales.
Esta clase presenta construcciones especficas en las que las
actividades deben ser repetidas.
Se pueden distinguir 2 grandes tipos:
Ciclos arbitrarios.

Terminacin implcita.

Patrones Multi Instancias.


Esta clase de patrones presenta algunos casos de la ejecucin de
Subprocesos mltiples.
Se pueden distinguir 3 tipos:
Sin sincronizacin.

Obsrvese que las Tareas A y B tienen una duracin diferente y


cuando acaban inician el Subproceso, que por tanto se ejecutar
dos veces.

Con prioridad.

En este caso, se ejecutan los Subprocesos una vez concluda la


Tarea A.

Sin prioridad.

Al contrario que en el caso anterior, aqu no existe un prioridad


clara y el Subproceso se ejecutar tantas veces como Flujos lleguen
a l, sin importar el orden de estos.

Patrones basados en estados.


Estos patrones describen situaciones donde se utiliza un estado
especfico de un proceso para afectar a su ejecucin.
Se pueden distinguir 2 tipos:
Eleccin diferida.

Obsrvese que la Tarea a ejecutar depender directamente del


suceso anterior.

Hitos.

En esta ocasin, se puede observar como la tarea E requiere de la


finalizacin de las tareas B y C para ser ejecutada, esto se consigue
gracias al Nodo de sincronizacin situado antes de la Tarea.

Patrones de cancelacin.
Esta clase de patrones presenta diferentes formas de manejo de
excepciones.
Cancelar una Actividad.

Obsrvese que, en este caso, la ejecucin de la Tarea C depende


de que la Tarea B sea abortada o no.

Buenas prcticas y Errores comunes.


A continuacin se detallan posibles errores en el modelado BPMN
asi como formas de solucionarlo.

Mal Uso de Flujos en/entre Calles.


Uso de Tareas y Eventos.
Uso de Eventos de tiempo.
Uso de Eventos de Mensaje y Flujo de Mensajes.
Flujo dentro de Lneas.
Uso de mecanismo de Secuencia de Flujo.
Uso de Nodos.

Antes de comenzar con los diferentes patrones y antipatrones, es


conveniente tener en cuenta el significado de algunos smbolos que
nos encontraremos a continuacin:

Mal Uso de Flujos en/entre Calles.


Es frecuente que cuando se modelen Procesos en diferentes
Calles, los Flujos de Secuencia y Eventos de Inicio y Fin se olviden,
porque errneamente se cree que los Flujos de Mensaje sustituyen
los Flujos de Secuencia. Adicionalmente, los Flujos de Secuencia
son mal usados al conectar Calles.
El modelado de un Proceso en cada Calle es independiente y se
pueden definir Flujo de Mensajes entre Calles.

Uso de Tareas y Eventos.


Los diseadores de Procesos a menudo modelan errneamente
Eventos y Tareas. Por ejemplo: Algunos Eventos son modelados
como Tareas y los estados de las Tareas como nuevas Tareas.

Uso de Eventos de tiempo.


Hay dos errores comunes cuando se usan Eventos que modelen
condiciones de tiempo.
Por un lado, los Eventos de Inicio son comnmente usados en vez
de Eventos Intermedios.
En segundo lugar, los Eventos Intermedios son usados como
mecanismo de retraso pero modelados como una excepcin
(representando la duracin de la tarea) y viceversa.

Uso de Eventos de Mensaje y Flujo de Mensajes.


Eventos de Inicio y Fin no pueden ser causa de Flujo de Mensajes.

Flujo dentro de Lneas.


Las Lneas son, a menudo, errneamente utilizadas en forma
similar a una Calle. Estos ltimos, errneamente, contienen ms
Procesos de Negocio o contienen Flujos de Mensaje entre diferentes
Lneas.

Uso de mecanismo de Secuencia de Flujo.


Cuando se usan Subprocesos Expandidos, los Flujos de
Secuencia deben ser conectados a los lmites del Subproceso y el
Subproceso debe tener Eventos de Inicio y Fin.

Uso de Nodos.
Los Nodos slo pueden ser conectadas con Flujos de Secuencia,
tambin evitan bloqueos potenciales cuando se modela el Proceso
utilizando estos elementos.

Vous aimerez peut-être aussi