SlideShare una empresa de Scribd logo
www.facebook.com/JavaDevelopersMexico
                 04/2013
         it.adesales@gmail.com
De vez en cuando, vemos discusiones o debates sobre
coreografía. Frecuentemente, es no más que el estándar „mi
técnica es mejor que la tuya‟, el enfoque de hablar pero no
escuchar. O está enfocada en una diferenciación
simplificada entre BPEL y WS-CDL dirigido a hacer
sentido de por qué tenemos muchos estándares diferentes
(buena pregunta). Aquí, la línea típica es que BPEL es para
orquestar un solo proceso o servicio compuesto, y WS-CDL
es para coordinar interacciones entre procesos. Y mientras
eso eso es esencialmente verdad, no se llega a la esencia de
la distinción. Este artículo resume los puntos de
„orquestación contra coreografía‟ de la presentación de
John Tibbetts “Using BPM and SOA to Improve Market
Flexibility”.
Vamos a iniciar con algunas premisas. Primero, los
servicios son un buen enfoque para implementar la
funcionalidad de TI. Segundo, SOA es un estilo
arquitectural, basado en servicios como la unidad
fundamental para construir soluciones empresariales desde
servicios. Tercero, BPM es un buen enfoque para
implementar procesos de negocio flexibles basados en un
conjunto más estático de capacidades empresariales
básicas. Y cuarto, juntos, SOA y BPM proporcionan una
confluencia natural de capacidades y procesos. Si no estás
de acuerdo con esas premisas, tal vez no has leído
suficiente sobre el tema.
Bueno, adivinen qué; los procesos y la composición
también vienen en diferentes formas y tamaños. Los dos
principales enfoques son la orquestación y la coreografía.
La Orquestación es donde un elemento central o maestro
controla todos los aspectos del proceso. La Coreografía es
donde cada elemento del proceso es autónomo y controla
su propia agenda. Piensa en la ejecución de un ballet. La
música es orquestada. El conductor proporciona el control
maestro sobre la orquesta. Marca el ritmo y le indica a cada
instrumento sobre cuando unírsele. El baile es
coreografiado. Cada bailarín sabe su rol individual, y lo
ejecuta en respuesta a cada uno de los otros bailarines y en
el tempo asignado por la música. El ballet emerge de la
acción general de todos los bailarines, más que de algún
control central. También nota que una empresa dada
también puede usar ambos enfoques, donde cada uno es
más adecuado.
La orquestación es el enfoque más comúnmente usado en
la composición de servicios y procesos de negocio. Con la
orquestación, defines la secuencia de pasos en un proceso,
incluyendo condiciones excepciones, y luego crear un
controlador central para implementar la secuencia. En una
SOA, los pasos individuales de la secuencia son
implementados por operaciones sobre servicios. La
secuencia puede ser implementada por una variedad de
técnicas diferentes. Frecuentemente, de forma relativa las
composiciones de servicios simples son orquestados en
código, tales como Java o C#, que reside dentro del servicio
compuesto. Pero para operaciones más complejas,
frecuentemente usarás una herramienta para crear un
modelo visual de la secuencia, y luego para generar el
código que ejecute la secuencia, típicamente en un entorno
de ejecución dedicado. Esto es el enfoque BPM típico que
es bien conocido.
Los estándares para orquestación de hoy, incluyen BPMN
(Business Process Modeling Notation) para definir la
representación visual de la secuencia, y BPEL (Business
Process Execution Language) como el código que ejecuta la
secuencia. Casi todas las infraestructuras de SOA
proporcionan algún tipo de motor de ejecución de BPEL, y
la mayoría de los productos BPM ya soportan, o están en
proceso de soportar estos estándares en su modelado y
ejecución. Además, BPEL es amigable con SOA. BPEL es
expresado en XML y definido por metadatos de Esquema
XML que está estrechamente alineado con los estándares
SOA. BPEL mismo utiliza WSDL en dos niveles.
Primero, los servicios web definidos por WSDL son usados
para interactuar con las capacidades requeridas por el
proceso. Segundo, cada proceso BPEL es por sí mismo un
servicio web descrito usando WSDL.
En resumen, la orquestación:

   Define un solo control maestro de todos los aspectos de
    un proceso (enfoque top-down).
  Soporta una vista gráfica de la secuencia.
  Se mapea fácilmente a SOA.
  Generalmente es más simple con el cual iniciar; pero
    frecuentemente es más difícil de escalar a procesos más
    complejos.
  Es manejado por el modelo de secuencia gráfica, por
    ejemplo, a las funciones le siguen formularios.
  Representa el estado de la práctica, y es soportado por
    la mayoría de las herramientas.
