As long as we are talking about Java client/server technologies and POE, I'd
like to expand the topic slightly to include IPC, namely JMS. 

Has anyone ever created a JMS bridge to POE? Where I work all the Java
people now use more of JMS than RMI. I figure it would be easier to figure
out than RMI, because it's not invocation, just messaging. It might work
better and be more useful than RMI, considering the services that POE could
provide in such a solution.

There is a POE::Component::Spread, and Spread has a JMS4Spread
implementation, but I don't know if these two parts could be hooked together
successfully. It might help me make more Java developer friends if I could
start to service their JMS requests from POE. They may not even be able to
tell that they are getting data from a Perl server instead of a Java one
(that would shock them good.)
- MW

-----Original Message-----
From: Erick Calder [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, February 12, 2003 7:47 PM
To: [EMAIL PROTECTED]
Subject: RE: RFC: Persistent Object Client/Server Scheme

if what you develop is a perl RMI interface, POE programs could be written
to interoperate in Java environments, allowing those of us who prefer it to
code in perl rather than Java.  I see that as big positive :)

-----Original Message-----
From: Phil Crow [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 12, 2003 6:11 AM
To: [EMAIL PROTECTED]
Subject: RE: RFC: Persistent Object Client/Server Scheme


Since some discussion has started I think it is time
for my true confession.  Though I love Perl, I am
really mostly a Java programmer.  My intent with the
project I mentioned is to provide schemes like Java
has, but with a  heavy Perl spin.  With them I might
some day convince my employer that Perl is ready for
prime time.  While I think Perl is ready, they don't
see it, hence the need for more tools.

In this case the scheme is RMI (Remote Method
Invocation).  In case you aren't familiar, I'll bore
you with details.  An rmiregistry daemon keeps track
of all registered rmi services on one host by name.
As service daemons start, they register.  When a
client asks the registry daemon for a service, the
daemon connects the two.  This allows the client to
make calls on persistent objects in the remote
registered service.  The protocol is proprietary (but
published) and travels over TCP sockets.

So, my current scheme is RMI for Perl.  The clients
instantiate remote objects and use them without
worrying about event call backs.  Simply say $result =
$remote_objet->method(@args).  The servers use POE,
but without having to think about it.  This means
(among other things) that the exposed objects don't
explicitly know they are exposed.  This creates
modularity since the same code can be used locally or
remotely.

The primary purpose for an RMI like scheme is to allow
separation of application components across servers
(what patterns people call layering).  That's what the
current project allows.  It does so with simplistic
API's.

My goal is to eventually provide the kinds of
functionality that has made the Java platform
successful without introducing the unPerlish
complications that dominate the Java frameworks.  In
this case that means no rmic (rmi compiler), no
interfaces or stubs, etc.  It also means a clean
Perlish set of support modules.  Currently there is a
server module, a client module, and a registry daemon
which just uses the server module.

Thanks for all comments so far.  I'm interested in
hearing more and in working with anyone.

Now back to my Java programming job :(,

Phil Crow

__________________________________________________
Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day
http://shopping.yahoo.com

Reply via email to