tutorial example español camel java messaging activemq apache-camel servicemix

example - Mensajería Java: diferencia entre ActiveMQ, Mule, ServiceMix y Camel



apache servicemix tutorial (6)

Soy nuevo en Messaging y quiero saber la diferencia entre ActiveMQ , Mule , ServiceMix y Camel

¿Alguien sabe cómo cada uno de estos productos es diferente?

Gracias por adelantado !

EDITAR: También me gustaría saber cualquier buen lugar / recurso para aprender estas cosas.


ActiveMQ es un intermediario de mensajes que implementa la API de JMS y es compatible con varios clientes de idiomas cruzados y protocolos de red . Le permite implementar colas o temas y escribir oyentes o suscriptores para responder a eventos de cola.

Mule y ServiceMix son código abierto ESB (bus de servicio empresarial). Un ESB tiene capacidades más allá de JMS: la cola es clave, pero también lo son la transformación, el enrutamiento, el registro, la seguridad, etc.

Apache Camel es una implementación de los patrones en Enterprise Integration Patterns . Puede usar JMS y otros components para poner las ideas de ese libro en su lugar.

JMS es fundamental para las otras tecnologías, como JDBC es la base para Hibernate, iBatis, etc.

JMS es una API de Java y una especificación y TCK (parte de Java EE). ActiveMQ es una implementación particular de él.

Camel puede usar ActiveMQ (y Camel se incluye dentro del intermediario ActiveMQ para que pueda enrutar fácilmente desde y hacia JMS a los otros componentes que admite Camel).

Camel no usa Mule o ServiceMix directamente; aunque ServiceMix utiliza Camel como su motor de enrutamiento preferido y la implementación de EIP. Sin embargo, Camel tiene una components que usan varias tecnologías diferentes.


Apache Camel es la implementación de EIP (Enterprise Integration Patterns)

ServiceMix es el producto que se ajusta a los principios de ESB en un entorno SOA.

Active MQ es tan bueno como cualquier otra implementación de API JMS

Mule también es un ESB


Apache Service Mix :: Es un ESB (Enterprise Service Bus), un contenedor JBI y una plataforma de integración.

Apache Camel: motor de enrutamiento y mediación inteligente que implementa EIP (Enterprise Integration Patterns).

Apache ActiveMQ: es un intermediario de mensajes que implementa JMS.


Camel le permite definir reglas de enrutamiento y mediación en una variedad de lenguajes específicos de dominio. Mule y SeriviceMix son ESB. ActiveMQ es un servicio de mensajería.


Mule es un bus de servicio Enterprise que proporciona una solución de integración de extremo a extremo.

ActiveMQ es un intermediario de mensajes para poner en cola mensajes entre el suscriptor y el receptor.

ServiceMix es también un ESB, es decir, Enterprise Service Bus


JMS es una especificación de protocolo de mensajería Java.

ActiveMQ es una implementación de lo anterior.

Camel es un motor de enrutamiento de mensajes que implementa Enterprise Integration Patterns. Proporciona una gran cantidad de componentes predefinidos. Uno de sus componentes clave es compatible con JMS.

ServiceMix es una implementación de ESB compatible con la especificación JBI (Java Business Integration). También proporciona muchas funciones de infraestructura no disponibles en Camel (como el paquete de servicios OSGI support). SM hace un uso intensivo de Camel.

Mule es otra implementación de ESB, pero no está relacionada con la familia Camel / ServiceMix.