De esta forma, la popularidad de este enfoque es
comprensible. Pero no soporta todos los tipos de procesos
igualmente bien.
La coreografía proporciona un enfoque diferente que
está obteniendo aceptación en escenarios que tienen
procesos complejos con algunas partes interactivas y
sistemas basados en agentes y basados en eventos. En
un enfoque de coreografía, se crean las reglas que
determinan el comportamiento de cada participante
individual en el proceso. El comportamiento general del
proceso basado en la interacción de las piezas
individuales, cada una de forma autónoma siguiendo
sus propias reglas. Si estás familiarizado con el trabajo
en curso con el Procesamiento de Eventos Complejos
(CEP), verás la similitud en el espacio del problema de
CEP y un enfoque de coreografía, p.e. como puedes
administrar la interacción de múltiples eventos
independientes (o participantes) para producir un
resultado de negocio predecible, general.
Actualmente       hay    dos    enfoques      principales  para
coreografía, basado en mensaje, y basado en componente de
trabajo. El enfoque de mensaje está basado en examinar los
mensajes entre participantes en un proceso general. Con este
enfoque,     defines     comportamientos        exhaustivamente
capturando los contratos de mensajes entre las partes
colaboradoras. Este es el mecanismo soportado por el estándar
WS-CDL (Lenguaje de Definición de Coreografía de Web
Services) y es utilizado frecuentemente para aplicaciones B2B.
En aplicaciones B2B, las cuales son por definición
crosempresariales, es difícil especificar la implementación de
participantes específicos, y no hay autoridad central para el
flujo general. El enfoque de coreografía basado en mensaje es
atractivo debido a que sólo necesitas especificar las
definiciones de intercambio d mensajes (sintaxis, semántica y
comportamiento).
Otro enfoque prominente se ha hecho con la configuración de
componentes de trabajo de proceso. En este enfoque, defines
el comportamiento de componentes de trabajo individual le
permites al comportamiento del proceso emerger como la
instancia del proceso específico evolucione. Por ejemplo,
podrías implementar comportamiento de enrutamiento en
componentes de trabajo individuales con pocas reglas
sencillas como: qué capacidades de componentes de trabajo
necesitas para completar; qué roles pueden reunir cada
necesidad; lo que causa una necesidad de convertirse en
activa, y lo que causa una necesidad para ser considerada
completa. En un sistema sofisticado, estas reglas pueden ser
especificadas en los metadatos del componente de trabajo y
luego implementadas en un contenedor del componente de
trabajo. Los lectores familiarizados con los sistemas basados
en agentes deben reconocer la similitud aquí.
En resumen, en la coreografía:
 El comportamiento del proceso general “emerge” del
   trabajo de sus partes (bottom up). No se requiere
   perspectiva global.
 Los procesos de trabajo complejos son descompuestos en
   agendas de trabajo donde cada elemento autónomo
   controla su propia agenda.
 Mapea fácilmente a sistemas basados en agentes y
   basados en agentes.
 Es generalmente más difícil de iniciar, pero
   frecuentemente más fácil de escalar a procesos complejos.
 Las representaciones gráficas pueden estar derivadas de
   los procesos, p.e. los formularios siguen a las funciones.
 Representa el estado-del-arte, y está obteniendo soporte
   con herramientas emergentes.
