Vous êtes sur la page 1sur 29

Business Process Modeling Notation

(BPMN)
Ing. Ilse Grau Yegros
ICT4G Unit - FBK ICT
via Sommarive, 18
38122 Trento (Italy)
6 de marzo de 2012
2
Contenido
1. Introduccion 9
2. Flow Objects 11
2.1. Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1. Start Event . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2. Intermediate Event . . . . . . . . . . . . . . . . . . . . . 11
2.1.3. End Event . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2. Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1. Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2. Sub-Process . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1. Exclusive Gateways . . . . . . . . . . . . . . . . . . . . . 16
2.3.2. Inclusive Gateways . . . . . . . . . . . . . . . . . . . . . . 17
2.3.3. Complex Gateways . . . . . . . . . . . . . . . . . . . . . . 17
2.3.4. Parallel Gateways . . . . . . . . . . . . . . . . . . . . . . 18
3. Connecting Objects 19
3.1. Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4. Swimlanes 21
4.1. Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2. Lane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5. Artifacts 25
5.1. Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2. Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3. Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
A. Glosario 29
3
4 CONTENIDO

Indice de guras
2.1. Ejemplo con eventos . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Sub-Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4. Ejemplo de Sub-procesos . . . . . . . . . . . . . . . . . . . . . . . 16
2.5. Data Based Exclusive Gateways . . . . . . . . . . . . . . . . . . . 16
2.6. Event Based Exclusive Gateways . . . . . . . . . . . . . . . . . . 17
2.7. Inclusive Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8. Complex Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9. Parallel Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1. Conectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Ejemplo de conectores . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1. Ejemplo una relacion B2B con detalles . . . . . . . . . . . . . . 21
4.2. Ejemplo una relacion B2B con Sub-proceso . . . . . . . . . . . . 22
4.3. Ejemplo Lane . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1. Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2. Ejemplo con Group y Annotation . . . . . . . . . . . . . . . . . 26
5
6

INDICE DE FIGURAS

Indice de cuadros
2.1. Descripcion de Start Event . . . . . . . . . . . . . . . . . . . . . 12
2.2. Descripcion de Intermediate Event . . . . . . . . . . . . . . . . . 13
2.3. Descripcion de End Event . . . . . . . . . . . . . . . . . . . . . . 15
7
8

INDICE DE CUADROS
Captulo 1
Introducci on
Business Process Modeling Notation (BPMN) es un estandar para modelar
procesos de negocios, ujos y web services. Fue creado por Business Process
Management Initiative (BPMI) con el objetivo de proveer una notacion com-
prensible por todos los usuarios del negocio [1].
BPMN dene un Diagrama de Procesos de Negocio (BPD), basado en la
tecnica de diagrama de ujos. BPD es una red de objetos gracos, correspon-
dientes a actividades y controles de ujo que denen el orden de ejecucion de
estas.
BPMN incluye tres categoras de procesos que son:
Orchestration (Orquestacion) describe un proceso dentro de una entidad
del negocio.
Choreography (Coreografa) dene el comportamiento varias entidades de
negocio que estan interactuando.
Collaboration (Colaboracion) muestra los participantes y sus interacciones.
BPMN incluye cuatro categoras de elementos que seran descriptos en los
siguientes captulos y son:
Flow Objects
Connecting Objects
Swimlanes
Artifacts
Los objetos gracos de BPMN pueden ser mapeados al lenguaje de ejecu-
cion de procesos de negocio para Servicios Web (BPEL4WS v1.1) el cual es un
estandar de facto para la ejecucion de procesos [1].
9
10 CAP

ITULO 1. INTRODUCCI

