http://www.perlmonks.org?node_id=467844

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

hi, all.

I recently fell in love with SOAP, XMLRPC, and their kin, so i'd like to re-structure a big application i did to use them.
My app consists of various perl/Tk programs running on different machines, and a web-interface running on a central server. My guess is that it makes sense to make the perl/Tk apps just call SOAP routines on the server, and manage the results - so far, so good. But i'd like to call a couple of the routines called by these perl/Tk apps from the web-interface, too.
My problem is that AFAIK, SOAP has a lot of overhead, and calling subs which are on the same machine via SOAP is a horrendous waste of resources, which i'd like to avoid, of course.
The obvious solution would be to make the CGI-scripts simply use the module that SOAP dispatches to, but that seems rather 'messy' because that would mean that i can't e.g. but the SOAP service on some other machine, if this would be neccesary some day, and i feel name-space-woes around the corner.
So, is there some SOAP-wrapper around that intelligently notices when to use the network, and when not? If not, is there a nice way to do this?

thanks in advance,

-schweini