Web services and JMS are not competing technologies. JMS is like a transport layer, while web services provide capabilities above and beyond that. While web services almost always use HTTP as the transport layer, they can use JMS (or email) instead.
WebServices is based on open standards like SOAP,WSDL,XML. JMS provides loose coupling like Web Services but it does provide a service interface where one could define a set of operations to be invoked.
Note that while JMS messages can be bridged to non-Java clients, you will get the best results if all parties involved are Java. JMS also provides for several different content types - Java object, text, byte etc. where a web service basically moves text. As Ulf said, JMS can move SOAP messages for a web service application.
I was just wondering, when creating a webservice as a wrapper to a legacy app. running on the mainframe, one side of my webservice will be handling SOAP messages from its clients and the other side needs to interact with the mainframe.
How could this be done? Do we need to put a JMS provider that interacts with the mainframe and then a JMS client interacts with my webservice or is there another solution?
Joined: Mar 22, 2005
@Manhar: That depends on how you can access your legacy app. JMS would be a possibility, but if the web service is used in a synchronous fashion (i.e., a response is expected right away), an asynchronous communications medium like messaging seems the wrong approach. If the web service runs on the same machine as the legacy app, a more direct method is probably possible.
If you have further questions, it is better to start a new thread, than hijacking this one. [ October 23, 2005: Message edited by: Ulf Dittmer ]