Está en la página 1de 80

Procesos

Olga Lucero Vega Mrquez


Ingeniera de Sistemas
Adaptacin del curso Diseo basado en patrones,
profesor Jorge Villalobos,
programa Ingeniera de Sistemas y Computacin
Profesor Asociado

Villavicencio, 2010

Procesos vs procedimientos de negocio

Las compaas casi siempre han estado centradas en soluciones


informticas departamentales (automatizacin de procedimientos manuales)

Tradicionalmente, esto es lo que certifican en un proceso ISO 9000

El negocio debe estar centrado en procesos de negocio y no en aplicaciones


(automatizacin de procesos de negocio)

Sistem Atencin al
cliente ( Siebel,
People Soft)

Sistema de
facturacin

Sistema de
ordenes de
trabajo
Aprovisionamiento Linea Telefonica

Sistema
Financiero
( SAP)

Villavicencio, 2010

La integracin de aplicaciones debe ser


dirigida por procesos de negocio

Aprovisionamiento

Clientes
Portal J2EE (Capturar orden de Aprovisionamiento)
Siebel( Registrar contacto de cliente)
Sistema de facturacin in-house Oracle Forms ( Crear cuenta
de facturacin)
Sistema de ordenes de trabajo de DNA ( Crear orden de
trabajo)
Sistema financiero en SAP (Registrar costeo orden trabajo)
Sistema SCM en SAP (Colocar pedido de insumos)

Proveedores & Socios


3

Villavicencio, 2010

Contexto y motivacin

Una organizacin es tan


eficiente como lo son sus
procesos

Villavicencio, 2010

Procesos de negocio
Un proceso se puede ver como el control de dilogo entre
el usuario y el negocio, para lograr un objetivo del negocio
(que produce valor).

Tareas:
Manuales
Automticas
Mixtas
Negocio
5

Villavicencio, 2010

Arquitectura de negocio
Clientes

Estrategia

Operacin

Proveedores y Socios

Soporte

Frameworks de referencia

Taxonoma de procesos

Empleados
6

Villavicencio, 2010

Dimensiones de un proceso

Control

Datos

Recursos

Tiempo

Villavicencio, 2010

Visin operacional de un proceso


actores
tareas
actividades / flujo de control /
tiempo / modelo de informacin
polticas de asignacin de actores
funcionalidades
de negocio

Back-end
aplicaciones / reglas de negocio / datos

atributos de calidad
requerimientos no funcionales

Front-end

Villavicencio, 2010

Actores tareas actividades funcionalidades

T1

T2

T3

Flujo de informacin

Manual
Automtica
Mixta

Actividad
F1

F2

Flujo de informacin

Villavicencio, 2010

Caracterizacin de un proceso
Control flujo y reglas
Actividades, tareas y
funcionalidades

Excepciones
del proceso

Actividades

Proceso de
negocio

Modelo de
informacin

10

Dueo
(Matriz RACI)

Responsible
Accountable
Consulted
Informed

Estadio en el tiempo
(AS-IS, TO-BE)
Mtricas (calidad de
servicio, negocio)
Villavicencio, 2010

Modelo de informacin
0..*

Vendedor
nombre
codigo

Cliente
nombre
cedula

Concesionario

0..*

0..*

Venta
Consignacin
fechaDeposito

0..*

0..*

fecha
valorVenta

+enConsignacin
0..*

0..*

+bodegaNuevos

+vendidos
Vehculo
placa
marca
precioBase

11

VentaNuevo

VentaUsado
comision

Villavicencio, 2010

Por qu lenguajes de procesos?


Necesidad de considerar y manipular los
procesos como elementos de primer orden:
Posibilidad de ser usados como medio de
comunicacin y de trabajo.
Un activo de la organizacin que evoluciona: se deben
poder nombrar, almacenar, versionar, comparar, medir,
validar, simular, etc.

12

Villavicencio, 2010

Por qu lenguajes de procesos?


