La arquitectura Camel consta de tres componentes: motor de integración y enrutador, procesadores y componentes. Esto se ilustra en la siguiente figura:
El núcleo Camel en sí es muy pequeño y contiene 13 componentes esenciales. El resto de más de 80 componentes están fuera del núcleo. Esto ayuda a mantener una baja dependencia de dónde se implementa y promueve extensiones en el futuro. losComponents módulo proporciona un Endpointinterfaz con el mundo exterior. Los puntos finales se especifican mediante URI, comofile:/order y jms:orderQueue que has visto en el último capítulo.
los ProcessorsEl módulo se utiliza para manipular y mediar mensajes entre Endpoints. Los EIP que mencioné anteriormente se implementan en este módulo. Actualmente admite más de 40 patrones como se documenta en el libro EIP y otras unidades de procesamiento útiles.
los Processors y Endpoints están conectados juntos en Integration Engine and Routermódulo mediante DSL. Mientras los conecta, puede usar filtros para filtrar mensajes según los criterios definidos por el usuario. Como se mencionó anteriormente, tiene varias opciones para escribir estas reglas. Puede usar Java, Scala, Groovy o incluso XML para esto.
Ahora, llegamos al componente más importante de Camel, que puede considerarse como el núcleo: el CamelContext.