On Jul 14, 9:52 pm, Richard Conroy <richard.con... / gmail.com> wrote:
> So the web service client IS a web app? That proxies/intermediates
> between (1) a set of back end web services and (2) people or other
> services?

Basically, but I'm not sure my web service client should be a web app
in all cases (this is getting confusing). As I mention in my reply to
David, I wasn't sure what exactly I was asking when I started this
thread. I just feel like I'm missing something that may be more robust
than WEBrick or mod_ruby. I'll definitely look into the Rack-based
technologies for future use.

At this point, I'm basically writing adapters to SOAP services
provided by outside companies to allow ordering and other inquiries.
They're accessed via the public internet so there can sometimes be
delays in responses, but generally under 2s, I think. Eventually I'll
be using similar SOAP services from several companies. The adapters
will be used so that internal apps can access those services via a
single API. A controller will decide which external company to
interact with in a given case and the adapter will handle the details
of that particular company's SOAP implementation.

Communication can be initiated from either end. In some cases my end
will initiate the SOAP communication (to begin an order, validate
data, etc.), while in other cases the outside company will initiate
the communication (provide status updates on an existing order). I.e.,
the adapters will contain SOAP clients and servers.

So, yes to bi-directional communication and delays. I'll have a look
at Delayed Job.

Going with something Rack-based may be all I need at this point.

A somewhat related question, what's the Ruby way to do communication
between two apps on the same machine. Is there something like IPC
sockets? Or should I be looking more at something like DRb
(particularly since the two apps might not always be on the same
machine). It seems that there should be something besides web apps for
that, but maybe I'm just making this harder than it needs to be.

I apologize for not really having a clear question. I do appreciate
the comments and suggestions so far and I now have some more
possibilities to explore. Thanks for the help.

Jeremy