Necesidad de pasar del lenguaje natural a la
ejecucin, control, monitoreo y anlisis de
procesos:

13

Tableros de control
BAM: Business Activity Monitoring
Arquitecturas de software basadas en procesos
Integracin de aplicaciones (orquestacin)
Mejoramiento de procesos

Villavicencio, 2010

Propiedades esperadas de los lenguajes


manipular

almacenar

ejecutar

monitorear

14

Villavicencio, 2010

Lenguajes de procesos
BPMN:
Business Process Modeling Notation
Versiones:

Inicio: agosto/2001
Draft 0.9: noviembre/2002
Draft 1.0: agosto/2003
Versin 1.0: mayo/2004
Versin 1.1: febrero/2006
Draft 2.0

Desarrollado inicialmente por Business Process


Management Initiative (BPMI.org) y compartido luego
con Object Management Group (OMG)
15

Villavicencio, 2010

Lenguajes de procesos
BPMN:
Es un lenguaje visual estndar que deben respetar
todas las implementaciones
No es un estndar textual, de manera que por ahora
no hay garanta de compatibilidad entre herramientas
La especificacin incluye una traduccin hacia BPEL
Poco a poco se ha ido convirtiendo en un estndar de
facto.
Muy buenas herramientas y editores disponibles en el
mercado
16

Villavicencio, 2010

Otros lenguajes
BPEL:
Business Process Execution Language
Creado por IBM y Microsoft en agosto de 2002
Orientado a la ejecucin de procesos: orquestacin de
servicios Web
Tambin conocido como BPEL4WS y WS-BPEL
Versin actual: 2.0 (mayo/2007)
No tiene una sintaxis grfica estndar

17

Villavicencio, 2010

A quines estn dirigidos?


Propsito

Audiencia
Analistas de negocio
Diseadores de procesos

BPMN

Arquitectos de software
Ingenieros de software

18

BPEL

Modelado

Ejecucin

Villavicencio, 2010

Principales caractersticas de BPMN


Es una notacin grfica que permite manejar toda la complejidad de
los procesos de negocio

19

Villavicencio, 2010

Principales caractersticas de BPMN


Refleja la experiencia y las mejores prcticas de la
comunidad de modelado de procesos
Slo incluye los elementos fundamentales para modelar
procesos de negocio. No maneja:
Estructura organizacional y recursos
Modelos de datos
Reglas de negocio

La especificacin define reglas claras de extensibilidad

20

Permite manejar distintos niveles de abstraccin (ver u


ocultar detalles de una parte del proceso)
Villavicencio, 2010

Elementos grficos + atributos


No toda la informacin del proceso se expresa de
manera grfica
Cada elemento grfico tiene un conjunto de
atributos que suministran informacin adicional
En la mayora de los casos estos atributos se
utilizan para permitir la generacin del cdigo en
BPEL

21

Villavicencio, 2010

Compra de un libro por Internet


Cuando un usuario compra un libro por Internet, sigue 3 grandes
etapas:
Seleccionar el libro
Agregarlo al carro de compras
Pagar el contenido del carro de compras

Para seleccionar el libro, la persona escoge una categora, consulta


la informacin relacionada con el libro y luego lo marca como
seleccionado.
Para pagar lo que lleva en el carro de compras, el usuario debe:

22

Seleccionar el tipo de envo


Dar la informacin de envo
Seleccionar el tipo de pago
Dar la informacin de pago
Confirmar todos los datos
Pagar
Villavicencio, 2010

1. Quin participa?

Un pool representa un participante en un proceso. All se van a


situar sus actividades.
23

Villavicencio, 2010

2. Dnde comienza y dnde termina?

Evento de
inicio

24

Evento de
finalizacin

La ejecucin comienza en el evento de inicio y se termina al llegar


al evento de finalizacin
Villavicencio, 2010

3. Qu hace el participante?

Subproceso

Tarea

Subproceso

Un proceso est compuesto por actividades, que pueden ser:


