Articulo de referencia

Camello Apache

{{citation|url=https://github.com/apache/camel/tree/camel-1.0.0|title=Apache Camel 1.0|access-date=10 March 2025}} "},"latest release version":{"wt":"4.18.2 LTS"},"latest releas...

Apache Camel es un marco de integración de código abierto para Java desarrollado por la Apache Software Foundation . Conecta aplicaciones, servicios, API y fuentes de datos proporcionando más de 350 conectores predefinidos e implementando los Patrones de Integración Empresarial (EIP) descritos por Gregor Hohpe y Bobby Woolf. [ 3 ] Los desarrolladores definen rutas de integración —que describen dónde leer los datos, cómo transformarlos y dónde enviarlos— utilizando lenguajes específicos de dominio (DSL) en Java, XML o YAML. [ 4 ]

Cada conector es un componente conectable identificado por una URI , lo que proporciona un modelo de programación uniforme en intermediarios de mensajes ( Kafka , JMS ), API REST y SOAP , bases de datos ( JDBC ), protocolos de archivos ( FTP , SFTP ), servicios en la nube ( AWS , Azure , Google Cloud ) y aplicaciones empresariales como SAP y Salesforce . [ 5 ] [ 4 ] Las rutas también se pueden diseñar visualmente utilizando las herramientas de código abierto Kaoto y Apache Camel Karavan.

Camel es una biblioteca integrable en lugar de un servidor independiente. Se ejecuta en Spring Boot , Quarkus o de forma independiente a través de su propia CLI , y se implementa como una aplicación Java estándar: como un JAR, una imagen de contenedor o en Kubernetes . [ 6 ]

Historia

El proyecto Apache Camel fue creado por James Strachan, quien envió la primera confirmación — 42 archivos en dos módulos ( camel-core y camel-jms ) — el 19 de marzo de 2007. [ 7 ] La versión 1.0 fue lanzada el 27 de junio de 2007. El proyecto se basó en ideas del libro Enterprise Integration Patterns y fue influenciado por proyectos de integración anteriores, incluidos Apache ServiceMix y Apache ActiveMQ .

En 2010, FuseSource se fundó como una empresa comercial centrada en Apache Camel, ActiveMQ y ServiceMix. FuseSource fue adquirida por Progress Software en 2011 y posteriormente por Red Hat en 2012. [ 8 ] Red Hat comercializó Apache Camel como Red Hat Fuse (más tarde renombrado como Red Hat build of Apache Camel), proporcionando soporte comercial y distribución empresarial.

Durante la década de 2010, el catálogo de componentes creció a medida que se adoptaban nuevos protocolos y servicios en la nube. Los componentes para AWS llegaron en 2011, Kafka en 2014 y Spring Boot también en 2014. La línea de versiones 2.x se extendió durante más de una década (2009-2021) y produjo 25 versiones menores y 96 versiones de parches. [ 9 ]

En 2018, se creó el subproyecto Apache Camel K para ejecutar integraciones de Camel de forma nativa en Kubernetes mediante un operador dedicado. En 2019, se presentó Camel Quarkus para integrar Camel en el entorno de ejecución Quarkus con soporte para compilación anticipada.

Camel 3.0 se lanzó el 28 de noviembre de 2019, la primera versión importante en diez años, con un núcleo modularizado (dividido de un JAR en 33) y compatibilidad con Java 11. [ 10 ] En 2021 se añadió un DSL YAML para definir rutas como configuración declarativa.

Camel 4.0, lanzado el 14 de agosto de 2023, migró el marco de trabajo de javax a las API de Jakarta EE , requirió Java 17 y eliminó componentes obsoletos para alinearse con entornos de ejecución modernos como Quarkus y Spring Boot 3. [ 11 ]

A partir de 2026, el proyecto admite el Protocolo de Contexto de Modelo (MCP) para la conectividad de herramientas de agentes de IA y A2A (Protocolo de Agente a Agente) para la comunicación entre agentes, posicionando a Camel como un entorno de ejecución de integración para arquitecturas de agentes de IA. [ 6 ]

Arquitectura

La arquitectura de Apache Camel se basa en el concepto de rutas : secuencias de pasos de procesamiento que mueven mensajes desde un origen ( consumidor ) a un destino ( productor ). Las rutas se definen utilizando uno de varios DSL (Java, XML, YAML) y pueden aplicar patrones de integración empresarial como enrutador basado en contenido, filtro de mensajes, agregador, divisor y canal de mensajes no entregados. [ 3 ]

Se accede a cada sistema externo a través de un componente , que proporciona un punto final basado en URI para enviar o recibir mensajes. Con más de 350 componentes, Camel admite una amplia gama de protocolos y API sin necesidad de código adaptador personalizado. [ 5 ]

Las abstracciones principales —Procesador , Intercambio y Punto final— se han mantenido estables desde la primera confirmación del proyecto. El patrón de enrutamiento central, expresado como from("source").to("destination")en el DSL de Java, no ha cambiado desde 2007 en cuatro versiones principales. [ 12 ]

El marco es modular: las aplicaciones incluyen solo los componentes que necesitan, lo que mantiene el tiempo de ejecución ligero. Una aplicación Camel mínima puede iniciarse en menos de un segundo cuando se utiliza la compilación nativa de Quarkus. [ 6 ]

Comunidad y desarrollo

Apache Camel es uno de los proyectos más grandes de la Apache Software Foundation por volumen de commits. El repositorio Git del proyecto contiene aproximadamente 100 000 commits de más de 1500 colaboradores, con dominios de correo electrónico corporativos de más de 450 organizaciones distintas que aparecen en el historial de commits. [ 13 ] El repositorio en GitHub tiene más de 6200 estrellas. [ 14 ] La etiqueta apache-camel en Stack Overflow tiene más de 11 700 preguntas. [ 15 ]

El proyecto ha publicado 272 versiones GA en Maven Central desde 2007 y ha enviado 10 o más versiones cada año desde 2011. [ 9 ] De los más de 56 000 archivos fuente Java en el repositorio, el 39 % son archivos de prueba. [ 13 ] El rastreador de errores del proyecto muestra 7070 errores resueltos de 7081 reportados (99,8 %) con un tiempo de resolución medio de un día mantenido durante 17 de 19 años. [ 16 ]

El proyecto mantiene simultáneamente varias líneas de lanzamiento con soporte a largo plazo (LTS) y publica guías de migración para las actualizaciones de versiones principales.

Los servicios de seguimiento de tecnología de terceros detectan de forma independiente el uso de Apache Camel en miles de empresas. Enlyft informa que más de 8600 empresas utilizan Apache Camel. [ 17 ]

Adopción

Apache Camel se utiliza en producción en una amplia gama de industrias. Varias plataformas de integración comerciales utilizan Camel como su motor de ejecución subyacente, incluyendo SAP Integration Suite [ 18 ] y Huawei Cloud ROMA. [ 19 ]

Entre los despliegues documentados públicamente más destacados se incluyen:

  • El CERN utiliza Apache Camel y Apache ActiveMQ para los sistemas de control, monitorización y alarma del Gran Colisionador de Hadrones , procesando 190 millones de mensajes al día en 85.000 máquinas. [ 20 ]
  • UPS procesa decenas de miles de millones de mensajes por día en Apache Camel, la mayor implementación conocida por volumen de mensajes. [ 21 ]
  • La Administración Federal de Aviación de los Estados Unidos (FAA) utiliza Camel para el programa de Gestión de Información a Nivel de Sistema (SWIM), que proporciona intercambio de datos meteorológicos, de vuelo y de vigilancia de aviación en tiempo real a través del Sistema Nacional del Espacio Aéreo. [ 22 ]
  • IndiGo (la aerolínea más grande de la India) utiliza Camel para integrar más de 400 aplicaciones, ahorrando 500 millones de rupias al año en costos de combustible. [ 23 ]
  • La puerta de enlace de integración global de Vodafone migró de IBM DataPower a Apache Camel, integrando más de 100 sistemas a más de 10 000 transacciones por segundo. [ 24 ]
  • Tata Motors utiliza Camel para la integración de concesionarios en más de 1000 concesionarios, aumentando las transacciones basadas en API del 20 % al 95 %. [ 25 ]
  • Viva Energy, el mayor minorista de combustible y conveniencia de Australia, reemplazó su antiguo ESB con Apache Camel para las API de clientes y entregas en más de 1000 puntos de venta. [ 26 ] [ 27 ]

Ecosistema

El ecosistema Apache Camel incluye varios subproyectos relacionados:

  • Apache Camel Spring Boot : integración con Spring Boot
  • Apache Camel Quarkus : extensiones para ejecutar Camel en el entorno de ejecución Quarkus con compilación anticipada.
  • Apache Camel K : un operador de Kubernetes para ejecutar integraciones de Camel de forma nativa en Kubernetes y OpenShift.
  • Conector Apache Camel Kafka : conectores Kafka Connect preconfigurados que exponen componentes Camel como conectores de origen y destino de Kafka.
  • Apache Camel Karavan y Kaoto : diseñadores visuales para la creación y edición de rutas de Camel.

Libros

  • Ibsen, Claus; Anstey, Jonathan (2018), Camel in Action (2.ª  ed.), Manning Publications , pág.  912, ISBN 978-1617292934
  • Cranton, Scott; Korab, Jakub (2013), Apache Camel Developer's Cookbook (1.ª  ed.), Packt Publishing , pág.  424, ISBN 978-1-78217-030-3
  • Ibryam, Bilgin (2016), Patrones de diseño de camellos (1.ª  ed.), Leanpub, pág.  111

Véase también

Referencias

  1. Apache Camel 1.0 , consultado el 10 de marzo de 2025
  2. Versiones - Apache Camel , consultado el 15 de junio de 2026
  3. 1 2 Hohpe, Gregor; Woolf, Bobby (2003), Patrones de integración empresarial , Addison-Wesley, ISBN 978-0321200686
  4. 1 2 "Desarrollo de EAI con Apache Camel" . InfoQ . Marzo de 2013. Consultado el 4 de junio de 2026 .
  5. 1 2 "Los doce principales patrones de integración para Apache Camel" . DZone . Consultado el 4 de junio de 2026 .
  6. 1 2 3 "Orquestación de pipelines de IA agentes y multimodales con Apache Camel" . InfoQ . Abril de 2026. Recuperado el 4 de junio de 2026 .
  7. "Inicio de la biblioteca de enrutamiento Camel" . GitHub. 19 de marzo de 2007. Consultado el 4 de junio de 2026 .
  8. "Red Hat Fuse" . Red Hat . Consultado el 4 de junio de 2026 .
  9. 1 2 "Apache Camel: 19 años de desarrollo continuo: 272 versiones, 100 000 confirmaciones, cero brechas" . Apache Camel. 15 de junio de 2026. Consultado el 15 de junio de 2026 .
  10. "Novedades de Apache Camel 3 (las 10 principales)" . Apache Camel. Diciembre de 2019. Consultado el 14 de junio de 2026 .
  11. "Novedades de Apache Camel 4 (las 10 principales)" . Apache Camel. Agosto de 2023. Consultado el 14 de junio de 2026 .
  12. "El ADN de Apache Camel: cómo una confirmación de 42 archivos se convirtió en el marco de integración mundial" . Apache Camel. 12 de junio de 2026. Consultado el 14 de junio de 2026 .
  13. 1 2 "Apache Camel en cifras: 19 años de integración de código abierto" . Apache Camel. 9 de junio de 2026. Consultado el 14 de junio de 2026 .
  14. "apache/camel" . GitHub . Consultado el 14 de junio de 2026 .
  15. "Preguntas etiquetadas como 'apache-camel'"" . Stack Overflow . Consultado el 04-06-2026 .
  16. "Historial de corrección de errores de Apache Camel: 7070 errores corregidos, resolución media de 1 día, tasa de corrección del 99,8 %" . Apache Camel. 15 de junio de 2026. Consultado el 15 de junio de 2026 .
  17. "Empresas que utilizan Apache Camel" . Enlyft . Consultado el 14 de junio de 2026 .
  18. "Actualización de Apache Camel 3.14" . SAP . Consultado el 4 de junio de 2026 .
  19. "Huawei Cloud ROMA" . Huawei . Consultado el 4 de junio de 2026 .
  20. "Mensajería de código abierto a (casi) la velocidad de la luz" . Computerworld. 2012. Consultado el 4 de junio de 2026 .
  21. "UPS Camel y ActiveMQ en OpenShift" . YouTube. Mayo de 2024. Consultado el 4 de junio de 2026 .
  22. "CamelOne 2011" . Conferencia CamelOne . Consultado el 4 de junio de 2026 .
  23. "Historia de éxito de IndiGo" . Red Hat . Consultado el 4 de junio de 2026 .
  24. "Estudio de caso de Vodafone" . Red Hat . Consultado el 4 de junio de 2026 .
  25. "Historia de éxito de Tata Motors" . Red Hat . Consultado el 4 de junio de 2026 .
  26. "Cómo Viva Energy resolvió los problemas de integración para priorizar a los clientes" . Computerworld. Noviembre de 2020. Consultado el 15 de junio de 2026 .
  27. "Estudio de caso - VIVA Energy" . Leonardo Consulting . Consultado el 15 de junio de 2026 .
  • Sitio web oficial