De esta forma, algunos lineamientos útiles qué enfoque
es más apropiado para un escenario dado son:
Usando orquestación:
   Cuando se requieren producto fuera de la plataforma (ya
    que este es el enfoque implementado por la mayoría de
    los productos actuales)
   Para servicios compuestos
   Donde las semánticas de transacciones pueden ser
    manejadas por compensación solas
   Para definiciones de procesos relativamente estáticos
   Donde es deseada una definición gráfica del proceso
Usando orquestación:
   Donde los procesos pueden escalar a un alto número de
    pasos por componente
   Donde se desea opacidad de detalles de proceso entre
    partners de procesos (como B2B)
   Donde diferentes partners de procesos pueden requerir
    sus propias personalizaciones de procesos
   Donde los procesos son altamente dinámicos o de
    búsqueda de objetivos.

Más contenido relacionado

La actualidad más candente

Ejercicios de modelado de procesos con bpmn
Ejercicios de modelado de procesos con bpmnEjercicios de modelado de procesos con bpmn
Ejercicios de modelado de procesos con bpmnmayer2380
 
Diagramas de actividades en uml
Diagramas de  actividades en umlDiagramas de  actividades en uml
Diagramas de actividades en umlYamid Ortiz
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
Jose Guadalupe Couoh Dzul
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
mastermind87
 
Control de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesControl de flujo en Telecomunicaciones
Control de flujo en Telecomunicaciones
Daniel Morales
 
Interbloqueos
InterbloqueosInterbloqueos
Definiciones de control de flujo y mecanismos para el control de flujo
Definiciones de control de flujo y mecanismos para el control de flujoDefiniciones de control de flujo y mecanismos para el control de flujo
Definiciones de control de flujo y mecanismos para el control de flujo
José Alexis Cruz Solar
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
ElvisAR
 
Soa
SoaSoa
Transaccion
TransaccionTransaccion
Transaccion
Alberto Torres
 
Protocolos y funcionalidades de la capa de aplicacion
Protocolos y funcionalidades de la capa de aplicacionProtocolos y funcionalidades de la capa de aplicacion
Protocolos y funcionalidades de la capa de aplicacion
Fernando Illescas Peña
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
José Antonio Sandoval Acosta
 
Analisis y diseño de sistemas kendall y kendall, preguntas de repaso
Analisis y diseño de sistemas kendall y kendall,  preguntas de repasoAnalisis y diseño de sistemas kendall y kendall,  preguntas de repaso
Analisis y diseño de sistemas kendall y kendall, preguntas de repasoAlejandro Rivera Santander
 
Sistemas de Informacion - Tema 3 diagrama de actividades
Sistemas de Informacion - Tema 3   diagrama de actividadesSistemas de Informacion - Tema 3   diagrama de actividades
Sistemas de Informacion - Tema 3 diagrama de actividades
rulazisc
 
Mapa conceptual de colas
Mapa conceptual de colasMapa conceptual de colas
Mapa conceptual de colas
hidalgohh
 
Algoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundaciónAlgoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundación
Carlos Martinez
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Algoritmo de enrutamiento
Algoritmo de enrutamientoAlgoritmo de enrutamiento
Algoritmo de enrutamiento
Raul Nunez
 
Caso de Uso
Caso de UsoCaso de Uso
Caso de Uso
utrilla
 

La actualidad más candente (20)

Ejercicios de modelado de procesos con bpmn
Ejercicios de modelado de procesos con bpmnEjercicios de modelado de procesos con bpmn
Ejercicios de modelado de procesos con bpmn
 
Diagramas de actividades en uml
Diagramas de  actividades en umlDiagramas de  actividades en uml
Diagramas de actividades en uml
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
 
