我需要开发一个可以接受订单并返回确认的系统。订单可以来自于Java或非Java客户端。
不确定是选择Web服务实现还是JMS。
有什么建议吗...
我需要开发一个可以接受订单并返回确认的系统。订单可以来自于Java或非Java客户端。
不确定是选择Web服务实现还是JMS。
有什么建议吗...
JMS是一个API,它抽象了消息中间件,例如ActiveMQ或IBM MQSeries。
消息中间件具有存储转发范式和异步消息传递,而Web服务倾向于推广同步过程调用范式。在分布式系统中,许多事情可能出错,异步处理问题往往更容易将注意力集中在当系统的一部分不可用或性能较差时需要做的事情上,并且处理这些问题所需的代码通常要简单得多。
如果您有多个服务器侦听相同的队列,则聚类部分变得非常简单,此时并行性和负载平衡是免费的。
就我个人而言,我发现JMS比Web服务更易于使用、更强大和可靠,但消息中间件必须支持您想要使用的所有平台。如果需要互相通信的所有组件都在您的控制下,我会认真考虑使用具有JMS接口的消息中间件。
如果对方是外部方,则可能使用Web服务,并在这种情况下,您可以考虑使用薄层将外部Web服务转换为内部消息传递基础架构,以便仍然拥有大部分优势。
如果只是“在Web应用程序上添加远程API”,那么当然不需要设置异步消息传递。