¿Cuáles son las razones que pueden motivar a un programador a utilizar la API Java JMS (Java Message Service) en lugar de la API UDP socket del paquete java.net en una aplicación Java distribuida o utilizar la API UDP socket en lugar de la API JMS? Si es posible, entregue ejemplos de aplicaciones.¿Cuándo elegir API JMS sobre API de socket UDP o viceversa?
Respuesta
UDP y JMS son diferentes en muchos aspectos, y fundamentalmente desde JMS normalmente se basa en las características inherentes a TCP (ver este comparison of UDP and TCP para tener una idea de las diferencias de los dos protocolos subyacentes).
Básicamente UDP es adecuado para aplicaciones que no requieren ninguna confiabilidad, orden, control de congestión o enrutamiento entre redes (ya que muchos enrutadores de grado comercial y de consumidor no reenvían paquetes UDP). JMS proporciona todas estas características que faltan de UDP y más (como transacciones, pub/sub y hacer cola, suscripciones duraderas, etc.).
UDP podría ser apropiado para la transmisión de grandes cantidades de datos dentro de una red de área local donde la calidad absoluta no es un requisito; JMS sería mejor para aplicaciones que requieren mensajería confiable entre hosts de red de área amplia. Además, JMS oscurece los detalles de sockets, servidores, enlaces, etc. y proporciona una API de alto nivel que es más adecuada para la integración empresarial.
- 1. ¿API de socket o biblioteca para C++?
- 2. ¿Cuándo elegir LAMP sobre ASP.NET?
- 3. Cuándo usar HashMap sobre LinkedList o ArrayList y viceversa
- 4. ¿Cuándo deberíamos elegir nHibernate sobre otros ORM?
- 5. Mensajería de baja latencia de WebSphere MQ: ¿Tiene una API JMS (o JMS)?
- 6. Cuándo elegir complementos y cuándo elegir la pista
- 7. multidifusión UDP usando winsock diferencias API entre XP y Vista
- 8. Modernización de la API JMS en Java EE 7
- 9. ¿Qué es la API de NaCl Socket?
- 10. C socket API es seguro para subprocesos?
- 11. ¿Cuándo se sobreinyecta una API?
- 12. ¿Por qué querría uno usar ruby sobre python o viceversa?
- 13. ¿Cuándo debería usar un TreeMap sobre PriorityQueue y viceversa?
- 14. JMS AUTO_ACKNOWLEDGE ¿cuándo se confirma?
- 15. Error de socket 10052 en el socket UDP
- 16. API de diccionario o biblioteca
- 17. ¿Cuándo elegir varios procesos sobre subprocesos en Java?
- 18. WCF Servicio Web o API
- 19. ¿Cuándo se bloquea un UDP sendto()?
- 20. Dudas sobre HTML5 IndexedDB Async API
- 21. SOAP sobre JMS para principiantes
- 22. Cadenas o URI en API .NET?
- 23. C++ UDP multiplexación de puertos Socket
- 24. Tutorial de socket UDP simple necesario
- 25. implementando ack sobre UDP?
- 26. Confusión sobre hadoop job tracker api
- 27. ¿Cuándo elegir el árbol RB, B-Tree o AVL?
- 28. ¿Cuándo debería usar NSURL en lugar de NSString y viceversa?
- 29. Cuándo elegir Estrategia sobre el polimorfismo al refaccionar la declaración del interruptor
- 30. ¿Cuándo tendrá Android una API pública de calendario?
+1. JMS es para UDP lo que es un RDBMS para un archivo plano. –