Control de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesControl de flujo en Telecomunicaciones
Control de flujo en Telecomunicaciones
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Definiciones de control de flujo y mecanismos para el control de flujo
Definiciones de control de flujo y mecanismos para el control de flujoDefiniciones de control de flujo y mecanismos para el control de flujo
Definiciones de control de flujo y mecanismos para el control de flujo
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]
 
Soa
SoaSoa
Soa
 
Transaccion
TransaccionTransaccion
Transaccion
 
Protocolos y funcionalidades de la capa de aplicacion
Protocolos y funcionalidades de la capa de aplicacionProtocolos y funcionalidades de la capa de aplicacion
Protocolos y funcionalidades de la capa de aplicacion
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Analisis y diseño de sistemas kendall y kendall, preguntas de repaso
Analisis y diseño de sistemas kendall y kendall,  preguntas de repasoAnalisis y diseño de sistemas kendall y kendall,  preguntas de repaso
Analisis y diseño de sistemas kendall y kendall, preguntas de repaso
 
Sistemas de Informacion - Tema 3 diagrama de actividades
Sistemas de Informacion - Tema 3   diagrama de actividadesSistemas de Informacion - Tema 3   diagrama de actividades
Sistemas de Informacion - Tema 3 diagrama de actividades
 
Mapa conceptual de colas
Mapa conceptual de colasMapa conceptual de colas
Mapa conceptual de colas
 
Algoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundaciónAlgoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundación
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Algoritmo de enrutamiento
Algoritmo de enrutamientoAlgoritmo de enrutamiento
Algoritmo de enrutamiento
 
Caso de Uso
Caso de UsoCaso de Uso
Caso de Uso
 

Destacado

Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
Abimael Desales López
 
Wso2con Asia 2014 Keynote
Wso2con Asia 2014 KeynoteWso2con Asia 2014 Keynote
Wso2con Asia 2014 KeynoteWSO2
 
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
Domingo Suarez Torres
 
Patrones de Integración Empresariales
Patrones de Integración EmpresarialesPatrones de Integración Empresariales
Patrones de Integración Empresariales
Abimael Desales López
 
Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?
Abimael Desales López
 
Conceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOAConceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOA
Abimael Desales López
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
Inspirate Unaula
 
Apache Camel - Parte II
Apache Camel - Parte IIApache Camel - Parte II
Apache Camel - Parte II
Abimael Desales López
 
Diseño de servicios ATM
Diseño de servicios ATMDiseño de servicios ATM
Diseño de servicios ATM
Gustavo Soto Miño
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
Germania Rodriguez
 
JPA 2.1 performance tuning tips
JPA 2.1 performance tuning tipsJPA 2.1 performance tuning tips
JPA 2.1 performance tuning tips
osa_ora
 
Orquestación cuerdas
Orquestación cuerdasOrquestación cuerdas
Orquestación cuerdas
juandiegomez2862
 
Patrones diseño de software
Patrones diseño de softwarePatrones diseño de software
Patrones diseño de software
Manuel Capel-Tunon
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
Abimael Desales López
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Alfonso mudarra pdf
Alfonso mudarra pdfAlfonso mudarra pdf
Alfonso mudarra pdf
abullejos
 
Introducción a la investigación en Ingeniería
Introducción a la investigación en IngenieríaIntroducción a la investigación en Ingeniería
Introducción a la investigación en Ingeniería
Juan Manuel Cevallos Ampuero
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
instituto tecnologico de apizaco
 

Destacado (20)

Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Wso2con Asia 2014 Keynote
Wso2con Asia 2014 KeynoteWso2con Asia 2014 Keynote
Wso2con Asia 2014 Keynote
 
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
 
Patrones de Integración Empresariales
Patrones de Integración EmpresarialesPatrones de Integración Empresariales
Patrones de Integración Empresariales
 
Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?
 
Conceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOAConceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOA
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Apache Camel - Parte II
Apache Camel - Parte IIApache Camel - Parte II
Apache Camel - Parte II
 
Diseño de servicios ATM
Diseño de servicios ATMDiseño de servicios ATM
Diseño de servicios ATM
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
 
JPA 2.1 performance tuning tips
JPA 2.1 performance tuning tipsJPA 2.1 performance tuning tips
JPA 2.1 performance tuning tips
 
Orquestación cuerdas
Orquestación cuerdasOrquestación cuerdas
Orquestación cuerdas
 
Patrones diseño de software
Patrones diseño de softwarePatrones diseño de software
Patrones diseño de software
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Alfonso mudarra pdf
Alfonso mudarra pdfAlfonso mudarra pdf
Alfonso mudarra pdf
 
Curso bhh bpmn 2.0 ver 2013 s
Curso bhh bpmn 2.0 ver 2013 sCurso bhh bpmn 2.0 ver 2013 s
Curso bhh bpmn 2.0 ver 2013 s
 
Introducción a la investigación en Ingeniería
Introducción a la investigación en IngenieríaIntroducción a la investigación en Ingeniería
Introducción a la investigación en Ingeniería
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 

Similar a Orquestación o coreografía

2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penasCalzada Meza
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
AndresBravo839059
 
Tecnologias para implementar_un_marco_integrador_de_soa_y_bpm
Tecnologias para implementar_un_marco_integrador_de_soa_y_bpmTecnologias para implementar_un_marco_integrador_de_soa_y_bpm
Tecnologias para implementar_un_marco_integrador_de_soa_y_bpm
Andrés Sebastián
 
bpnm
bpnmbpnm
bpnm
korage38
 
BPEL_sio2009
BPEL_sio2009BPEL_sio2009
BPEL_sio2009JXCP.86
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de Software
Johan Robles Solano
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipo
Arturo Jimenez
 
Fases bpm
Fases bpmFases bpm
Fases bpm
estefanvm
 
BPMN - 1.pdf
BPMN - 1.pdfBPMN - 1.pdf
BPMN - 1.pdf
YhorsSantaCruz
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Joel Fernandez
 
Mv unidad 2 t1
Mv unidad 2 t1Mv unidad 2 t1
Mv unidad 2 t1
Norerod
 
Salud 2.0 - Vicenç Robert
Salud 2.0 - Vicenç RobertSalud 2.0 - Vicenç Robert
Salud 2.0 - Vicenç Robert
Regulación Emocional TIPI
 
Integracion Aplicaciones Sanitarias con BPM + SOA
Integracion Aplicaciones Sanitarias con BPM + SOAIntegracion Aplicaciones Sanitarias con BPM + SOA
Integracion Aplicaciones Sanitarias con BPM + SOA
Regulación Emocional TIPI
 
Arquitectura Del Servicio De Internet
Arquitectura Del Servicio De InternetArquitectura Del Servicio De Internet
Arquitectura Del Servicio De Internetalvanares
 
Introducción a SOA
Introducción a SOAIntroducción a SOA
Introducción a SOArdiegoc
 
SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)
dina_k_d
 

Similar a Orquestación o coreografía (20)

2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penas
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
 
Abstract
AbstractAbstract
Abstract
 
Tecnologias para implementar_un_marco_integrador_de_soa_y_bpm
Tecnologias para implementar_un_marco_integrador_de_soa_y_bpmTecnologias para implementar_un_marco_integrador_de_soa_y_bpm
Tecnologias para implementar_un_marco_integrador_de_soa_y_bpm
 
bpnm
bpnmbpnm
bpnm
 
BPEL_sio2009
BPEL_sio2009BPEL_sio2009
BPEL_sio2009
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de Software
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipo
 
Fases bpm
Fases bpmFases bpm
Fases bpm
 
BPMN - 1.pdf
BPMN - 1.pdfBPMN - 1.pdf
BPMN - 1.pdf
 