ON
Captulo 2
Flow Objects
Los Flow Objects incluyen tres clases de objectos:
Event
Activity
Gateway
Estos son descriptos en las siguientes secciones.
2.1. Event
Un Event (evento) es algo que sucededurante el proceso de negocio, afecta
el ujo del proceso y generalmente tiene una causa y un resultado. De acuerdo
como afecta al proceso pueden ser de tres tipos: Start (inicio), Intermediate
(intermedio) y End (Fin). El Event es representado por un crculo cuyo contorno
determina de que tipo es el evento [2].
2.1.1. Start Event
El Start Event (evento inicial) indica donde un proceso se iniciara. Existen
diferentes Triggersque indican las circustancias especcas en que puede ini-
ciarse un proceso [2]. La Tabla 2.1 describe los tipos de eventos iniciales y la
Figura 2.1 muestra un ejemplo.
2.1.2. Intermediate Event
El Intermediate Event (Evento Intermedio) ocurre despues que un proceso
haya iniciado y antes que termine. Puede estar ubicado en el ujo normal del
proceso o en el lmite de una actividad [1].
Los Eventos que ubicados en el lmite de una actividad indican que la misma
debe ser interrumpida cuando se dispara el evento. Esta situacion es ilustrada
11
12 CAP

ITULO 2. FLOW OBJECTS


Tabla 2.1: Descripcion de Start Event
Trigger Descripci on Smbolo
Emply Se usa para marcar el inicio de un sub proceso o cuando el inicio
es indenido.
Message Un mensaje llega desde un participante y dispara el proceso de
inicio.
Timer Una hora-fecha o un especco ciclo puede ser jado para ejecu-
tar el proceso de inicio.
Signal Una se nal difundida de otro proceso llega y dispara el proceso de
inicio. La se nal no es un mensaje, el cual tiene un destinatario
especco. Una se nal puede iniciar m ultiples procesos.
Multiple Signica que existen muchas maneras de iniciar un proceso, solo
uno de ellos es requerido para iniciarlo.
Rule El evento ocurre cuando la condici on de la regla es verdadera.
en la Figura 2.1, la cual muestra que si la reserva no es conrmada dentro de
las 24 horas, es cancelada. La tabla 2.2 describe los tipos de eventos intermedios
Figura 2.1: Ejemplo con eventos
[2].
2.1. EVENT 13
Tabla 2.2: Descripcion de Intermediate Event
Trigger Descripci on Smbolo
Emply Puede ser usado solo por eventos que ocurren en el ujo central
del proceso.
Message Un mensaje llega de un participante y dispara el evento. En
el ujo normal, este tipo de evento pude ser usado para enviar
mensages a un participante (ver ejemplo de la Figura 2.1).
Timer Una hora-fecha o un ciclo especco puede ser jado para dis-
parar el evento. Si es usado en el ujo principal del proceso es
un mecanismo de retraso (ver ejemplo de la Figura 2.1). Si es
usado para manejar una excepci on, cambiar a el ujo normal a
un ujo de excepci on.
Signal Es utilizado para enviar o recibir se nales. Una se nal generalmen-
te es una comunicaci on entre y a traves niveles de proceso, Pools
y BPD. Este tipo de evento puede enviar o recibir una se nal si
el evento es parte del ujo normal. El evento puede recibir solo
una se nal cuando est a en el lmite de la actividad.
Multiple Signica que existen m ultiples triggers asignados al evento. Si
es usado entre el ujo normal, el evento puede capturar (catch)
el trigger o lanzarlo (throw). Cuando esta situado en la frontera
de la actividad solo puede capturar el trigger.
Rule El evento ocurre cuando la condici on de la regla es verdadera.
Error Este tipo de evento puede estar solo en el lmite de una actividad
porque el reacciona para capturar un error.
Cancel Este tipo de evento debe estar situado en la frontera de un sub-
proceso. Debe ser lanzado si un Cancel End Event es alcanzado
dentro del sub-proceso. Tambien podra ser lanzado si se recibe
un Protocolo de Transacci on Cancel durante el desarrollo de la
transacci on.
Compensation Es utilizado para administrar la compensaci on durante su acti-
vaci on o ejecuci on. Cuando aparece en el ujo normal indica que
la compensaci on es necesaria. Si el evento esta asociado a una
actividad, esta debe ser compensada. De otra forma, la compen-
saci on alcanza a todas las actividades que han sido completadas
dentro de la instancia del proceso, incluyendo los procesos de
alto nivel y sub procesos.
Link Es un mecanismo para conectar dos partes de un proceso. Puede
ser utilizado para crear un bucle o saltar una secuencia de ujo,
tambien como conector de n de p agina cuando el proceso ocupa
varias paginas.
14 CAP

