SlideShare ist ein Scribd-Unternehmen logo
1 von 13
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
Julio Pari
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
Mayito Pdg
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
Enrique Polo
 

Was ist angesagt? (20)

Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Orquestacion y Coreografia de Servicios Web
Orquestacion y Coreografia de Servicios WebOrquestacion y Coreografia de Servicios Web
Orquestacion y Coreografia de Servicios Web
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
 
Arquitecturas ti
Arquitecturas tiArquitecturas ti
Arquitecturas ti
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Control de cambios
Control de cambiosControl de cambios
Control de cambios
 
Comparación entre sistemas de manufactura con MRP vs TOC
Comparación entre sistemas de manufactura con MRP vs TOCComparación entre sistemas de manufactura con MRP vs TOC
Comparación entre sistemas de manufactura con MRP vs TOC
 
CMMI
CMMICMMI
CMMI
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Programación Extrema - XP
Programación Extrema - XPProgramación Extrema - XP
Programación Extrema - XP
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
 
Sem 8 Modelo De Analisis
Sem 8 Modelo De AnalisisSem 8 Modelo De Analisis
Sem 8 Modelo De Analisis
 
Arquitectura orientada a servicios soa (accenture)
Arquitectura orientada a servicios soa (accenture)Arquitectura orientada a servicios soa (accenture)
Arquitectura orientada a servicios soa (accenture)
 
VSM: VALUE STREAM MAPPING
VSM: VALUE STREAM MAPPINGVSM: VALUE STREAM MAPPING
VSM: VALUE STREAM MAPPING
 
Modelos de proceso evolutivos – prototipos
Modelos de proceso evolutivos – prototiposModelos de proceso evolutivos – prototipos
Modelos de proceso evolutivos – prototipos
 

Andere mochten auch

Wso2con Asia 2014 Keynote
Wso2con Asia 2014 KeynoteWso2con Asia 2014 Keynote
Wso2con Asia 2014 Keynote
WSO2
 
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
 
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
Guido Schmutz
 

Andere mochten auch (20)

Orquestación de Servicios y SOA
Orquestación de Servicios y SOAOrquestación de Servicios y SOA
Orquestación de Servicios y SOA
 
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
 

Ähnlich wie Orquestación o coreografía

2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penas
Calzada Meza
 
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
 
BPEL_sio2009
BPEL_sio2009BPEL_sio2009
BPEL_sio2009
JXCP.86
 
Arquitectura Del Servicio De Internet
Arquitectura Del Servicio De InternetArquitectura Del Servicio De Internet
Arquitectura Del Servicio De Internet
alvanares
 
Introducción a SOA
Introducción a SOAIntroducción a SOA
Introducción a SOA
rdiegoc
 

Ähnlich wie Orquestación o coreografía (20)

Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
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)
 

Mehr von 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 servicios
Abimael Desales López
 

Mehr von 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
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

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.