Soa
SoaSoa
Soa
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Mv unidad 2 t1
Mv unidad 2 t1Mv unidad 2 t1
Mv unidad 2 t1
 
Salud 2.0 - Vicenç Robert
Salud 2.0 - Vicenç RobertSalud 2.0 - Vicenç Robert
Salud 2.0 - Vicenç Robert
 
Integracion Aplicaciones Sanitarias con BPM + SOA
Integracion Aplicaciones Sanitarias con BPM + SOAIntegracion Aplicaciones Sanitarias con BPM + SOA
Integracion Aplicaciones Sanitarias con BPM + SOA
 
Arquitectura Del Servicio De Internet
Arquitectura Del Servicio De InternetArquitectura Del Servicio De Internet
Arquitectura Del Servicio De Internet
 
metodologia
metodologia metodologia
metodologia
 
Introducción a SOA
Introducción a SOAIntroducción a SOA
Introducción a SOA
 
SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)
 
Clase Soa
Clase SoaClase Soa
Clase Soa
 

Más de Abimael Desales López

Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Abimael Desales López
 
Tutorial - Ordenar listas Java
Tutorial   - Ordenar listas JavaTutorial   - Ordenar listas Java
Tutorial - Ordenar listas Java
Abimael Desales López
 
Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10
Abimael Desales López
 
File Processing - Batch Process Execution
File Processing - Batch Process ExecutionFile Processing - Batch Process Execution
File Processing - Batch Process Execution
Abimael Desales López
 
File Processing - Process Execution Solution
File Processing - Process Execution SolutionFile Processing - Process Execution Solution
File Processing - Process Execution Solution
Abimael Desales López
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
Abimael Desales López
 
Jpa modelos de componentes
Jpa   modelos de componentesJpa   modelos de componentes
Jpa modelos de componentes
Abimael Desales López
 
Integración de Aplicaciones
Integración de AplicacionesIntegración de Aplicaciones
Integración de Aplicaciones
Abimael Desales López
 
El mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a serviciosEl mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a serviciosAbimael Desales López
 
SOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte IISOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte II
Abimael Desales López
 

Más de Abimael Desales López (10)

Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
Tutorial - Ordenar listas Java
Tutorial   - Ordenar listas JavaTutorial   - Ordenar listas Java
Tutorial - Ordenar listas Java
 
Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10Tareas Programadas de Oracle con Toad 10
Tareas Programadas de Oracle con Toad 10
 
File Processing - Batch Process Execution
File Processing - Batch Process ExecutionFile Processing - Batch Process Execution
File Processing - Batch Process Execution
 
File Processing - Process Execution Solution
File Processing - Process Execution SolutionFile Processing - Process Execution Solution
File Processing - Process Execution Solution
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Jpa modelos de componentes
Jpa   modelos de componentesJpa   modelos de componentes
Jpa modelos de componentes
 
Integración de Aplicaciones
Integración de AplicacionesIntegración de Aplicaciones
Integración de Aplicaciones
 
El mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a serviciosEl mejor enfoque para una arquitectura orientada a servicios
El mejor enfoque para una arquitectura orientada a servicios
 
SOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte IISOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte II
 

Último

Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 

Último (20)

Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 