ITULO 2. FLOW OBJECTS


2.1.3. End Event
El End Event (Evento Final) indica donde termina un proceso. Sus tipos
indican las circustancias en que este naliza [1, 2]. La tabla 2.3 describe los
tipos de eventos nales y la la Figura 2.1 muestra un ejemplo.
2.2. Activity
Una actividad (Activity) es el trabajo que se realiza. La actividad puede
ser atomica o no atomica (compuesta). Los tipos de actividades son: Process
(Proceso), Task (tarea) y Sub-process (subproceso).
Process no esta asociado a un objeto graco especco sino es un conjunto
de objetos [1].
2.2.1. Task
Una task (tarea) es una actividad atomica incluida dentro de un proceso [1].
La tarea puede tener una marca indicando un loop (bucle) como se muestra en
la Figura 2.2.
Figura 2.2: Tareas
2.2.2. Sub-Process
Un Sub-Process (sub-proceso) es una actividad compuesta cuyos detalles
estan denidos como un ujo de otras actividades. El sub-proceso puede estar
adornado con marcas como se muestra en la gura 2.3. Las marcas pueden ser:
loop, compensate y Ad-hoc.
Figura 2.3: Sub-Process
2.2. ACTIVITY 15
Tabla 2.3: Descripcion de End Event
Trigger Descripci on Smbolo
Emply Es utilizado para mostrar la nalizaci on de un sub-proceso que
origina que el ujo vuelva al proceso padre.
Message Indica que se envia un mensaje al participante cuando naliza
el proceso.
Signal Indica que la se nal debe ser difundida cuando naliza el proceso.
Multiple Signica que existen m ultiples consecuencias al nal del proceso
y todas se deben realizar.
Error Indica que el error debe ser generado.
Cancel Este tipo de evento debe estar en un sub-proceso. Indicara que
la transacci on debe ser cancelada y se dispar a el Cancel Inter-
mediate Event asociado a la frontera del sub-proceso is alcanza-
do dentro del sub-proceso. Adem as, se nalara que un mensaje de
Transaction Protocol Cancel debe ser enviado a alguna entidad
involucrada en la transaccion.
Compensation Se nala que la compensaci on es necesaria. Cuando se indica la
actividad, ella debe ser compensada. De otra forma, todas las
actividades que han sido completadas dentro el proceso, comen-
zando por las de alto nivel y todos sub-procesos deben ser com-
pensados, siguiendo en orden inverso. Una actividad debe tener
un Compensation Intermediate Event asociada a su frontera
para ser compensada.
Terminate Se nala que todas las actividades en el proceso deben ser inmedia-
tamente terminadas, incluyendo todas las instancias. El proceso
termina sin compensacion o administrador de evento.
16 CAP

ITULO 2. FLOW OBJECTS