tareas atmicas o tareas compuestas (llamadas subprocesos)
25

Una actividad es una accin, luego debera ser un verbo


Villavicencio, 2010

4. Qu relacin hay entre las actividades?

Flujo
secuencial
Indica que al terminar una actividad se inicia otra, hasta llegar a un
evento de terminacin
26

Un flujo de control se inicia en un evento inicial y termina en un


evento de terminacin
Villavicencio, 2010

5. Qu actividades hay en cada


subproceso?

La misma estructura
de un proceso

Colapsado
Expandido

El subproceso comienza en su evento inicial y finaliza en su evento


de terminacin. Luego el flujo de control contina.
27

Villavicencio, 2010

5. Qu actividades hay en cada


subproceso?

28

Villavicencio, 2010

6. Qu informacin maneja?

Asociacin
Data object

29

Asocia informacin con las actividades. Es slo algo descriptivo y


no modifica el flujo de control del proceso
Villavicencio, 2010

7. Agregar anotaciones de aclaracin

Anotacin

30

Permite agregar comentarios sobre los elementos del proceso


Villavicencio, 2010

Sntesis de elementos del escenario


Evento de inicio

Evento de terminacin:
todo el proceso vs. un flujo
Tarea

Subproceso
31

Villavicencio, 2010

Sntesis de elementos del escenario


Flujo normal

Asociacin y anotacin
texto

Pool

Data object
32

Villavicencio, 2010

Preguntas?

33

Villavicencio, 2010

Venta de un libro por Internet


Cuando la empresa recibe una solicitud de compra de
parte de un cliente, verifica si lo tiene en bodega. Si es as
lo enva de una vez por correo al cliente.
Si no lo tiene en bodega, hace tres cotizaciones con tres
distribuidores distintos. Lo que sigue depende de la
informacin suministrada por los distribuidores:
Si ninguno lo tiene, se informa el problema al cliente y se cancela la
compra.
Si alguno lo tiene, se escoge el que lo suministre a menor precio, se hace
el pedido y se espera a que llegue a bodega, para luego iniciar el trmite
de envo. El cliente debe estar enterado del avance del proceso, hasta
que recibe el libro.
34

Villavicencio, 2010

1. Quines participan?

Un pool para representar cada participante en el proceso


35

Villavicencio, 2010

2. Cmo se inicia el proceso?


Mensaje
creado

Flujo de
mensajes

Evento de inicio
con mensaje
36

El cliente arranca su
proceso por iniciativa
propia
La tarea del cliente
de pedir un libro crea
un mensaje que
arranca el proceso de
venta en la empresa
Se va a crear en la
empresa una instancia
del proceso por cada
pedido
Villavicencio, 2010

2. Cmo se inicia el proceso?


En el mensaje viaja la
informacin obtenida
por la tarea Pedir libro
Slo flujos de mensajes
pueden pasar de un
pool a otro (no hay flujo
de control directo)
Se inicia un nuevo flujo
de control en el pool,
con la informacin
recibida en el mensaje

37

El mensaje puede tener


un nombre: pedido
Villavicencio, 2010

3. Cmo considerar casos?


Descripcin

Gate: condicin + flujo

Gateway

Exclusive
gateway (XOR)
38

Slo una alternativa contina el flujo


Es un gateway basado en datos
Las condiciones van sobre los flujos de salida
Si se va a ejecutar, en los atributos va cdigo BPEL
La X dentro del gateway es opcional
Villavicencio, 2010

4. Cmo considerar casos?

Flujo por
defecto

39

No requiere una condicin asociada: si todas las dems


condiciones fallan, contina el flujo por sta
Villavicencio, 2010

5. Cmo representar actividades en paralelo?

Gateway
Fork
(AND-Split)
40

Abre dos o ms flujos paralelos


Las actividades van a ser ejecutadas al tiempo
Todos los flujos abiertos deben llegar a eventos
finales para que el proceso termine
Villavicencio, 2010

6. Cmo representar sincronizacin?

Gateway