Orquestación o coreografía

  • 1. www.facebook.com/JavaDevelopersMexico 04/2013 it.adesales@gmail.com
  • 2. De vez en cuando, vemos discusiones o debates sobre coreografía. Frecuentemente, es no más que el estándar „mi técnica es mejor que la tuya‟, el enfoque de hablar pero no escuchar. O está enfocada en una diferenciación simplificada entre BPEL y WS-CDL dirigido a hacer sentido de por qué tenemos muchos estándares diferentes (buena pregunta). Aquí, la línea típica es que BPEL es para orquestar un solo proceso o servicio compuesto, y WS-CDL es para coordinar interacciones entre procesos. Y mientras eso eso es esencialmente verdad, no se llega a la esencia de la distinción. Este artículo resume los puntos de „orquestación contra coreografía‟ de la presentación de John Tibbetts “Using BPM and SOA to Improve Market Flexibility”.
  • 3. Vamos a iniciar con algunas premisas. Primero, los servicios son un buen enfoque para implementar la funcionalidad de TI. Segundo, SOA es un estilo arquitectural, basado en servicios como la unidad fundamental para construir soluciones empresariales desde servicios. Tercero, BPM es un buen enfoque para implementar procesos de negocio flexibles basados en un conjunto más estático de capacidades empresariales básicas. Y cuarto, juntos, SOA y BPM proporcionan una confluencia natural de capacidades y procesos. Si no estás de acuerdo con esas premisas, tal vez no has leído suficiente sobre el tema.
  • 4. Bueno, adivinen qué; los procesos y la composición también vienen en diferentes formas y tamaños. Los dos principales enfoques son la orquestación y la coreografía. La Orquestación es donde un elemento central o maestro controla todos los aspectos del proceso. La Coreografía es donde cada elemento del proceso es autónomo y controla su propia agenda. Piensa en la ejecución de un ballet. La música es orquestada. El conductor proporciona el control maestro sobre la orquesta. Marca el ritmo y le indica a cada instrumento sobre cuando unírsele. El baile es coreografiado. Cada bailarín sabe su rol individual, y lo ejecuta en respuesta a cada uno de los otros bailarines y en el tempo asignado por la música. El ballet emerge de la acción general de todos los bailarines, más que de algún control central. También nota que una empresa dada también puede usar ambos enfoques, donde cada uno es más adecuado.
  • 5. La orquestación es el enfoque más comúnmente usado en la composición de servicios y procesos de negocio. Con la orquestación, defines la secuencia de pasos en un proceso, incluyendo condiciones excepciones, y luego crear un controlador central para implementar la secuencia. En una SOA, los pasos individuales de la secuencia son implementados por operaciones sobre servicios. La secuencia puede ser implementada por una variedad de técnicas diferentes. Frecuentemente, de forma relativa las composiciones de servicios simples son orquestados en código, tales como Java o C#, que reside dentro del servicio compuesto. Pero para operaciones más complejas, frecuentemente usarás una herramienta para crear un modelo visual de la secuencia, y luego para generar el código que ejecute la secuencia, típicamente en un entorno de ejecución dedicado. Esto es el enfoque BPM típico que es bien conocido.
  • 6. Los estándares para orquestación de hoy, incluyen BPMN (Business Process Modeling Notation) para definir la representación visual de la secuencia, y BPEL (Business Process Execution Language) como el código que ejecuta la secuencia. Casi todas las infraestructuras de SOA proporcionan algún tipo de motor de ejecución de BPEL, y la mayoría de los productos BPM ya soportan, o están en proceso de soportar estos estándares en su modelado y ejecución. Además, BPEL es amigable con SOA. BPEL es expresado en XML y definido por metadatos de Esquema XML que está estrechamente alineado con los estándares SOA. BPEL mismo utiliza WSDL en dos niveles. Primero, los servicios web definidos por WSDL son usados para interactuar con las capacidades requeridas por el proceso. Segundo, cada proceso BPEL es por sí mismo un servicio web descrito usando WSDL.
  • 7. En resumen, la orquestación:  Define un solo control maestro de todos los aspectos de un proceso (enfoque top-down).  Soporta una vista gráfica de la secuencia.  Se mapea fácilmente a SOA.  Generalmente es más simple con el cual iniciar; pero frecuentemente es más difícil de escalar a procesos más complejos.  Es manejado por el modelo de secuencia gráfica, por ejemplo, a las funciones le siguen formularios.  Representa el estado de la práctica, y es soportado por la mayoría de las herramientas. De esta forma, la popularidad de este enfoque es comprensible. Pero no soporta todos los tipos de procesos igualmente bien.
  • 8. La coreografía proporciona un enfoque diferente que está obteniendo aceptación en escenarios que tienen procesos complejos con algunas partes interactivas y sistemas basados en agentes y basados en eventos. En un enfoque de coreografía, se crean las reglas que determinan el comportamiento de cada participante individual en el proceso. El comportamiento general del proceso basado en la interacción de las piezas individuales, cada una de forma autónoma siguiendo sus propias reglas. Si estás familiarizado con el trabajo en curso con el Procesamiento de Eventos Complejos (CEP), verás la similitud en el espacio del problema de CEP y un enfoque de coreografía, p.e. como puedes administrar la interacción de múltiples eventos independientes (o participantes) para producir un resultado de negocio predecible, general.
  • 9. Actualmente hay dos enfoques principales para coreografía, basado en mensaje, y basado en componente de trabajo. El enfoque de mensaje está basado en examinar los mensajes entre participantes en un proceso general. Con este enfoque, defines comportamientos exhaustivamente capturando los contratos de mensajes entre las partes colaboradoras. Este es el mecanismo soportado por el estándar WS-CDL (Lenguaje de Definición de Coreografía de Web Services) y es utilizado frecuentemente para aplicaciones B2B. En aplicaciones B2B, las cuales son por definición crosempresariales, es difícil especificar la implementación de participantes específicos, y no hay autoridad central para el flujo general. El enfoque de coreografía basado en mensaje es atractivo debido a que sólo necesitas especificar las definiciones de intercambio d mensajes (sintaxis, semántica y comportamiento).
  • 10. Otro enfoque prominente se ha hecho con la configuración de componentes de trabajo de proceso. En este enfoque, defines el comportamiento de componentes de trabajo individual le permites al comportamiento del proceso emerger como la instancia del proceso específico evolucione. Por ejemplo, podrías implementar comportamiento de enrutamiento en componentes de trabajo individuales con pocas reglas sencillas como: qué capacidades de componentes de trabajo necesitas para completar; qué roles pueden reunir cada necesidad; lo que causa una necesidad de convertirse en activa, y lo que causa una necesidad para ser considerada completa. En un sistema sofisticado, estas reglas pueden ser especificadas en los metadatos del componente de trabajo y luego implementadas en un contenedor del componente de trabajo. Los lectores familiarizados con los sistemas basados en agentes deben reconocer la similitud aquí.
  • 11. En resumen, en la coreografía:  El comportamiento del proceso general “emerge” del trabajo de sus partes (bottom up). No se requiere perspectiva global.  Los procesos de trabajo complejos son descompuestos en agendas de trabajo donde cada elemento autónomo controla su propia agenda.  Mapea fácilmente a sistemas basados en agentes y basados en agentes.  Es generalmente más difícil de iniciar, pero frecuentemente más fácil de escalar a procesos complejos.  Las representaciones gráficas pueden estar derivadas de los procesos, p.e. los formularios siguen a las funciones.  Representa el estado-del-arte, y está obteniendo soporte con herramientas emergentes.
  • 12. De esta forma, algunos lineamientos útiles qué enfoque es más apropiado para un escenario dado son: Usando orquestación:  Cuando se requieren producto fuera de la plataforma (ya que este es el enfoque implementado por la mayoría de los productos actuales)  Para servicios compuestos  Donde las semánticas de transacciones pueden ser manejadas por compensación solas  Para definiciones de procesos relativamente estáticos  Donde es deseada una definición gráfica del proceso
  • 13. Usando orquestación:  Donde los procesos pueden escalar a un alto número de pasos por componente  Donde se desea opacidad de detalles de proceso entre partners de procesos (como B2B)  Donde diferentes partners de procesos pueden requerir sus propias personalizaciones de procesos  Donde los procesos son altamente dinámicos o de búsqueda de objetivos.