I have a requirement where we need to send one way message to another application. I am thinking to use SOAP over HTTP, but not sure how reliable this will be as compared to JMS. Anyone know when we should use JMS rather than SOAP over HTTP? Any idea about the performance?
I'm not sure what reliability issue you are worrying about in using SOAP over HTTP. As far as I know, SOAP over JMS may be having an edge, when we are looking for messaging framework with the usage of queues etc. Specially when we have the Asynchronous handling of requests at server side. JMS Bridge pattern is one of the examples where JMS is involved. I have not personally used SOAP over JMS and my above answer is purely based on my reading . I hope, some one would give a better explanation on this.
Joined: Jan 27, 2011
Thanks for the reply Raja,
What I am looking for something that guarantee that message has been delivery and is not lost, as my requirement is that when the user logs in before he can see the very first page of the application I need to notify another application. I have two options to do this:
1. Using JMS and send simple message to a queue
2. Using SOAP over HTTP and send a one way message.
What I dont know which one is the best way to do it.
Well, if you have your business logic already designed and just need to expose that as a webservice, you can go with SOAP/HTTP and along with ws-reliablemessaging, which would ensure that all the messages have been delivered. One benefit which you have here
Some of the reasons why one is chosen over the other are listed here.
Apart from the one listed, JAX-WS supports Asynchronous and with the help of ws-addressing and ws-reliablemessaging, you have the reliable delivery.
But if you do not want to employ those additional layers over your SOAP, then JMS would be a straight forward approach.