Pregunta

Como usuario Primavera sazonada estaba asumiendo que la primavera Integración tendría más sentido en un proyecto reciente que requiere algunos (JMS) mensajería capacidades ( más detalles ). Después de algunos días de trabajo con la integración de primavera todavía se siente como una gran cantidad de gastos generales de configuración dada la cantidad de canales que tiene que configurar para traer un poco de petición-respuesta (escucha en diferentes colas JMS) de comunicaciones en su lugar.

Por lo tanto yo estaba buscando algo de información de cómo camello es diferente de Integración primavera, pero parece que la información ahí fuera son bastante libre, me encontré:

La pregunta es: ¿qué experiencias hiciste sobre el uso de la pila sobre el otro? En el que los escenarios RECOMENDARÍAS camello eran Primavera Integración carece de apoyo? ¿Dónde se ve pros y los contras de cada uno? Cualquier asesoramiento de proyectos del mundo real son muy apreciados.

¿Fue útil?

Solución

Elegimos camello durante la primavera-Integración debido a que el API fluida es muy agradable. en realidad lo usamos en los proyectos de la primavera y el uso de la primavera con la parte de configuración de la misma. Las API de programación son claras y hay un gran conjunto de componentes sensibles.

Hicimos un tiroteo pequeña escala y, básicamente, en ese momento para nuestro requisito Camel won. Lo utilizamos principalmente para transferir archivos de datos internos a / de las partes externas que por lo general requiere conversiones de formato de enviarlo por FTP / SFTP / ... o sujetarlo a un correo electrónico y enviarlo.

Encontramos el ciclo de edición-compilación de depuración reducida. Usando maravilloso para experimentar la creación de rutas son ventajas adicionales.

Primavera-integración es un gran producto también, y estoy bastante seguro de que satisfacer nuestras necesidades también.

Otros consejos

Sólo recomiendo Integración primavera si ya tiene un proyecto de Primavera y que acaba de añadir un poco de la integración por medio de Archivo "básica", FTP, JMS, JDBC, y así sucesivamente.

Apache Camel tiene dos ventajas principales:

  1. Muchas, muchas tecnologías más son compatibles.
  2. Además, una (buena) DSL XML, hay API fluidas para Java, Groovy y Scala.

Debido a que Apache Camel tiene muy buena integración con la primavera, yo incluso utilizarlo en su lugar si la primavera de Integración en la mayoría de los proyectos de la primavera.

Si necesita más información, puede leer mis experiencias en mi blog: donde elegir: Integration Framework cuál utilizar - primavera integración, Mule ESB o Apache Camel?

Me han llevado a cabo recientemente un camello vs Integración primavera tiroteo con el objetivo de integrar Apache Kafka . A pesar de ser un desarrollador de primavera ávido, que lamentablemente encontré mi sospecha con cada vez mayor pila Proyecto de Primavera confirmó: La primavera es impresionante, ya COI-Recipiente para servir como pegamento para otro marco, pero falla en proporcionar alternativas viables a los marcos . Puede haber excepciones a esto, es decir, todo lo relacionado con MVC, donde la primavera viene y donde se hace un gran trabajo, pero otros intentos de proporcionar nueva funcionalidad en las principales características de contenedores están a la altura de tres razones y el caso de uso SI Kafka confirma todos ellos:

  • La introducción de un largo aliento difícil de usar DSL para XML-configuración.
  • Páginas de código de configuración XML del que obtener todos los componentes del marco cableados en marcha.
  • Falta de recursos para proporcionar funcionalidad a la par con los marcos dedicados.

Ahora, de vuelta a los resultados de mi tiroteo: lo más importante es que estoy impresionado por los camellos concepto general de rutas entre puntos finales . Kafka se integra a la perfección con este concepto y tres líneas de configuración son suficientes para conseguir todo lo de arriba a correr. Los problemas encontrados durante el proceso se tratan cuidadosamente por amplia documentación del equipo del proyecto , así como una muchas preguntas sobre Stackoverflow. Por último, pero no menos importante, hay un la integración completa de la primavera que las hojas sin deseos sin cumplir.

Con SI por el contrario, la documentación para la integración Kafka es bastante intenso y todavía no explica claramente cómo integrar Kafka. La integración de Kafka es presionado en el SI-manera de hacer las cosas, lo que añade complejidad adicional. Otra documentación, por ejemplo en Stackoverflow es también menos abundantes y menos útil que para los camellos.

Mi conclusión:. Zapatero palo para su operación - el uso de primavera como un contenedor y Camel como marco de integración del sistema

Realmente depende de lo que quiere hacer. Si necesita extender algo para construir su propia solución de mensajería primavera Integración tiene el mejor modelo de programación. Si necesita algo que soporta varios protocolos sin código personalizado, camello es por delante de Integración primavera.

Tener un tiroteo pequeña escala es una muy buena idea, sólo asegúrese de que está tratando de hacer el tipo de cosas que normalmente estaría haciendo en el proyecto.

- exención de responsabilidad: yo soy un resorte Integración committer

