File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Web Services and the fly likes web service vs messaging Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "web service vs messaging" Watch "web service vs messaging" New topic

web service vs messaging

kamaraj christopher

Joined: Jul 10, 2009
Posts: 1
What is the difference between web services and messaging?
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
Dan Drillich
Ranch Hand

Joined: Jul 09, 2001
Posts: 1183
A nice article about the subject at Web Services Messaging with Apache Axis2: Concepts and Techniques.


William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
Snehal Masne

Joined: Nov 02, 2013
Posts: 9
When you use a web service you have a client and a server:

If the server fails the client must take responsibility to handle the error.
When the server is working again the client is responsible of resending it.
If the server gives a response to the call and the client fails the operation is lost.
You don't have contention, that is: if million of clients call a web service on one server in a second, most probably your server will go down.
You can expect an immediate response from the server, but you can handle asynchronous calls too.

When you use a message queue like RabbitMQ, ActiveMQ, IBM MQ Series, Tuxedo you expect different and more fault tolerant results:

If the server fails, the queue persist the message (optionally, even if the machine shutdown).
When the server is working again, it receives the pending message.
If the server gives a response to the call and the client fails, if the client didn't acknowledge the response the message is persisted.
You have contention, you can decide how many requests are handled by the server (call it worker instead).
You don't expect an immediate synchronous response, but you can implement/simulate synchronous calls.
Message Queues has a lot more features but this is some rule of thumb to decide if you want to handle error conditions yourself or leave them to the message queue.

Snehal Masne
I agree. Here's the link:
subject: web service vs messaging
It's not a secret anymore!