BPMN (Business process Management Notation) es un estándar de modelado de procesos de negocio, en donde se presentan gráficamente las diferentes etapas del proceso del mismo. La notación ha sido diseñada específicamente para coordinar la secuencia de procesos y los mensajes que fluyen entre los diferentes procesos participantes. Este estándar esta bajo la tutela de la OMG (Object Management Group) lo que afirma su posición como estándar y hace que todas las herramientas existentes en el mercado implementen BPMN.
Es posible modelar tanto la secuencia de actividades como los datos o mensajes intercambiados entre los distintos participantes. BPMN no está pensado para modelar aplicaciones, sino procesos que correrán dentro de dichas aplicaciones. Por ello, la salida de BPMN necesita ser expresado en algo que no sea un lenguaje programático. Es aquí donde entra en juego BPML (metalenguaje desarrollado por BPMI). Así, a través de BPML disponemos de la traducción de un formato gráfico (para ser leido por personas) a un formato leible por máquinas (y permitir el intercambio entre distintas herramientas).
Los elementos que este estándar de modelado nos provee para poder reprecetar procesos de negocio son:
1. Flow Objects
a. Events: (Eventos) Es “algo que pasa” durante el curso de un proceso de negocio. Afectan el flujo del proceso y usualmente tienen una causa y un impacto. Hay tres tipos: Comienzo, Intermedio, Final.
b. Activities: (Avtividades) Es trabajo que es ejecutado dentro de un proceso de negocio. Puede ser atómica o no. Hay tres tipos: Proceso, Subproceso, Tarea.
c. Gateways: (Puertas de entrada) Son elementos de modelado que sirven para controlar como interactúa el flujo de secuencia mientas converge y diverge dentro de un proceso. Consiste de una colección de puertas que controlan la salida y el gateway determina como estarán dispuestas las mismas.
2. Connecting Objects a. Sequence Flow: (Flujo de Secuencia)Se usa para mostrar el orden en que las actividades se ejecutan. Tienen una sola fuente y un solo destino (eventos, actividades y gateways).
b. Message Flow: (Flujo de mensajes) Se usa para mostrar el flujo de mensajes entre dos entidades que están preparadas para mandarlos/recibirlos. En BPMN, estas dos entidades son dos pools en un diagrama.
c. Association: (Asociación) Es usada para asociar información y artefactos con objetos de flujo.
3. Swimlanes a. Pool: Es un contenedor gráfico para particionar un conjunto de actividades de otros pools, cuando se modelan situaciones B2B. Atraviesan todo el diagrama. Los flujos de secuencia no pueden cruzar los límites de un pool, esto se hace con flujo de mensajes. Pueden ser vistos como una “caja negra” o “caja blanca”.
b. Lane: Es una sub-partición dentro de un pool. Se extiende a toda la longitud del pool. Son usadas para organizar y categorizar dentro del pool. Son usadas para: Roles internos (Director, Asociados), Sistemas (Aplicaciones), Departamentos internos (Finanzas).
4. Artifacts a. Data Objects: (Objeto de dato) Proveen información acerca de lo que hace el proceso. Pueden ser usados para representar elementos electrónicos y/o físicos.
b. Group: (Grupo) Provee un mecanismo visual para agrupar elementos de un proceso informalmente. Pueden expandirse más allá de los límites de un diagrama.
c. Annotation:(Anotaciones) Proveen información adicional para el lector de un diagrama BPMN. No afectan el flujo del proceso y no mapean a BPEL4WS.
A cpontinuacion veremos la reprecentacion grafica de cada uno de los elementos que BPMN nos provee para poder reprecentar procesos de negocio.