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. Manejo del tutorial 2. El OMG 3. Los diagramas BPMN 4. Tipos de diagrama BPMN 1. Procesos de Negocio privados 2. Procesos pblicos 3. Colaboraciones 4. Coreografas 5. Conversaciones Manejo del tutorial Dada la complejidad que presenta el hecho de explicar una notacin tan extensa como es la de BPMN mediante una aplicacin Web, sta debe dotarse de una herramienta de navegacin til para guiar al usuario. En ese sentido, esta aplicacin se ha desarrollado con una serie de ayudas que le sirvan de apoyo mientras navega por la misma. Para que pueda comprobar de una forma rpida y sencilla en qu punto se encuentra del captulo, en la parte superior puede encontrar una herramienta que le gua por las diferentes secciones por las que ha ido navegando hasta la seccin actual en la que se encuentra. Por ejemplo, en esta pgina se tendra la siguiente navegacin: Usted est en: Tutorial BPMN > Captulo 0 > Manejo del tutorial se trata, por tanto, de una seccin dentro del Captulo 0 del tutorial. En posteriores captulos, dnde se profundice en los conceptos asociados a la notacin BPMN, esta herramienta tendr una estructura ms extensa y podr acceder directamente a cada nodo padre anterior. Para navegar por el tutorial y por el captulo actual, se han habilitado dos formas diferentes para que pueda acceder de manera fcil a las diferentes secciones. Mediante el men de navegacin
Dirige al ndice del captulo actual dnde se recogen todas las secciones.
Dirige a la anterior seccin del captulo actual.
Dirige a la siguiente seccin del captulo actual.
Mediante el teclado Tecla I Dirige al ndice del captulo actual dnde se recogen todas las secciones. Tecla <- Re Pg Dirige a la anterior seccin del captulo actual. Tecla -> Av Pg Dirige a la siguiente seccin del captulo actual. El men de navegacin lo encontrar accesible al final de cada pgina del tutorial Con la unin de estas dos herramientas se consigue una ptima navegacin por la aplicacin. Le invitamos a que pruebe todo lo que aqu se ha dicho para aprender a utilizar la aplicacin. Finalmente, acceda a la siguiente seccin utilizando, para ello, alguna de las dos acciones descritas anteriormente. El OMG
Fundada en 1989, la organizacin OMG, Object Management Group (en espaol, Grupo de Gestin de Objetos), es un consorcio abierto y no lucrativo en el mbito de la industria informtica, dedicado a desarrollar, mantener y producir especificaciones estndares para conseguir una mayor interoperatividad, reusabilidad y portabilidad en un entono distribuido y heterogneo. Los miembros que lo componen incluyen a proveedores de tecnologa, usuarios finales as como agencias gubernamentales y acadmicas. Puede citarse, a modo de ejemplo, los siguientes: Eclipse Foundation Hewlett-Packard IBM Microsoft Corporation W3 Consortium Los diferentes miembros se comprometen a escribir, adoptar y mantener las diferentes especificaciones que se vayan generando. Estas especificaciones estn diseadas para cubrir desde sistemas operativos hasta lenguajes de programacin, infraestructuras de red y middleware y entornos de desarrollo software. Algunas de las especificaciones ms conocidas del OMG son: UML, Unified Modeling Language: Lenguaje estndar para el anlisis y el diseo de aplicaciones, especificando la estructura y comportamiento de los sistemas. CORBA, Common Object Request Broker Architecture: Especificacin central para la interoperatividad de objetos distribuidos. CWM, Common Warehouse Metamodel: Extensin del metamodelo estndar para modelado y minera de datos y otros aspectos de manipulacin y almacenamoento de datos. El catlogo de todas las especificaciones pueden consultarse y descargarse gratuitamente aqu. Puede consultarse ms informacin sobre el OMG en su pgina web. Los diagramas BPMN
Los diagramas 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 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 procesos. Origen del BPMN La organizacin BPMI, Business Process Management 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, 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. 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. 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. 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). 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. 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 inter-conexin 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. 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.
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 12. Evento de Inicio Paralelo Mltiple 13. Procesos con ms de un Evento de Inicio 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 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 unresultado. 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 disparadorMensaje 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 eldisparador 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 BPMNpudiendo 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 eldisparador 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 Eventocapturador 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