You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Eugeny N Dzhurinsky <bo...@redwerk.com> on 2008/08/28 12:06:25 UTC

distributing legacy code using JMS

Hello, there!

Can somebody please help me: I recently received the task to distribute legacy
interface using JMS onto several hosts. This interface consists of many
methods, some of them are returning byte arrays or input streams, and few ones
takes output stream as a parameter to store results in.

Currently I am developing the custom solution with a set of commands to handle
each method of the interface (create appropriate message object, add
properties of given types etc) - however may be there is some solution,
similar to Axis, which can generate the code to wrap the interface and provide
an easy way to distribute execution (client-server) of any interface using
JMS?

Thank you in advance!

-- 
Eugene N Dzhurinsky

Re: distributing legacy code using JMS

Posted by Eugeny N Dzhurinsky <bo...@redwerk.com>.
On Thu, Aug 28, 2008 at 11:29:02AM +0100, James Strachan wrote:
> 2008/8/28 Eugeny N Dzhurinsky <bo...@redwerk.com>:
> The tricky bit is ensuring that the on-the-wire message formats
> correctly match up to the legacy application. There's a number of
> solutions out there in general for doing this kind of thing - such as
> JAX-WS via say CXF using Web Services with SOAP/XML encoding.
> 
> For more custom coding of messages to Java objects you might wanna
> experiment with the Spring Remoting support with Camel
> http://activemq.apache.org/camel/spring-remoting.html
> 
> If you control both ends of the wire, Camel supports trivial remoting
> of any Java interface/class; however if the back end is some legacy
> system you might want to plugin your own Message Translator so perform
> whatever custom encodings your legacy application expects - as there
> are many different ways to encode method invocations into
> messages/destinations/headers and payloads.
> http://activemq.apache.org/camel/message-translator.html

Actually I am controlling the both ends of the system, so looks like it is
worth to try out Camel - it probably can save me a lot of time.

Thank you!

-- 
Eugene N Dzhurinsky

Re: distributing legacy code using JMS

Posted by James Strachan <ja...@gmail.com>.
2008/8/28 Eugeny N Dzhurinsky <bo...@redwerk.com>:
> Hello, there!
>
> Can somebody please help me: I recently received the task to distribute legacy
> interface using JMS onto several hosts. This interface consists of many
> methods, some of them are returning byte arrays or input streams, and few ones
> takes output stream as a parameter to store results in.
>
> Currently I am developing the custom solution with a set of commands to handle
> each method of the interface (create appropriate message object, add
> properties of given types etc) - however may be there is some solution,
> similar to Axis, which can generate the code to wrap the interface and provide
> an easy way to distribute execution (client-server) of any interface using
> JMS?
>
> Thank you in advance!

The tricky bit is ensuring that the on-the-wire message formats
correctly match up to the legacy application. There's a number of
solutions out there in general for doing this kind of thing - such as
JAX-WS via say CXF using Web Services with SOAP/XML encoding.

For more custom coding of messages to Java objects you might wanna
experiment with the Spring Remoting support with Camel
http://activemq.apache.org/camel/spring-remoting.html

If you control both ends of the wire, Camel supports trivial remoting
of any Java interface/class; however if the back end is some legacy
system you might want to plugin your own Message Translator so perform
whatever custom encodings your legacy application expects - as there
are many different ways to encode method invocations into
messages/destinations/headers and payloads.
http://activemq.apache.org/camel/message-translator.html

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com