2011-02-17 691 views
5

¿Qué tipo de argumentos se deben usar al elegir entre la integración mediante el servicio web frente a JMS? Estoy familiarizado con los conceptos básicos de ambos enfoques, sin embargo, en algunos casos no está claro cuál sería el mejor para una situación determinada. Supongo que estoy buscando una gran comparación general con los casos de uso.Servicios web frente a mensajería

gracias

+1

Posible duplicado [Message Queue vs. Web Services?] (Http://stackoverflow.com/questions/2383912/message-queue-vs-web-services) –

Respuesta

4

JMS es un servicio de mensajería. Es asincrónico y bidireccional, es decir, puede escribir aplicaciones que envían y reciben mensajes. Pero esto debe ser una aplicación implementada típicamente en Java. Quiero decir que no puede ser un cliente ligero. Y el protocolo estándar de JMS está basado en TCP, por lo que puede ser bloqueado por un firewall.

El servicio web está diseñado como un transporte a través de HTTP, por lo que normalmente pasa cortafuegos. Pero es unidireccional: servidor de llamadas del cliente; el servidor no puede llamar al cliente. Simplemente puede responder llamadas de clientes. El cliente del servicio web (especialmente el servicio web RestFull) es muy simple, por lo que se puede implementar fácilmente como un cliente ligero (por ejemplo, un cliente AJAX).

3

Buena pregunta.

usaré servicio web cuando:
1. Tratar con dominios cruzados, por lo general los servicios de medio ambiente cuando no estoy seguro acerca de la tecnología de cliente.
2. Necesita respuesta síncrona.

y Enlace del mensajería cuando (Espero que decir mensajería no sólo la versión de Java):
1. Necesidad asíncrono de solicitud/respuesta.
2. Alta disponibilidad.
3. Entrega confirmada.