Join
(AND-Join)
41

Sincroniza dos o ms flujos paralelos


Utiliza el mismo grafismo del gateway anterior
Espera hasta que todos los flujos lleguen
Villavicencio, 2010

7. Cmo informar algo al cliente?


Pool del
cliente

Pool de la
empresa

Evento intermedio
con mensaje
Flujo de
mensajes

Evento de
terminacin con
mensaje

42

Villavicencio, 2010

8. Cmo sincronizar flujos alternativos?

gateway
Merging
(OR-Join)
43

Espera que terminen todos los flujos que llegan


al gateway y que fueron iniciados
Villavicencio, 2010

Inclusive OR: basado en datos


Se inicia un flujo por cada gate
cuya condicin sea verdadera
cond1?
cond2?

T1
T2

BPMN no especifica el formato


de las expresiones

cond3?

T3

44

Si ninguna condicin es
verdadera, el proceso es
invlido y el comportamiento es
indeterminado

Villavicencio, 2010

Inclusive OR: merging


T2
T1

T3

T5

T4

El flujo slo contina cuando todos los flujos que


comenzaron hayan llegado
45

Villavicencio, 2010

9. Cmo estructurar y simplificar?


Lane dentro
de un pool

46

Permiten organizar (dentro de un pool) las actividades


por categora
Villavicencio, 2010

9. Cmo estructurar y simplificar?

47

Utilizar subprocesos para la comprensin y lectura


Villavicencio, 2010

9. Cmo estructurar y simplificar?

48

Elementos explcitos vs. implcitos: evento inicial, evento


final, gateways
Villavicencio, 2010

10. Cmo manejar eventos intermedios?


Aqu vamos

El cliente, despus de pedir el libro, debe esperar alguna


respuesta antes de terminar el proceso, considerando tres casos:
No est disponible
El libro ya fue enviado
Han pasado 3 das sin respuesta

49

Villavicencio, 2010

10. Cmo manejar eventos intermedios?

Event-Based
Gateway

50

Evento intermedio
de tiempo

Comienza un solo flujo, dependiendo del primer evento


intermedio que reciba
Los eventos intermedios de tiempo tienen como trigger
un reloj.
Villavicencio, 2010

11 Incluir la informacin asociada con las


actividades?

Slo si son entregables importantes del proceso


Slo si se quiere hacer explcita una relacin entre dos
actividades que comparten informacin
51

Villavicencio, 2010

11 Incluir la informacin asociada con las


actividades?
Es posible asociar un
dataObject con un flujo
Es posible asociar estados
con los dataObjects

Nombre
[estado]

52

Villavicencio, 2010

12. Cmo dar detalles de los elementos?

Ejecutable?

53

Villavicencio, 2010

12. Cmo dar detalles de los elementos?

54

Ejecutable?
Villavicencio, 2010

13. Algunos errores comunes

Este evento de terminacin indica que todas


las actividades en el proceso deben terminar
inmediatamente.
55

Villavicencio, 2010

13. Algunos errores comunes

Bloqueo potencial?
56

Villavicencio, 2010

Sntesis de elementos del escenario


Flujo de mensajes
trigger

Inicia un flujo

Evento de inicio
con mensaje

Termina un flujo.
Puede tener un
resultado

Evento de finalizacin
con mensaje
Afecta el flujo, pero
no lo comienza ni lo
termina

Evento intermedio
con mensaje o reloj
57

Villavicencio, 2010

Sntesis de elementos del escenario


Data-based
Exclusive XOR

Data-based
Inclusive OR

Data-based
Parallel AND
58

Slo un flujo
comienza

Algunos flujos
comienzan

Todos los flujos


comienzan

Villavicencio, 2010

Sntesis de elementos del escenario

Data-based
Inclusive OR

Data-based
Parallel AND

59

Todos los flujos que


se iniciaron deben
llegar para continuar

Todos los flujos


deben llegar para
continuar

Villavicencio, 2010

Lane en un pool

