Hello all,
Recently (to test my understanding of Ruby) I was rewriting a middleware server software of my company that is written in Java (J2EE) in Ruby.
I actually coded the core of the system and think it is pretty neat in Ruby (and much cleaner by the way).
The problem I am facing now, having the core system in Ruby, is the API interfaces towards that core. The system is supposed to have a layer of different API's so that an application programmer can access a service running inside the core. These API layer can be almost anything (a telnet session, a http request, a SOAP or XML-RPC request, etc, etc, etc).
In the Java implementation this is solved by having these API's "talk" to the core in two ways:
- using JMS (Java Messaging Service), i.e. packaging an incoming message into an JMS message and sending it to an incoming queue so that it can be processed. This is used for async processing.
- directly calling an EJB that will process the incoming message and reply with the output of the service run. This is done for snyc processing.
Now my question would be the following:
How can I implement something like a JMS Queue in Ruby?
How can I make the core system be a daemon that accepts these requests (either by a direct call to some class in the core or by a messaging system?
Thanks a lot for the help in advance!
Cheers,
Enrique Comba Riepenhausen
Hi Enrique,
I'm only starting to look at JMS now (in both Java and Ruby), but maybe you
can use ActiveMQ (http://activemq.apache.org/\). It's a JMS message broker,
but it also has support for Ruby clients.
Hope it helps,
Nick
···
On 5/12/07, Enrique Comba Riepenhausen <ecomba@mac.com> wrote:
Hello all,
Recently (to test my understanding of Ruby) I was rewriting a
middleware server software of my company that is written in Java
(J2EE) in Ruby.
I actually coded the core of the system and think it is pretty neat
in Ruby (and much cleaner by the way).
The problem I am facing now, having the core system in Ruby, is the
API interfaces towards that core. The system is supposed to have a
layer of different API's so that an application programmer can access
a service running inside the core. These API layer can be almost
anything (a telnet session, a http request, a SOAP or XML-RPC
request, etc, etc, etc).
In the Java implementation this is solved by having these API's
"talk" to the core in two ways:
- using JMS (Java Messaging Service), i.e. packaging an incoming
message into an JMS message and sending it to an incoming queue so
that it can be processed. This is used for async processing.
- directly calling an EJB that will process the incoming message
and
reply with the output of the service run. This is done for snyc
processing.
Now my question would be the following:
How can I implement something like a JMS Queue in Ruby?
How can I make the core system be a daemon that accepts these
requests (either by a direct call to some class in the core or by a
messaging system?
Thanks a lot for the help in advance!
Cheers,
Enrique Comba Riepenhausen
Hey Nick,
thanks a lot, I'll take a look at it and let you know if it is what I am looking for!
Thank you for the link 
···
On 12 May 2007, at 14:36, Nicholas Clare wrote:
Hi Enrique,
I'm only starting to look at JMS now (in both Java and Ruby), but maybe you
can use ActiveMQ (http://activemq.apache.org/\). It's a JMS message broker,
but it also has support for Ruby clients.
Hope it helps,
Nick