2009-12-06 34 views
8

¿Cuáles son las diferencias entre Spring integration y JBoss jBPM?¿Cuáles son las diferencias entre Spring integration y JBoss jBPM?

Gracias.

+1

¿Has hecho alguna investigación tú mismo? Si es así, por favor haga una pregunta más específica. Si no, ve y haz algo. – skaffman

+1

Creo que si encontré respuesta, ¡no haré la pregunta! – bassem

+1

Bastante justo, pero dé algunos indicios de lo que ya ha aprendido, no solo deje caer una pregunta de una línea y espere una buena respuesta. – skaffman

Respuesta

4

Spring Integration es una extensión del marco Spring para admitir la integración empresarial basada en el conocido Enterprise Integration Patterns. Spring Integation es una manzana.

JBoss jBPM es un motor de flujo de trabajo escrito en Java que puede ejecutar procesos descritos en BPEL (o su propio lenguaje de definición de procesos jPDL). JBoss jBPM es una naranja.

Ambas son frutas.

5

Es una pregunta válida, ya que hay demasiados productos y palabras de moda.

En términos simples, piensa en jBPM como un flujo de trabajo framewrok/motor - se define una "secuencia de eventos", que también se llama un proceso de negocio (de ahí BPM - B usiness P rocess M GESTIÓN) y jBPM hacen que sus datos sigan esa secuencia/proceso.

Considerando que Spring Integration es un marco basado en eventos basado en varios bloques de construcción: Mensaje, Fuente, Destino, Canal, Filtro, etc. Para entenderlo mejor, consulte: "Spring Integration in 10 minutes". Sigue un simple

Source [send message] ---> CHANNEL --> FILTER --> CHANNEL --> Target [receive message] 

patrón, que le permite crear maravillas. Las fuentes y/o destinos serían asignados a canales nombrados, y los filtros pueden ser desde un simple transformador/traductor hasta el enrutador, que lee el encabezado del mensaje y decide a qué canal encaminar el mensaje. Por supuesto, hay toda la potencia de Spring Remoting (JMS, Webservice, RMI, etc.) que está disponible en Spring Integration a través de plantillas (JmsTemplate, WebserviceTemplate, etc.) y adaptadores que permiten la integración con sistemas externos con FTP, RMI , HttpInvoker, JMS, Servicios web, etc.

por supuesto, puede crear una solución de flujo de trabajo utilizando Integración primavera, pero hay Drools Flow para que - no hay necesidad de reinventar un motor de flujo de trabajo :)

7

por cierto, este la respuesta se ha vuelto más interesante. ahora, está Activiti, que es un motor de BPMN de código abierto Apache (flujo de trabajo, al igual que jBPM) creado por las personas que crearon jBPM, pero desde la izquierda.

Por lo tanto, puede usar Activiti para admitir escenarios de flujo de trabajo donde necesita administrar el estado y puede permitirse el hilo en un sistema de flujo de trabajo para administrar ese estado. Entonces, Activiti proporciona una fuerte orquestación.

Spring Integration es un marco de integración: se puede usar para infer estado de eventos que no están necesariamente relacionados entre sí. Esto generalmente se hace pasando los metadatos, como los encabezados, para indicar la "ilusión" de que los pasos son parte del mismo proceso. Becauee Spring Integration puede conectarse a muchos sistemas diferentes y trabajar en términos de sus API, es ideal también para integrar diferentes sistemas. Spring Integration le permite reaccionar e imponer flujos de mensajes, aunque yo no llamaría a esta orquestación de la misma manera que Activiti.

Spring Integration y Activiti pueden hacer secuencias, concurrencias, divisores/horquillas, agregadores/uniones, etc.Activiti puede gestionar seres humanos, Spring Integration puede adaptar cualquier sistema. Entonces, cada uno tiene sus roles y, francamente, funcionan bastante bien juntos. Hay un adaptador Spring Integration Activiti en la caja de arena que le permite ejecutar un proceso de Activiti que a su vez puede delegar en Spring Integration para manejar la lógica comercial en diferentes pasos. Una vez que esté en Spring Integration, puede hacer todo lo que quiera con Spring and Spring Integration, y luego enviar un mensaje de respuesta a la pasarela de Activiti indicándole que el proceso de activiti puede reanudarse.

http://git.springsource.org/spring-integration/sandbox

Full Disclosure: Soy un commiter tanto en los proyectos de integración activiti y primavera, y yo soy el autor principal en el momento de la integración de soporte de muelle Activiti.

Cuestiones relacionadas