El sub-proceso puede estar extendido o colapsado. Cuando esta extendido
muestra el detalle del proceso que se ejecuta en su interior. Por el contrario
cuando esta colapsado no muestra sus detalles internos [1]. La Figura 2.4 ilustra
ambas representaciones.
Figura 2.4: Ejemplo de Sub-procesos
2.3. Gateway
Un Gateway es utilizado para controlar la divergencia de la secuencia de un
ujo. Corresponde a las decisiones, tales como bifurcaciones y uniones de ujos.
Los gateways pueden ser: Exclusive Gateways, Inclusive Gateways, Complex
Gateways, y Parallel Gateways [1].
2.3.1. Exclusive Gateways
Los Exclusive Gateways (Decisiones exclusivas) estan localizados dentro de
procesos donde la secuencia del ujo puede tomar dos o mas caminos alternativos
pero solo uno de ellos puede ser tomado. Cada alternativa es asociada con una
condicion. Hay dos tipos de Exclusive Gateways: Data-Based (Basadas en datos)
y Event-Based (Basadas en eventos)[1].
Los Data Based Exclusive Gateways (DBEG) seleccionan el camino en
base a la condicion de cada alternativa. La presencia de la alternativa por defecto
no es obligatoria. La Figura 2.5 muestra la representacion de este gateway.
Figura 2.5: Data Based Exclusive Gateways
Los Event Based Exclusive Gateways (EBEG) representan un punto
de bifurcacion donde las alternativas estan basadas en un evento que ocurre en
2.3. GATEWAY 17
el ujo del proceso en vez de la evaluacion de datos. El evento determina el
camino a tomar. La Figura 2.6 muestra la representacion de este gateway.
Figura 2.6: Event Based Exclusive Gateways
Los DBEG y EBEG tambien puede ser utilizados para unir ujos como se
muestra en la parte b) de las Figuras 2.5 y 2.6. En estos casos solo una de las
entradas es seleccionada para ser la salida [1, 3].
2.3.2. Inclusive Gateways
Los Inclusive Gateways (Decisiones inclusivas) estan localizados dentro de
procesos donde la secuencia del ujo puede tomar uno o varios caminos al-
ternativos. Cada alternativa es asociada con una condicion. Por lo menos una
alternativa debe ser seleccionada por lo tanto se debe especicar la alternativa
por defecto [1, 3]. La Figura 2.7 muestra la representacion de este gateway.
Figura 2.7: Inclusive Gateways
2.3.3. Complex Gateways
Los Complex Gateways especican una condicion de ujo compleja que
esta referenciada por los nombres de la secuencia del ujo. Pueden ser utiliza-
dos como una decision Complex Decision (CD) o como union Complex Merge
(CM). CD es cuando una expresion determina cual de las secuencias de ujo de
salida seran seleccionadas para que el proceso continue (ver la Figura 2.8 (a)).
CM es utilizado como union, una expresion determinara cual de los ujos de
18 CAP

ITULO 2. FLOW OBJECTS


