Capitulo_4_Coreograf_a_de_Procesos.pdf

43
Diseño de Procesos de Negocios Departamento de Ciencias de la Computación Facultad de Ciencias Físicas y Matemáticas Universidad de Chile 1 Sebastián Ríos Carlos Reveco Luciano Villarroel Parra Capítulo 4 Coreografía de Procesos

Transcript of Capitulo_4_Coreograf_a_de_Procesos.pdf

  • Diseo de Procesos de Negocios

    Departamento de Ciencias de la Computacin Facultad de Ciencias Fsicas y Matemticas Universidad de Chile

    1

    Sebastin Ros Carlos Reveco Luciano Villarroel Parra

    Captulo 4 Coreografa de Procesos

  • 2

    Coreografa de Procesos

    Muchas veces, un proceso involucra varias organizaciones (empresas de manufactura, distribuidores, clientes, etc.). Para coordinar las actividades de cada organizacin,

    es relevante tener en cuenta que son desarrolladas de manera independiente. Para separar las actividades de cada organizacin,

    utilizaremos distintos Pools.

  • 3

    Ejemplo 1

    El Panel de la conferencia cientfica publica un CFP (call for papers), esperando que Autores lo vean y enven artculos relevantes para la conferencia. Al momento que envan sus publicaciones, el Panel los recolecta y dependiendo del rea de expertise de cada artculo, le asigna uno a distintos Revisores. Una vez que tienen las revisiones, dependiendo de la decisin tomada por los Revisores (aceptado o rechazado), le envan una notificacin al autor del artculo. Luego, recolectan las versiones finales de cada artculo y preparan el compilado de artculos de la conferencia, terminando el proceso.

  • 4

    Ejemplo 1continuacin

    Los Autores, reciben un CFP, actividad que los hace preparar un documento borrador (white paper), que es enviado a los organizadores de la conferencia. Una vez que los Revisores emiten sus comentarios, si el artculo fue aceptado, los Autores preparan una versin final la cual es enviada a los organizadores de la conferencia (Panel). Si no, el proceso termina para los autores. Los Revisores, una vez que reciben el artculo, preparan sus

    revisiones y luego se las envan al Panel de la conferencia, terminando su proceso.

  • 5

    Solucin Ejemplo 1

  • 6

    Ejemplo 2 (a)

    En Noviembre de cada ao, la Unidad de Coordinacin en la Autoridad de Planificacin de la Ciudad, elabora un calendario de reuniones para el prximo ao calendario, agregando fechas tentativas para las reuniones.

    El Oficial de Soporte de la misma entidad, verifica las fechas y sugiere modificaciones. La Unidad de Coordinacin verifica nuevamente las fechas y busca potenciales conflictos. El calendario final de reuniones es enviado a todos los Miembros del Comit independientes, quienes verifican sus agendas y avisan al Oficial de Soporte de cualquier conflicto. Lo que finaliza con una versin definitiva del calendario, la cul es enviada a cada Miembro del Comit.

  • 7

    Solucin Ejemplo 2 (a)

  • 8

    Ejemplo 2 (b)

    Una vez que la Unidad de Coordinacin estableci las fechas definitivas, el Oficial de Soporte actualiza todos los calendarios grupales y crea carpetas para cada reunin, asegurandose que todos los documentos apropiados estn subidos en el sistema. Se avisa a los Miembros del Comit una semana antes de cada reunin que deben leer todos los documentos relacionados.

    Los Miembros del Comit tienen sus reuniones, y luego el Oficial de Soporte produce las minutas incluyendo los Puntos de Accin para cada Miembro del Comit. Dentro de 5 das hbiles, la Unidad de Coordinacin debe realizar una verificacin Q.A. sobre las minutas que le son enviadas a los Miembros del Comit. Luego el Oficial de Soporte finaliza el proceso actualizando todos los registros departamentales.

  • 9

    Solucin Ejemplo 2 (b)

  • 10

    Coreografa de Procesos (1)

    En el ejemplo anterior, vimos la interaccin entre una organizacin y varios miembros de un comit independiente utilizando dos Pool. Esta interaccin describe una coordinacin entre dos

    organizaciones (Autoridad de Planificacin de la Ciudad y Miembros del Comit). Duda: Hasta que punto es necesario detallar las

    actividades de cada organizacin? Se tienen actividades que describen procesos de

    negocios privados, pblicos, colaborativos y globales.

  • 11

    Coreografa de Procesos (2)

    Un proceso de negocio privado, contiene solo actividades que se llevan a cabo dentro de una organizacin en particular.

  • 12

    Coreografa de Procesos (3)

    Un proceso de negocio pblico, representa slo aquellas actividades que se comunican con otros procesos de negocio. Estas actividades se pueden verificar por aquellas que intercambian mensajes con su mundo exterior.

  • 13

    Coreografa de Procesos (4)

    En un proceso de negocio colaborativo, dos o ms procesos de negocios pblicos son combinados para describir el comportamiento de todos los involucrados en una colaboracin Business-to-Business.

  • 14

    Coreografa de Procesos (5) En un proceso de negocio global, se presentan todas las actividades de las distintas organizaciones involucradas en una relacin Business-to-Business.

  • 15

    Coreografa de Procesos (6)

    Las coreografas de procesos tienen el rol central de asegurar la inter-operabilidad entre orquestaciones de procesos. Recuerdo: La orquestacin de procesos son las

    restricciones de ejecucin entre actividades de un determinado proceso. Las orquestaciones de procesos se comunican

    tpicamente mediante el envo y recepcin de mensajes.

  • 16

    Coreografa de Procesos (7)

    Las iniciativas de colaboracin entre varias empresas estn basadas en la correcta definicin de coreografas de procesos. En varios escenarios (e.g. logstica), ya se han definido reglas

    de colaboracin que las compaas deben llevar a cabo para poder colaborar entre ellas. Con el uso de las reglas de colaboracin, los costos de las

    empresas son reducidos ya que se pueden optimizar las actividades de acuerdo a un escenario estandarizado. Adems, nuevas empresas pueden incorporarse al mercado de

    una forma ms fcil y transparente, dado que las reglas del dominio ya estn definidas.

  • 17

    Coreografa de Procesos (8)

    Existen varios casos que una coreografa entre procesos mal diseada. Consideremos el caso de dos compaas.

  • 18

    Coreografa de Procesos (9)

    Supongamos que la primera actividad que desarrolla la Compaa 1 es recibir (A1). Esta actividad espera recibir un mensaje enviado por la actividad B2 de la Compaa 2.

    La actividad A1 bloquea la orquestacin de la Compaa 1, i.e. no se pueden ejecutar las siguientes actividades, hasta que A1 reciba un mensaje.

    Anlogamente, la Compaa 2 espera que la actividad A2 reciba un mensaje de C1, enviado por la Compaa 1.

    Como resultado, ambas orquestaciones no pueden proceder: estn estancadas en un deadlock permanente.

    Para evitar estos problemas, las partes involucradas (Compaa 1 y 2) deben llegar a un acuerdo en trminos de la coreografa.

  • 19

    Desarrollo de Coreografa de Procesos (1)

    Para el desarrollo de las coreografas de procesos, nos guiaremos mediante el uso de fases de desarrollo. El uso de las fases nos darn una gua de los conceptos

    asociados al desarrollo y diseo de las coreografas de procesos, ms que una metodologa de referencia. Las fases estn organizadas en diseo e implementacin. Hay tres roles necesarios para llevar a cabo un diseo e

    implementacin de una coreografa: Ingenieros de Negocio Arquitectos de Sistemas Desarrolladores.

  • 20

    Desarrollo de Coreografa de Procesos (2)

  • 21

    Ingeniero de Negocio est involucrado en la fase de diseo, lo que incluye: Modelamiento de escenarios (scenario modelling) Definicin de cotas del dominio (domain scoping) Definicin de hitos (milestone definition) Identificacin de los participantes (participant definition).

    Son responsables que los objetivos de la empresa se mantengan al momento de disear un ambiente de colaboracin entre dos organizaciones.

    Desarrollo de Coreografa de Procesos (3)

  • 22

    Los arquitectos de sistemas son los responsables de los aspectos arquitectnicos de la implementacin de la coreografa. Estn a cargo tanto del diseo como de la coreografa. En particular, los arquitectos de sistemas estn

    involucrados en la especificacin de las interfaces de comportamiento del proceso. Una vez que el diseo est listo, los desarrolladores son los

    responsables de realizar la orquestacin de procesos, implementando las interfaces de comportamiento.

    Desarrollo de Coreografa de Procesos (4)

  • 23

    Patrones de Interaccin de Servicios (1)

    Existen varias diferencias entre la orquestacin de procesos y la coreografa de procesos. Coreografas: Basadas en el intercambio de mensajes. Potencialmente muchos participantes pueden interactuar.

    Orquestacin: Basadas en el control del flujo entre las actividades de un

    proceso ejecutado por una organizacin.

  • 24

    Patrones de Interaccin de Servicios (2)

    Clasificados en: Cantidad de participantes involucrados:

    Interacciones bi-laterales y multi-laterales. Cantidad de mensajes intercambiados:

    Transmisin nica e interacciones de mltiples transmisiones. Variaciones en el recibidor de mensajes:

    Interacciones round-trip (recibe quien enva) e interacciones router interaction (receptor difiere de quien enva)

  • 25

    Patrones de Interaccin de Servicios (3) Envo: Representa una interaccin en una va entre dos

    participantes visto desde la perspectiva de quien enva el mensaje.

  • 26

    Patrones de Interaccin de Servicios (4) Recepcin: Representa una interaccin en una va entre dos

    participantes visto desde la perspectiva de quien recibe el mensaje.

  • 27

    Patrones de Interaccin de Servicios (5) Envo/Recepcin: Un participante enva una peticin a otro participante, quien

    retorna un mensaje de respuesta.

    Ambos mensajes pertenecen a la misma conversacin.

  • 28

    Patrones de Interaccin de Servicios (6) Mensajes de llegada en carrera Uno de los escenarios ms comunes en aplicaciones B2B. Un participantes est esperando a que llegue un mensaje, y otros

    participantes tienen la opcin de enviar un mensaje. Solamente el primer mensaje que llegue es procesado.

  • 29

    Patrones de Interaccin de Servicios (7)

    Envo de uno a muchos (one-to-many send) Uno de los participantes enva un mensaje en paralelo a

    muchos destinatarios. Ejemplo muy utilizado para la interaccin B2C (e.g. envo

    de promociones, estrategias de CRM, etc.)

  • 30

    Patrones de Interaccin de Servicios (8)

    Envo de uno a muchos (one-to-many send)

  • 31

    Patrones de Interaccin de Servicios (9)

    Recepcin de uno a muchos (one-from-many) Los mensajes pueden ser recibidos desde muchos

    participantes. En particular, un participante espera los mensajes, y cada uno de los participantes pueden enviar slo un mensaje. Tpicamente, el receptor no conoce la cantidad de mensajes

    que esta esperando recibir, por lo que se detiene la espera al momento que llega cierta cantidad de mensajes, o pasa cierta cantidad de tiempo.

  • 32

    Patrones de Interaccin de Servicios (10) Recepcin de uno a muchos (one-from-many)

  • 33

    Patrones de Interaccin de Servicios (11) Envo/Recepcin de uno a muchos Un participante enva varias peticiones a varios

    participantes y espera por las respuestas. Tpicamente, no se espera por todas las respuestas.

    Por lo general se espera cierta cantidad de tiempo, o hasta que cierta cantidad de respuestas han llegado.

  • 34

    Patrones de Interaccin de Servicios (12) Envo/Recepcin de uno a muchos

  • 35

    Patrones de Interaccin de Servicios (13) Mltiples Respuestas Un participante enva una peticin a otro participante quien enva de vuelta

    muchos mensajes. Ejemplo: cuando estn haciendo un seguimiento de paquetes enviados por empresas de retail.

    Una pregunta importante en este escenario es como el que pide la peticin sabe que no hay ms mensajes de entrada.

    Opcin 1: El mensaje dice que no hay ms mensajes. Opcin 2: El ltimo mensaje debe ser de un tipo especial. Una alternativa es utilizar un time-out para finalizar la espera de ms

    mensajes.

  • 36

    Patrones de Interaccin de Servicios (14) Mltiples Respuestas

  • 37

    Patrones de Interaccin de Servicios (15) Peticiones Contingentes Un participante enva una peticin a otro participante. Si el participante no responde dentro de cierto tiempo, la

    peticin es enviada a un segundo participante. Nuevamente, si an no hay respuesta, un tercer participante

    es contactado. Etc..

  • 38

    Patrones de Interaccin de Servicios (16) Peticiones Contingentes

  • 39

    Patrones de Interaccin de Servicios (17) Peticin con Remisin Es especialmente importante en ambientes orientados a

    servicios, donde un sistema de registro es colocado con el objetivo de unir servicios que estn siendo ejecutados. Ejemplo: Considerar un cliente que compra un conjunto de

    libros online. La tienda, redirige al cliente a un sitio Web de un servicio de pago externo, sin que el cliente est al tanto que esto exista en una primera instancia.

  • 40

    Patrones de Interaccin de Servicios (18) Peticin con Remisin El cliente enva una orden esperando respuesta positiva (e.g. si hay

    disponibilidad de libros) de la tienda.

    La tienda, al enviar la respuesta positiva, espera un mensaje del sistema de pagos confirmando que fue realizado el pago.

    El cliente al recibir la respuesta positiva de la tienda, debe enviar la informacin para pagar los items al sistema de pago.

    Una vez confirmado el pago, la tienda confirma que est correcto el pago, y enva una confirmacin al cliente que sus libros sern enviados pronto.

  • 41

    Patrones de Interaccin de Servicios (19) Peticin con Remisin

  • 42

    Patrones de Interaccin de Servicios (20) Solicitud retransmitida Es comn en escenarios de colaboracin a travs de

    correos electrnicos. Un participante A enva una peticin a un participante B,

    quien a su vez se lo enva a un participante C, que finalmente va a interactuar con A. Sin embargo, B siempre tendr copias de los mensajes

    intercambiados de manera de observar todo lo que ocurre en la conversacin.

  • 43

    Patrones de Interaccin de Servicios (21) Solicitud retransmitida