I've been working with an application that written in Ruby and Clojure.
Nothing forbids you from using some messaging system for communication
between Ruby and Clj, although we required direct access to Ruby from
Clojure and vice versa.

That's pretty much how Zweikopf was born:
http://github.com/ifesdjeen/zweikopf

With Zweikopf you can call Ruby code from Clojure and Clojure code from
Ruby, given that Runtime was registered properly. You can convert any
Clojure data structure to Ruby one
and back, custom serialisation, circular dependency detection included.

I would suggest not using any serialisation means if you intend running
both languages in a single process / JVM. That would add a significant
overhead and you won't be able to have
direct access to whatever class you may need at given time without wrapping
it into some RPC container.



On Mon, Sep 9, 2013 at 4:47 PM, rdelcueto <rdelcu...@gmail.com> wrote:

> Hey Ron,
> Thanks for your response. Digging deeper into my question...
>
> When I read about the Torquebox Immutant duet, I thought it was
> particularly interesting solution, because it was fairly easy to deploy and
> both processes would live inside a JVM environment. I was impressed by how
> Clojure data structures mapped to Ruby structures and vice-versa, it seemed
> to provide a very clean and idiomatic messaging platform. Plus it would
> provide tools for caching, clustering, and what not. Still I wasn't very
> keen on the JRuby subject, since It's known to have compatibility issues
> with certain gems.
>
> Yesterday while researching on the subject I found about ZeroMQ. Do you
> have any particular reason to use RabbitMQ over other messaging libraries?
> Are there any caveats to your interop model?
> How portable is deploying a site using a messaging solution such as
> RabbitMQ?
>
> I also found out about Google's Protocol Buffers, they seemed like a
> lightweight solution to pass language agnostic data structures through the
> messaging infrastructure.
> Do messages need to be encapsulated somehow, or is this actually
> unnecessary? How it's done in your case?
>
> Regarding security and sensible information interop; Should messages be
> encrypted? Should they be encrypted as a whole message or partially (only
> sensible data)?
> What are the performance implications of this pipeline? Is the overhead
> and footprint of such setup (Ruby + Messaging Broker + ClojureJVM) big
> enough, for it to be worth thinking on writing everything in Clojure (using
> the Luminus framework)?
>
>
> On Monday, September 9, 2013 8:10:41 AM UTC-5, Ron Toland wrote:
>>
>> At Rewryte, we use Rails for the web frontend and Clojure for the data
>> processing backend for exactly the reasons you described.
>>
>> We use RabbitMQ to communicate between the two. This maintains separation
>> between the two apps (no JRuby required), and lets us scale them both
>> independently, while taking advantage of each language/framework's
>> strengths.
>>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
alex p

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to