secuencias de entrada sera necesaria para que el proceso continue (ver la Figura
2.8 (b)) [1, 3].
Figura 2.8: Complex Gateways
2.3.4. Parallel Gateways
Los Parallel Gateways son lugares en el proceso donde multiples caminos
paralelos son denidos. Este gateway tambien es llamado AND porque incluye
todas las alternativas. Cuando incluye varios ujos de salida es llamado: Parallel
Forking (ver la Figura 2.9 (a). Es llamado Parallel Joining cuando el gateway
debe recibir una se nal de entrada de todos los fujos de entrada para que el ujo
de salida sea tomado (ver la Figura 2.9 (b). Es decir, el proceso espera que
lleguen todas las se nales antes de continuar [3].
Figura 2.9: Parallel Gateways
Captulo 3
Connecting Objects
En BPMN los objetos se puede conectar por un ujo (ow) o una asociacion
(association). Los ujos puede ser una secuencia o un mensaje. La Figura 3.1
muestra la representacion de estos conectores, los cuales son descriptos en las
siguientes secciones.
Figura 3.1: Conectores
3.1. Flow
Los Flows (ujos) pueden ser de secuencia o mensaje. Los ujos de secuencia
son usados para mostrar el orden en que las actividades seran desarrolladas en
el proceso (ver Figura 3.1 (a)). El origen y el objectivo debe ser uno de los
siguientes objetos: Events, Activities o Gateways. Los ujos de secuencia no
pueden salir de la frontera del sub-proceso o el pool.
En Exclusive o Inclusive Gateway (ver la Seccion 2.3) se puede denir un
ujo de secuencia por defecto como se muestra en el ejemplo de la Figura 3.1.
El fujo por defecto es seleccionado solo si todos los demas son falsos.
Los ujos de mensajes muestran mensajes entre dos participantes de un
proceso. Puede conectar las fronteras del pool con objectos dentro del pool.
Pero no objectos dentro de un mismo pool (ver Figura 3.1 (b)). En la Figura
3.2 se puede ver el uso de los diferentes conectores.
19
20 CAP

ITULO 3. CONNECTING OBJECTS


Figura 3.2: Ejemplo de conectores
3.2. Association
Una Association (Asociacion) es utilizada para asociar datos, informacion y
artefactos (artefacts) con los objetos del ujo (ver la Figura 3.1 (c) y la Figura
3.2).
Captulo 4
Swimlanes
Los swimlanes son utilizados para particionar y organizar actividades. Un
diagrama BPMN podra describir mas de un proceso, as como, mostrar la cola-
boracion entre procesos privados o participantes. Entonces cada proceso privado
debera ser considerado como desarrollado por diferentes participantes quienes
gracamente son representados por rectangulo llamado Pool. Los Pools pue-
den tener sub-particiones llamadas Lanes[1].
4.1. Pool
Un pool representa un participante en un proceso que puede ser una entidad
especca del negocio, por ejemplo una compa nia, o un rol general, por ejemplo
vendedor, comprador etc [1]. Las Figuras 4.1 y 4.2 muestran ejemplos de
relaciones B2B.
Figura 4.1: Ejemplo una relacion B2B con detalles
21
22 CAP

ITULO 4. SWIMLANES
Cuando el pool es utilizado para modelar situaciones de negocio a negocio
(business-to-business B2B) no necesita mostrar los detalles internos como se
ilustra en la Figura 4.2 [1, 3]. Notar que las Figuras 4.1 y 4.2 describen el
mismo proceso.
Figura 4.2: Ejemplo una relacion B2B con Sub-proceso
Dentro de un pool esta descripta la orquestacion. A traves de la relacion
entre los pools se muestra la coreografa (ver Figura 4.1).
4.2. Lane
Los lanes son particiones dentro de un pool. Ellos generalmente pueden re-
presentan roles (ejemplo gerente, empleado, etc.), departamentos de la empresa
(Financiero, Recursos Humanos, etc.), etc. [1]. La Figura 4.3 muestra un ejem-
plo que contiene lanes.
4.2. LANE 23
Figura 4.3: Ejemplo Lane
24 CAP

ITULO 4. SWIMLANES
Captulo 5
Artifacts
BPMN provee la capacidad de mostrar informacion adicional acerca del pro-
ceso a traves de artefactos que nos estan directamente asociados al ujo del
proceso [1]. Estos artefactos son los siguientes y seran descriptos en las siguien-
tes secciones:
Data Object
Group
Annotation
5.1. Data Object
Los Data Objects (Objetos de Datos) son artefactos que muestran como los
datos y documentos son utilizados en el proceso, no tiene un efecto directo sobre
el ujo del proceso. Pueden representar diferentes tipos de tems electronicos o
fsicos. Como representan datos pueden estar denidos por una combinacion de
una o mas entidades (ejemplo: tablas en la base de datos). Pueden relacionarse
con objetos o ujos con los cuales estan conectadas a traves de la asociacion
(association) (ver Figura 5.1).
5.2. Group
Los Groups (Grupos) son artefactos que son utilizados para agrupar ciertas
secciones del diagrama sin agregar restricciones adicionales al desarrollo. Ellos
no estan limitados a los pools y lanes, as como se puede ver en la Figura 5.2.
5.3. Annotation
Son mecanismos para proveer informacion adicional para el lector de un
diagrama BPMN. Puede estar conectado a un objeto del diagrama por medio
25
26 CAP

ITULO 5. ARTIFACTS
Figura 5.1: Data Objects
Figura 5.2: Ejemplo con Group y Annotation
de la asociacion (association) pero no afecta el ujo del proceso (ver Figura
5.2)[1].
Bibliografa
[1] Business process modeling notation (BPMN). Technical report, Object Ma-
nagement Group, OMG, 2009.
[2] Stephen A White. Introduction to BPMN. Elements, 15(c):111, 2004.
[3] Raj J. Software Popkin Owen, M. BPMN and Business Process Management
Introduction to the New Business Process Modeling Standard. Management,
2678(May 2008):27, 2003.
27
28 BIBLIOGRAF

IA
Apendice A
Glosario
F
Flujo de Compensacion dene un conjunto de actividades que son desarro-
lladas durante el roll-back de la transaccion para compensar las actividades que
fueron desarrolladas durante le ujo normal del proceso.
Flujo Normal se reere a una secuencia que se origina en un Evento de
inicio y continua a traves de las actividades mediante trayectorias alternativas
y paralelas hasta su terminacion en un evento nal. No incluye los fujos de
excepcion y compensacion.
29

Vous aimerez peut-être aussi