Desde su descripción, BPMN ha tratado de dar soporte a tres categorías principales de Procesos:
• Orquestación • Coreografía • Colaboración
Estos términos han variado, usualmente con conflictivos significados en los distintos contextos de negocio en los que son aplicados. Se ha tratado de definirlos para los propósitos de BPMN, y luego aplicarlos consisten- temente en este libro. Versiones futuras de BPMN harán distinciones más claras entre estos tipos de procesos, incluyendo un robusto soporte de diagramas para cada aspecto.
Orquestación
En BPMN, los modelos de orquestación tienden a implicar una perspecti- va única de coordinación—por ejemplo, representan una vista específica del negocio u organización del Proceso. Como tal, un Proceso de orques-
tación describe cómo una única entidad de negocio lleva a cabo las cosas.
Utilizada principalmente en la comunidad técnica, la “Orquestación del Proceso” está habitualmente alineada con lenguajes de Servicios Web tal como BPEL.
La mayor parte de este libro explora los modelos de procesos orientados a la orquestación. Tanto es así, que se referirá a las orquestaciones simple- mente como Procesos. La figura 3-2 muestra un simple modelo de or-
questación.
Figura 3-2—Una Orquestación típica de BPMN
Sin embargo, un diagrama BPMN puede contener más de una orquesta-
ción. En tal caso, cada orquestación aparece dentro su propio contenedor
llamado Pool (véase pagina 161). De esta manera, las orquestaciones (por ejemplo, los Procesos) están siempre contenidos dentro de un Pool. Esta es una importante distinción al comprender la diferencia entre orquesta-
ción y coreografía.
Además, el hecho que los modelos de orquestación están contenidos en un Pool indica que consisten de elementos de procesos que coexisten de-
ntro de un contexto bien definido, o centro de control. Un modelo de or-
questación ejecutado por una Suite BPM cumple exactamente esta des-
cripción, pero también aplica a situaciones que no son parte de un sis- tema semiautomático. Una consecuencia del “contexto bien definido” en una orquestación, es que cualquier dato está disponible para todos los elementos del modelo.
Coreografía
Un modelo de proceso de coreografía es una definición del comportamien- to esperado (una clase de contrato procedimientos o protocolo) entre los
participantes que interactúan. Estos participantes pueden ser roles de
negocio generales (por ejemplo, un despachador) o una entidad específica de negocio (por ejemplo, FedEx como empresa de transporte).
Como en la definición de un ballet, en BPMN una coreografía describe las
interacciones de los participantes. En BPMN, una coreografía define la se-
cuencia de interacciones entre dos o más participantes. En BPMN, las in-
teracciones son la comunicación, a través de la cual se intercambia un mensaje entre dos participantes.
Un modelo de coreografía BPMN comparte muchas de las características de un modelo de orquestación en cuanto a que tienen un diagrama de flujo. Incluye tanto caminos alternativos y paralelos, así como Sub Proce- sos. De esta manera, los objetos de flujo (Actividades, Eventos, y Gate- ways) de los modelos de orquestación también aplican a los modelos de coreografía.
Sin embargo, hay grandes diferencias entre los modelos de orquestación y
coreografía:
• Una orquestación está contenida por un Pool y normalmente en un contexto bien definido.
• Una coreografía no existe dentro de un contexto bien definido o centro de control. No hay mecanismo central que guíe o mantenga trazo de una coreografía. Por lo cual no hay datos compartidos disponibles para todos los elementos de la coreografía.
• Para ubicar una coreografía dentro de diagramas BPMN, la forma es hacerlo entre los Pools.
La primera versión de BPMN (ahora 1.1) incluía algunos de los conceptos que dan soporte a los modelos de coreografía. Y si bien es posible obtener el comportamiento esperado de la coreografía, los elementos que se nece- sitan para una definición completa todavía no se han definido. BPMN 2.0 incluirá soporte completo para diagramas de coreografía (distinto a los diagramas de orquestación).
Figura 3-3—Coreografía en BPMN (como se modela actualmente)
La figura 3-3 muestra la capacidad actual para la definición de coreograf-
ía en BPMN 1.1. El diagrama muestra dos Pools, cada una contiene una orquestación. Los conectores entre los Pools son el Flujo de Mensajes
(véase página 165). La combinación de Actividades y otros elementos de- ntro de los Pools y el Flujo de Mensajes entre los Pools definen una co-
reografía implícita.
Se espera que BPMN 2.0 incluya un diagrama específico de coreografía. En lugar de tener que obtener la coreografía a partir del intercambio de mensajes, será posible modelarlo por si solo o ubicarlo entre los Pools.
Colaboración
La colaboración tiene un significado específico en BPMN. Mientras que la
coreografía muestra el conjunto ordenado (protocolo) de interacciones en-
tre los participantes. Una colaboración puede contener también una co-
reografía (cuando esté disponible en BPMN) y una o más orquestaciones.
Para ser más específico, una colaboración es cualquier diagrama BPMN que contenga dos o más participantes como se muestra con los Pools. Los Pools tienen Flujo de Mensajes entre ellos. Cualquiera de los Pools puede llegar a contener una orquestación (un Proceso), pero no está requerido. La figura 3-4 muestra un ejemplo de diagrama de colaboración. Contiene dos Pools y Flujo de Mensajes entre ellos. Otros diagramas de colabora-
ción pueden mostrar orquestaciones dentro de los Pools (como en la figu-
Capítulo 4.
Aspectos del Modelado
Resumen: El propósito de este capítulo es analizar algunas de las cuestiones aso‐ ciadas al modelado de Procesos en general, e identificar algunos de los desafíos que se presentan al tratar con estas cuestiones. El Apéndice asociado (“Técnicas para la Arquitectura de Procesos" en la página 186) analiza varios de los enfoques disponibles que pueden ayudar al mode‐ lador a identificar la arquitectura apropiada de Proceso. 5