2012-04-11 86 views
6

¿Podemos decir con seguridad que si ESB proporciona funciones de orquestación, es elegible para ser una implementación de BPM?BPM vs ESB - Orquestación?

Entiendo que BPM tiene un objetivo diferente, que es modelar algunos procesos de negocios y la implementación de esos procesos de negocios se puede hacer con cualquier aplicación Java/J2EE, aplicación SOA compleja o alguna aplicación que indique que proporciono BPM . ¿Está bien?

Respuesta

10

Primera pregunta:

Su afirmación es válida para algunos procesos de negocio que se limita a los modelos de interacción de petición-respuesta.

Pero cuando se trata de procesos de negocios complejos, debemos considerar algunas otras características además de las funciones de orquestación. Aquí tengo una lista de algunos de esos escenarios.

  1. Tomemos un proceso de negocios que requiere mantener su estado durante un largo período de tiempo. Normalmente los llamamos procesos comerciales estables o de larga duración. Para respaldar este tipo de procesos comerciales, debe haber un mecanismo de persistencia de estado. Esta funcionalidad no es relevante para las funciones de orquestación.
  2. Considere un proceso comercial, que requiere algunas capacidades de compensación. En ese caso, algunos de los estándares de modelado de procesos de negocio como, WS-BPEL han definido su compensation mechanisms. Por lo tanto, aparte de las funciones de orquestación, hay algunas otras características que deben considerarse.

Segunda pregunta:

Sí. Pero hay varias ventajas en un motor de BPM en comparación con los mecanismos de implementación mencionados.

Una ventaja es que no es posible alcanzar un nivel de abstracción de modelado proporcionado por un motor BPM desde una aplicación Java. Digamos que usamos una aplicación JAVA para implementar una lógica de proceso de negocio y ese proceso de negocio pasó a producción. Digamos que necesitamos cambiar una URL de punto final de su servicio asociado. En este caso, ahora la implementación del proceso comercial necesita ser modificada, recompilada e implementada de nuevo en el sistema de producción. si implementamos el proceso comercial con un estándar de lenguaje de proceso de negocio como WS-BPEL, podemos cambiar la configuración del proceso de negocio muy fácilmente y volver a enviarla a la producción. Esto mejora la eficiencia y reduce el costo de mantenimiento del negocio. También hay otras razones como la facilidad de adaptación y flexibilidad.

+1

¡Respuesta perfecta! Gracias por la explicación. (http://stackoverflow.com/questions/345749/is-orchestration-an-esb-responsibility) esta pregunta también es muy similar y ha sido respondida maravillosamente. –

+1

¡gran explicación! –

7

que he creado estas diapositivas hace algún tiempo que explica exactamente cómo se pueden utilizar los dos y las relaciones entre ellos: http://www.slideshare.net/salaboy/jbpm5-community-training-module-25-bpm-for-developers

Es necesario comprender las diferentes perspectivas entre algo así como BPEL/ESB/orquestación y BPMN (orientado a negocios) tienen ámbitos muy diferentes.

Saludos

+0

Esto parece ser una gran presentación. Me gustaría dar +20 para la presentación, no estoy seguro si eso es posible. –

+0

Tengo algunas preguntas sobre la presentación, p. Pensé que podíamos decir con seguridad "Un flujo de trabajo puede representarse como/es un proceso". De la presentación, parece que esto no es correcto. Necesita razones/diferencias. ¿Puedo tener un intercambio de discusión/chat/correo en preguntas similares? –

+0

Un proceso de negocios puede considerarse una representación relacionada con negocios de más alto nivel. Si es una persona técnica, debe intentar no confundirlo con una máquina de estado que pueda utilizar para un propósito muy técnico, que no es relevante para los empresarios. Puede escribir preguntas en mi blog si lo desea: http://salaboy.com – salaboy

3

Normalmente ESB se asigna a la capa media - orquestar servicios de bajo nivel en unidades más grandes de servicios, que serán expuestas a la empresa para su uso en procesos - y BPMs en la capa superior.

Por lo tanto, BPM se usará en Business Process Orchestration Layer y ESB habilitará y facilitará esto al trabajar en Servicios empresariales y habilitación de servicios.

En otras palabras, para ser exitoso con los procesos de negocio, primero debe tener todos sus sistemas y aplicaciones expuestos como servicios; ahí es donde entra en juego un ESB.

se podía ver este enlace: http://blogs.mulesoft.org/why-bpm-and-esb-need-to-work-together/

-2

permítanme añadir claridad al hacer la distinción entre BPM, orquestación y ESB, a través de patrones de diseño y especificaciones.

En general, la "orquestación" se ha definido como un patrón compuesto que emplea los patrones de diseño de Abstracción de proceso, Centralización de proceso y Repositorio de estado. En virtud de la implementación del Patrón de repositorio estatal y en contra de una publicación anterior, Orchestration admite procesos comerciales sincrónicos de larga ejecución, al igual que BPM.

La principal distinción práctica entre los 2 es que el middleware de Orchestration (por ejemplo, WebSphere Process Server, BizTalk, Oracle BPEL Manager y Windows Workflow Foundation) es compatible con la mayoría de las especificaciones WS *. Esto incluye Ws BPEL, Ws Security, Ws Atomic Transaction, Ws Business Activity, Ws Reliable Messaging, etc., mientras que la mayoría de las herramientas BPM no lo hacen.

Como resultado, puede utilizar Orchestration a nivel empresarial, pero tenga mucho cuidado con el uso de BPM en ese ámbito.

En la práctica, las herramientas de BPM y Orquestación permiten la representación gráfica de un proceso empresarial. La distinción es que Orchestration puede expresarse a través de Vendor-Neutral BPEL (Lenguaje de ejecución de procesos empresariales), mientras que BPM se expresa a través de Específico del proveedor BPMN (Notación de modelado de procesos empresariales). Esta es otra razón para evitar las herramientas de BPM en el nivel SOA/Enterprise.

En los casos en que una herramienta BPM implementa las especificaciones Ws *, es un motor de orquestación para todos los propósitos prácticos. Otra vez la distinción es que las herramientas de BPM se basan en las herramientas de BPMN y orquestación específicas del proveedor y dependen de BPEL de proveedor neutral.

En los casos en que tanto BPM como Orchestration necesitan coexistir, limite el BPM a la arquitectura de la aplicación (por ejemplo, estilo MVC) y permita que Orchestration promueva el intercambio de activos empresariales.

Un ESB es un animal completamente diferente. Se debe usar para procesos asincrónicos, en lugar de sincrónicos y se basa en un conjunto diferente de patrones de diseño (por ejemplo, Service Broker, Asynchronous Queuing, Intermediate Routing y los patrones Content Enricher)

Cuestiones relacionadas