(Thought I would put this architecture question out there to the
***********************************************************
Mike Wolfson
Senior Software Engineer Phoenix, AZ, USA
***********************************************************
group, and see if some of the geniuses on the group had some good
insight).
We are trying to decide between using HTTP, or JMS as a communication
mechanism for a portion of our system.
Here are some of our requirements.
-Guaranteed delivery
-Asynchronous communication
(Well, these things scream out JMS right, but wait there's more)
-Lightweight protocol (we will be sending a lot of communications).
-Client is external to our enterprise (may or may not be Java, and
likely will not be the same JEE server we use to produce messages).
-Our messages consist of a single XML document.
So wondering if anyone has any opinions of which choice would be better.
With HTTP, we would have to code the guaranteed delivery mechanism
(which would be simple enough, as we could just wait for a response,
and when received, move onto the next communication).
I am pressing for JMS, as smart people have already completed the
persistence mechanisms. But the client developer is worried about the
increased overhead and development time of JMS.
I am also worried about lag between the request, and response, if we
don't receive a response in a timely manner, we could have resource
leaks (while waiting on the response to return, we would be
synchronous).
Quite frankly, I have some older developers that are protecting their
"old way of doing business" and are pressing for using HTTP for this
asynchronous communication. I am wondering if maybe JMS is overkill
for what we want (and maybe I am being the "young wippersnapper" that
is pushing newer technologies just for the sake of using them).
Thanks for any insight in advance.
insight).
We are trying to decide between using HTTP, or JMS as a communication
mechanism for a portion of our system.
Here are some of our requirements.
-Guaranteed delivery
-Asynchronous communication
(Well, these things scream out JMS right, but wait there's more)
-Lightweight protocol (we will be sending a lot of communications).
-Client is external to our enterprise (may or may not be Java, and
likely will not be the same JEE server we use to produce messages).
-Our messages consist of a single XML document.
So wondering if anyone has any opinions of which choice would be better.
With HTTP, we would have to code the guaranteed delivery mechanism
(which would be simple enough, as we could just wait for a response,
and when received, move onto the next communication).
I am pressing for JMS, as smart people have already completed the
persistence mechanisms. But the client developer is worried about the
increased overhead and development time of JMS.
I am also worried about lag between the request, and response, if we
don't receive a response in a timely manner, we could have resource
leaks (while waiting on the response to return, we would be
synchronous).
Quite frankly, I have some older developers that are protecting their
"old way of doing business" and are pressing for using HTTP for this
asynchronous communication. I am wondering if maybe JMS is overkill
for what we want (and maybe I am being the "young wippersnapper" that
is pushing newer technologies just for the sake of using them).
Thanks for any insight in advance.
Mike Wolfson
Senior Software Engineer Phoenix, AZ, USA
"Imagination is more important than knowledge."
***********************************************************