Lane2

Pool

Lane1

Sntesis de elementos del escenario

Agrupan actividades
por categora

Event-based
Exclusive XOR
Slo un flujo
comienza,
dependiendo de un
evento intermedio
60

Villavicencio, 2010

14. Representacin de ciclos

Un gateway XOR se utiliza para hacer sincronizacin: cada flujo que


llega pasa derecho
Si un grupo de conectores de flujo llegan a una actividad, se
interpreta como implcito un gateway XOR a la entrada
61

Villavicencio, 2010

14. Representacin de ciclos

Los ciclos arbitrarios se representan con conectores de flujo que van


a actividades anteriores
El flujo inicial y el flujo del ciclo se conectan a travs de un XOR
antes de la actividad
62

Villavicencio, 2010

15. Actividades cclicas

Tiene asociada una condicin, que indica cuntas veces se repite


Su comportamiento depende del punto en el que se evale la
condicin
Puede ser una tarea o un subproceso
63

Villavicencio, 2010

15. Actividades cclicas

La actividad se repite hasta que se cumpla una condicin dada


Se puede remplazar por un ciclo arbitrario, pero esta notacin es ms
concisa y fcil de leer
64

Villavicencio, 2010

16. Actividades de instancias mltiples


Calificar
examen
Calificar
examen
Calificar
examen

La actividad de instancia
mltiples veces en paralelo
Los atributos definen el
esquema de instanciacin
65

Calificar
examen

Villavicencio, 2010

17. Eventos basados en reglas


El evento se genera
cuando una regla se
cumple
La regla est
expresada en trminos
de datos del proceso

66

Villavicencio, 2010

18. Manejo de excepciones

67

El flujo de excepcin ocurre por fuera del flujo normal


Es iniciado por un evento intermedio
Sirve para modelar situaciones particulares
Se asocian con una actividad
Villavicencio, 2010

19. Eventos intermedios para sincronizar y


hacer pausas

El flujo normal se interrumpe hasta que se cumple


una condicin, que puede ser cualquier evento
intermedio
68

Villavicencio, 2010

20. Transacciones
No es una
secuencia
de flujo

Evento de
compensacin
Actividad de
compensacin

El evento de compensacin se genera cuando se cancela la


transaccin dentro de la cual se encuentra la actividad
Slo se ejecuta cuando la actividad ya ha sido terminada
69

Villavicencio, 2010

20. Transacciones
Es un tipo particular de subproceso
Puede terminar de tres maneras:
Todo OK (todas las actividades se
terminaron): avanza por el flujo normal de
control
Cancelacin: se compensaron las
actividades que ya haban terminado
cuando se cancel la transaccin,
avanza por el flujo de cancelacin
Excepcin: avanza por el flujo de manejo
de la excepcin
70

Villavicencio, 2010

20. Transacciones
Dentro del subproceso se
puede crear el evento de
cancelacin

Evento de
cancelar
transaccin
71

Villavicencio, 2010

20. Transacciones:
ejemplo

72

Villavicencio, 2010

21. Manejo de errores

73

Villavicencio, 2010

21. Manejo de errores

74

Villavicencio, 2010

Un ejemplo completo

75

Villavicencio, 2010

Ejemplo
Evento con
mensaje

Link event

Excepcin

76

Eventos de
inicio
implcitos

Tarea
cclica

Villavicencio, 2010

Evento de enlace (link event)


Link event

Permite dividir un proceso en varias partes


Es nicamente una facilidad de lectura del proceso
77

Villavicencio, 2010

Preguntas?

78

Villavicencio, 2010

79

Refuerzo
:
Identifiqu
ey
explique
el
funciona
miento
de los
element
os
sintctic
os que
se
presenta
n

Villavicencio, 2010

80

Lane1
Lane2

Pool

Refuerzo
:
Identifiqu
ey
explique
el
funciona
miento
de los
element
os
sintctic
os que
se
presenta
n

Villavicencio, 2010

También podría gustarte