bpmn-guia

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

Upload: rolo86

Post on 22-Nov-2015

6 views

Category:

Documents


0 download

TRANSCRIPT

  • Business Process Modeling Notation

    (BPMN)

    Ing. Ilse Grau Yegros

    ICT4G Unit - FBK ICTvia Sommarive, 1838122 Trento (Italy)

    6 de marzo de 2012

  • 2

  • Contenido

    1. Introduccion 9

    2. Flow Objects 112.1. Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.1. Start Event . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.2. Intermediate Event . . . . . . . . . . . . . . . . . . . . . 112.1.3. End Event . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.2. Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.1. Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.2. Sub-Process . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.3. Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.1. Exclusive Gateways . . . . . . . . . . . . . . . . . . . . . 162.3.2. Inclusive Gateways . . . . . . . . . . . . . . . . . . . . . . 172.3.3. Complex Gateways . . . . . . . . . . . . . . . . . . . . . . 172.3.4. Parallel Gateways . . . . . . . . . . . . . . . . . . . . . . 18

    3. Connecting Objects 193.1. Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2. Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    4. Swimlanes 214.1. Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2. Lane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    5. Artifacts 255.1. Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.2. Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.3. Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    A. Glosario 29

    3

  • 4 CONTENIDO

  • Indice de figuras

    2.1. Ejemplo con eventos . . . . . . . . . . . . . . . . . . . . . . . . . 122.2. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3. Sub-Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4. Ejemplo de Sub-procesos . . . . . . . . . . . . . . . . . . . . . . . 162.5. Data Based Exclusive Gateways . . . . . . . . . . . . . . . . . . . 162.6. Event Based Exclusive Gateways . . . . . . . . . . . . . . . . . . 172.7. Inclusive Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 172.8. Complex Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 182.9. Parallel Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.1. Conectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2. Ejemplo de conectores . . . . . . . . . . . . . . . . . . . . . . . . 20

    4.1. Ejemplo una relacion B2B con detalles . . . . . . . . . . . . . . 214.2. Ejemplo una relacion B2B con Sub-proceso . . . . . . . . . . . . 224.3. Ejemplo Lane . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    5.1. Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2. Ejemplo con Group y Annotation . . . . . . . . . . . . . . . . . 26

    5

  • 6 INDICE DE FIGURAS

  • Indice de cuadros

    2.1. Descripcion de Start Event . . . . . . . . . . . . . . . . . . . . . 122.2. Descripcion de Intermediate Event . . . . . . . . . . . . . . . . . 132.3. Descripcion de End Event . . . . . . . . . . . . . . . . . . . . . . 15

    7

  • 8 INDICE DE CUADROS

  • Captulo 1

    Introduccion

    Business Process Modeling Notation (BPMN) es un estandar para modelarprocesos de negocios, flujos y web services. Fue creado por Business ProcessManagement Initiative (BPMI) con el objetivo de proveer una notacion com-prensible por todos los usuarios del negocio [1].

    BPMN define un Diagrama de Procesos de Negocio (BPD), basado en latecnica de diagrama de flujos. BPD es una red de objetos graficos, correspon-dientes a actividades y controles de flujo que definen el orden de ejecucion deestas.

    BPMN incluye tres categoras de procesos que son:

    Orchestration (Orquestacion) describe un proceso dentro de una entidaddel negocio.

    Choreography (Coreografa) define el comportamiento varias entidades denegocio que estan interactuando.

    Collaboration (Colaboracion) muestra los participantes y sus interacciones.

    BPMN incluye cuatro categoras de elementos que seran descriptos en lossiguientes captulos y son:

    Flow Objects

    Connecting Objects

    Swimlanes

    Artifacts

    Los objetos graficos de BPMN pueden ser mapeados al lenguaje de ejecu-cion de procesos de negocio para Servicios Web (BPEL4WS v1.1) el cual es unestandar de facto para la ejecucion de procesos [1].

    9

  • 10 CAPITULO 1. INTRODUCCION

  • 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, afectael flujo del proceso y generalmente tiene una causa y un resultado. De acuerdocomo afecta al proceso pueden ser de tres tipos: Start (inicio), Intermediate(intermedio) y End (Fin). El Event es representado por un crculo cuyo contornodetermina de que tipo es el evento [2].

    2.1.1. Start Event

    El Start Event (evento inicial) indica donde un proceso se iniciara. Existendiferentes Triggersque indican las circustancias especficas en que puede ini-ciarse un proceso [2]. La Tabla 2.1 describe los tipos de eventos iniciales y laFigura 2.1 muestra un ejemplo.

    2.1.2. Intermediate Event

    El Intermediate Event (Evento Intermedio) ocurre despues que un procesohaya iniciado y antes que termine. Puede estar ubicado en el flujo normal delproceso o en el lmite de una actividad [1].

    Los Eventos que ubicados en el lmite de una actividad indican que la mismadebe ser interrumpida cuando se dispara el evento. Esta situacion es ilustrada

    11

  • 12 CAPITULO 2. FLOW OBJECTS

    Tabla 2.1: Descripcion de Start EventTrigger Descripcion Smbolo

    Emply Se usa para marcar el inicio de un sub proceso o cuando el inicioes indefinido.

    Message Un mensaje llega desde un participante y dispara el proceso deinicio.

    Timer Una hora-fecha o un especfico ciclo puede ser fijado para ejecu-tar el proceso de inicio.

    Signal Una senal difundida de otro proceso llega y dispara el proceso deinicio. La senal no es un mensaje, el cual tiene un destinatarioespecfico. Una senal puede iniciar multiples procesos.

    Multiple Significa que existen muchas maneras de iniciar un proceso, solouno de ellos es requerido para iniciarlo.

    Rule El evento ocurre cuando la condicion de la regla es verdadera.

    en la Figura 2.1, la cual muestra que si la reserva no es confirmada dentro delas 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 Descripcion Smbolo

    Emply Puede ser usado solo por eventos que ocurren en el flujo centraldel proceso.

    Message Un mensaje llega de un participante y dispara el evento. Enel flujo normal, este tipo de evento pude ser usado para enviarmensages a un participante (ver ejemplo de la Figura 2.1).

    Timer Una hora-fecha o un ciclo especfico puede ser fijado para dis-parar el evento. Si es usado en el flujo principal del proceso esun mecanismo de retraso (ver ejemplo de la Figura 2.1). Si esusado para manejar una excepcion, cambiara el flujo normal aun flujo de excepcion.

    Signal Es utilizado para enviar o recibir senales. Una senal generalmen-te es una comunicacion entre y a traves niveles de proceso, Poolsy BPD. Este tipo de evento puede enviar o recibir una senal siel evento es parte del flujo normal. El evento puede recibir solouna senal cuando esta en el lmite de la actividad.

    Multiple Significa que existen multiples triggers asignados al evento. Sies usado entre el flujo normal, el evento puede capturar (catch)el trigger o lanzarlo (throw). Cuando esta situado en la fronterade la actividad solo puede capturar el trigger.

    Rule El evento ocurre cuando la condicion de la regla es verdadera.

    Error Este tipo de evento puede estar solo en el lmite de una actividadporque 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 alcanzadodentro del sub-proceso. Tambien podra ser lanzado si se recibeun Protocolo de Transaccion Cancel durante el desarrollo de latransaccion.

    Compensation Es utilizado para administrar la compensacion durante su acti-vacion o ejecucion. Cuando aparece en el flujo normal indica quela compensacion es necesaria. Si el evento esta asociado a unaactividad, esta debe ser compensada. De otra forma, la compen-sacion alcanza a todas las actividades que han sido completadasdentro de la instancia del proceso, incluyendo los procesos dealto nivel y sub procesos.

    Link Es un mecanismo para conectar dos partes de un proceso. Puedeser utilizado para crear un bucle o saltar una secuencia de flujo,tambien como conector de fin de pagina cuando el proceso ocupavarias paginas.

  • 14 CAPITULO 2. FLOW OBJECTS

    2.1.3. End Event

    El End Event (Evento Final) indica donde termina un proceso. Sus tiposindican las circustancias en que este finaliza [1, 2]. La tabla 2.3 describe lostipos de eventos finales y la la Figura 2.1 muestra un ejemplo.

    2.2. Activity

    Una actividad (Activity) es el trabajo que se realiza. La actividad puedeser 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 grafico especfico sino es un conjuntode 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 enla Figura 2.2.

    Figura 2.2: Tareas

    2.2.2. Sub-Process

    Un Sub-Process (sub-proceso) es una actividad compuesta cuyos detallesestan definidos como un flujo de otras actividades. El sub-proceso puede estaradornado con marcas como se muestra en la figura 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 Descripcion Smbolo

    Emply Es utilizado para mostrar la finalizacion de un sub-proceso queorigina que el flujo vuelva al proceso padre.

    Message Indica que se envia un mensaje al participante cuando finalizael proceso.

    Signal Indica que la senal debe ser difundida cuando finaliza el proceso.

    Multiple Significa que existen multiples consecuencias al final del procesoy todas se deben realizar.

    Error Indica que el error debe ser generado.

    Cancel Este tipo de evento debe estar en un sub-proceso. Indicara quela transaccion debe ser cancelada y se dispara el Cancel Inter-mediate Event asociado a la frontera del sub-proceso is alcanza-do dentro del sub-proceso. Ademas, senalara que un mensaje deTransaction Protocol Cancel debe ser enviado a alguna entidadinvolucrada en la transaccion.

    Compensation Senala que la compensacion es necesaria. Cuando se indica laactividad, ella debe ser compensada. De otra forma, todas lasactividades 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 tenerun Compensation Intermediate Event asociada a su fronterapara ser compensada.

    Terminate Senala que todas las actividades en el proceso deben ser inmedia-tamente terminadas, incluyendo todas las instancias. El procesotermina sin compensacion o administrador de evento.

  • 16 CAPITULO 2. FLOW OBJECTS

    El sub-proceso puede estar extendido o colapsado. Cuando esta extendidomuestra el detalle del proceso que se ejecuta en su interior. Por el contrariocuando esta colapsado no muestra sus detalles internos [1]. La Figura 2.4 ilustraambas representaciones.

    Figura 2.4: Ejemplo de Sub-procesos

    2.3. Gateway

    Un Gateway es utilizado para controlar la divergencia de la secuencia de unflujo. Corresponde a las decisiones, tales como bifurcaciones y uniones de flujos.Los gateways pueden ser: Exclusive Gateways, Inclusive Gateways, ComplexGateways, y Parallel Gateways [1].

    2.3.1. Exclusive Gateways

    Los Exclusive Gateways (Decisiones exclusivas) estan localizados dentro deprocesos donde la secuencia del flujo puede tomar dos o mas caminos alternativospero solo uno de ellos puede ser tomado. Cada alternativa es asociada con unacondicion. 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 enbase a la condicion de cada alternativa. La presencia de la alternativa por defectono 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 puntode bifurcacion donde las alternativas estan basadas en un evento que ocurre en

  • 2.3. GATEWAY 17

    el flujo del proceso en vez de la evaluacion de datos. El evento determina elcamino 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 flujos como semuestra en la parte b) de las Figuras 2.5 y 2.6. En estos casos solo una de lasentradas es seleccionada para ser la salida [1, 3].

    2.3.2. Inclusive Gateways

    Los Inclusive Gateways (Decisiones inclusivas) estan localizados dentro deprocesos donde la secuencia del flujo puede tomar uno o varios caminos al-ternativos. Cada alternativa es asociada con una condicion. Por lo menos unaalternativa debe ser seleccionada por lo tanto se debe especificar la alternativapor 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 especifican una condicion de flujo compleja queesta referenciada por los nombres de la secuencia del flujo. 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 flujo desalida seran seleccionadas para que el proceso continue (ver la Figura 2.8 (a)).CM es utilizado como union, una expresion determinara cual de los flujos de

  • 18 CAPITULO 2. FLOW OBJECTS

    secuencias de entrada sera necesaria para que el proceso continue (ver la Figura2.8 (b)) [1, 3].

    Figura 2.8: Complex Gateways

    2.3.4. Parallel Gateways

    Los Parallel Gateways son lugares en el proceso donde multiples caminosparalelos son definidos. Este gateway tambien es llamado AND porque incluyetodas las alternativas. Cuando incluye varios flujos de salida es llamado: ParallelForking (ver la Figura 2.9 (a). Es llamado Parallel Joining cuando el gatewaydebe recibir una senal de entrada de todos los fujos de entrada para que el flujode salida sea tomado (ver la Figura 2.9 (b). Es decir, el proceso espera quelleguen todas las senales antes de continuar [3].

    Figura 2.9: Parallel Gateways

  • Captulo 3

    Connecting Objects

    En BPMN los objetos se puede conectar por un flujo (flow) o una asociacion(association). Los flujos puede ser una secuencia o un mensaje. La Figura 3.1muestra la representacion de estos conectores, los cuales son descriptos en lassiguientes secciones.

    Figura 3.1: Conectores

    3.1. Flow

    Los Flows (flujos) pueden ser de secuencia o mensaje. Los flujos de secuenciason usados para mostrar el orden en que las actividades seran desarrolladas enel proceso (ver Figura 3.1 (a)). El origen y el objectivo debe ser uno de lossiguientes objetos: Events, Activities o Gateways. Los flujos de secuencia nopueden salir de la frontera del sub-proceso o el pool.

    En Exclusive o Inclusive Gateway (ver la Seccion 2.3) se puede definir unflujo 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 flujos de mensajes muestran mensajes entre dos participantes de unproceso. 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 Figura3.2 se puede ver el uso de los diferentes conectores.

    19

  • 20 CAPITULO 3. CONNECTING OBJECTS

    Figura 3.2: Ejemplo de conectores

    3.2. Association

    Una Association (Asociacion) es utilizada para asociar datos, informacion yartefactos (artefacts) con los objetos del flujo (ver la Figura 3.1 (c) y la Figura3.2).

  • Captulo 4

    Swimlanes

    Los swimlanes son utilizados para particionar y organizar actividades. Undiagrama BPMN podra describir mas de un proceso, as como, mostrar la cola-boracion entre procesos privados o participantes. Entonces cada proceso privadodebera ser considerado como desarrollado por diferentes participantes quienesgraficamente 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 entidadespecfica del negocio, por ejemplo una compania, o un rol general, por ejemplovendedor, comprador etc [1]. Las Figuras 4.1 y 4.2 muestran ejemplos derelaciones B2B.

    Figura 4.1: Ejemplo una relacion B2B con detalles

    21

  • 22 CAPITULO 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 seilustra en la Figura 4.2 [1, 3]. Notar que las Figuras 4.1 y 4.2 describen elmismo proceso.

    Figura 4.2: Ejemplo una relacion B2B con Sub-proceso

    Dentro de un pool esta descripta la orquestacion. A traves de la relacionentre 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 CAPITULO 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 flujo delproceso [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 losdatos y documentos son utilizados en el proceso, no tiene un efecto directo sobreel flujo del proceso. Pueden representar diferentes tipos de tems electronicos ofsicos. Como representan datos pueden estar definidos por una combinacion deuna o mas entidades (ejemplo: tablas en la base de datos). Pueden relacionarsecon objetos o flujos 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 ciertassecciones del diagrama sin agregar restricciones adicionales al desarrollo. Ellosno 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 undiagrama BPMN. Puede estar conectado a un objeto del diagrama por medio

    25

  • 26 CAPITULO 5. ARTIFACTS

    Figura 5.1: Data Objects

    Figura 5.2: Ejemplo con Group y Annotation

    de la asociacion (association) pero no afecta el flujo del proceso (ver Figura5.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 ManagementIntroduction to the New Business Process Modeling Standard. Management,2678(May 2008):27, 2003.

    27

  • 28 BIBLIOGRAFIA

  • Apendice A

    Glosario

    F

    Flujo de Compensacion define un conjunto de actividades que son desarro-lladas durante el roll-back de la transaccion para compensar las actividades quefueron desarrolladas durante le flujo normal del proceso.

    Flujo Normal se refiere a una secuencia que se origina en un Evento deinicio y continua a traves de las actividades mediante trayectorias alternativasy paralelas hasta su terminacion en un evento final. No incluye los fujos deexcepcion y compensacion.

    29