JMS es una API que abstrae middleware de mensajería, como ActiveMQ o IBM MQSeries.
middleware de mensajería tiene un paradigma de almacenamiento y hacia adelante y mensajes asíncronos que pasa, mientras que los servicios web tienden a promover un procedimiento síncrono llamar paradigma. En sistemas distribuidos donde muchas cosas pueden salir mal, lidiar con cosas de manera asincrónica tiende a enfocar mejor la mente a las cosas que necesita hacer cuando parte del sistema no está disponible o tiene un bajo rendimiento y el código necesario para tratar eso tiende a ser una mucho menos complicado.
partes Clustering vuelto trivial si tiene varios servidores que escuchan en la misma cola de equilibrio, el paralelismo y la carga es gratis en este caso.
Personalmente encuentro JMS mucho más fácil de trabajar y más robusto y fiable que los servicios web, pero el middleware de mensajería debe apoyar todas las plataformas que desea utilizar. Si todos los componentes que necesitan hablarse están bajo su control, consideraría seriamente un middleware de mensajería con una interfaz JMS.
Si la otra parte es externa, probablemente sea la regla de Servicios web, y en ese caso podría pensar en usar una capa delgada para convertir el servicio web externo en una infraestructura interna de mensajes, de modo que aún tenga la mayoría de las ventajas.
si es "simplemente palmadas una API remota en una aplicación web" entonces por supuesto que no paga bien a los mensajes de configuración desincronizado.
Por favor, vea esta pregunta. http://stackoverflow.com/questions/19706788/jersey-rest-web-service-with-activemq-middleware-integration Gracias por su tiempo. – Kumar