balker has asked for the wisdom of the Perl Monks concerning the following question:

I may have to have my Perl/Catalyst-based app talk to a service that currently only speaks the language of "Spring's HTTP invoker":

Spring's HTTP invoker. Spring provides a special remoting strategy which allows for Java serialization via HTTP, supporting any Java interface (just like the RMI invoker).

I was wondering if anyone had any experience doing something crazy like this, and what the best approach would be.

I assume that writing some Java, and embedding a JVM to handle it via Inline::Java or Java::Import could be done fairly easily (for easily involving me coding Java - blech). But I really think the httpd's are big enough as it is...

Alternatively, I could reverse-engineer the bits of the protocol I need and handle the deserialization of the objects in perl.

Any brilliant insights?

  • Comment on Talking to Spring's HTTP invoker (java) from Perl?

Replies are listed 'Best First'.
Re: Talking to Spring's HTTP invoker (java) from Perl?
by moot (Chaplain) on Jan 11, 2006 at 00:59 UTC
    Another option may be to write a proxy in java that your app communicates with. This will decouple the Spring-side implementation from your app, as well as allow the proxy to reside on a separate physical machine. Of course there may be a performance hit here, so think carefully about what sort of communication you provide between the proxy and your app.
Re: Talking to Spring's HTTP invoker (java) from Perl?
by perrin (Chancellor) on Jan 11, 2006 at 04:17 UTC
    Use Inline::Java. The JVM can run as a separate daemon rather than inside your httpd processes.
      Finally got around to this, and thanks, that does seem to work wonders. Now up and running on my test system.