Apache Camel es un marco de código abierto para middleware orientado a mensajes con un motor de enrutamiento y mediación basado en reglas que proporciona una implementación basada en objetos Java de los patrones de integración empresarial utilizando una interfaz de programación de aplicaciones (o un lenguaje declarativo específico del dominio Java ) para configurar reglas de enrutamiento y mediación. [ aclaración necesaria ]
El lenguaje específico del dominio significa que Apache Camel puede soportar la finalización inteligente y segura de reglas de enrutamiento en un entorno de desarrollo integrado usando código Java normal sin grandes cantidades de archivos de configuración XML , aunque también se admite la configuración XML dentro de Spring Framework .
Camel se utiliza a menudo con Apache ServiceMix, Apache ActiveMQ y Apache CXF en proyectos de arquitectura orientada a servicios .