La mayoría de las comparaciones de camello y SI que he visto no toma en cuenta lo siguiente:

1.) El efecto que la primavera de arranque ha tenido sobre la productividad del desarrollador para la Integración de primavera

.

2) El efecto de la primavera XD ha tenido en la fabricación de aplicaciones de integración de la primavera disponibles sin la compilación de código -. También fuentes y sumideros de Primavera XD son simplemente adaptadores de canal de integración de la primavera, cuando usted está buscando para extender la primavera XD

3.) El efecto de la primavera XD ha tenido en la fabricación de la unificación de la primavera Integración, Spring Batch, datos de primavera (+ Hadoop!) En una pila, con lo que efectivamente lotes y flujo de procesamiento, el apoyo HDFS / Apache Hadoop, y mucho más a Integración de primavera.

4.) El efecto del pronto-a-ser-lanzado Integración Spring 4.0 de Java DSL https://github.com/spring-projects/spring-integration-extensions/wiki/Spring-Integration-Java-DSL-Reference

Para su consideración,

/ Pieter (trabajo que disclaimer en Pivotal)

Estamos utilizando Integración de primavera para nuestra aplicación y ahora considerando trasladarse a Apache Camel como nos encontramos con un montón de problemas con el marco de la integración de primavera. Aquí hay dos cuestiones.

  1. El CachingConnectionFactory la que ofrece la primavera abre 1000 de las conexiones inactivas en IBM MQ y no hay garantía de que estas conexiones se vuelven a utilizar. Y todavía estas conexiones estarán abiertas siempre que crea problemas en el lado MQ. Tenido que reiniciar la aplicación cada semana en los entornos más bajos para refrescar las conexiones. Apache Camel también proporciona almacenamiento en caché y las conexiones parece ir hacia arriba / abajo en base a la carga.

  2. Primavera no indica los creadores de mapas para los parámetros de calidad de servicio. Cuando se permite la QoS, se perderán el modo de entrega y las propiedades de caducidad / TimeToLive (Voy a plantear una cuestión de JIRA para esto). Apache Camel se encarga de esto y parámetros de calidad de servicio se envían a las aplicaciones de aguas arriba y no se caiga.

Estoy ahora trabajando en problemas con el manejo de las excepciones y transacciones con Apache Camel, que parecía primavera para manejar mejor con AOP.

En realidad, yo diría FTP ha graduado su período de incubación. Usted puede hacer una simple búsqueda en foros SI / JIRA para ver qué nuevas características se llevaron a cabo y los errores corregidos. A partir de diversas charlas que parece que ya hay un cierto uso de producción fuera de él, así que yo sugeriría que darle una segunda mirada y por supuesto comunicar sus inquietudes a través de

http://forum.springsource.org/forumdisplay.php?42-Integration
https://jira.springsource.org/browse/INT

Saludos Oleg

exención de responsabilidad: Soy primavera Integración committer

Apache Camel es una muy buena estructura y muy completo también. Pero si sus usos de aplicación de primavera, mi consejo personal es utilizar Integración primavera.

Primavera La integración es la integración EIP marco queja del ecosistema Primavera-Fuente. Tiene una excelente integración con el ecosistema: arranque de primavera, por lotes, XD; incluso los usos básicos misma abstracción a partir de la primavera Framework 4. Algunos de los mensajes de la abstracción se movía en el marco, como prueba de que la abstracción de mensajes básicos de la integración primavera es muy fuerte. Ahora marco de primavera, por ejemplo, utilizar la mensajería de la abstracción para la primavera Web, soporte websocket.

Otra cosa buena en una aplicación de primavera con respecto integración Primavera utilizar Apache Camel es que con la integración de la primavera, se puede utilizar un único contexto de aplicación. Recuerde que el Contexto camello es un contexto de primavera. si usted tiene la oportunidad de utilizar una nueva versión de Primavera, sugiero utilizar Integración primavera de programación Java DSL para la configuración. Yo lo uso en mis nuevos proyectos, y se siente más legible y clara. Espero que esta reflexión se puede ayudar a los sus evaluaciones.

Una de las razones para usar camello sobre Integración primavera es cuando se necesita un conjunto EIP más featureful. Integración de primavera no proporciona abstracciones más de cosas tales como ThreadPool.

Camel proporciona construcciones adicionales para esta simplificación de algunos de los aspectos del trabajo con código concurrente:

http://camel.apache.org/camel-23-threadpool- configuration.html

Si usted no tiene ninguna necesidad de este tipo de cosas y sólo desea archivo de conexión, JMS, FTP puntos finales, etc ... entonces sólo tiene que utilizar Integración primavera.

Camel actuar como middleware para aplicaciones donde se puede realizar el modelado de datos, transformación de los valores de mensaje y la coreografía de mensajes.

Si su aplicación actual es en primavera y requieren características que se apoyan en la primavera Integración de EIP continuación primavera integración es la mejor opción demás requieren más apoyos tercer partido / protocolos / formatos de archivo, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top