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

Dear Monks,

I am looking for an application server recommendation.

The application server is required to listen on the network, and trigger a variety of processes, written in Perl. It must support multiple simultaneous connections - up to perhaps a 100 or so concurrently. It does not need to wait around and dish out much response to the client - it only needs to return 'request acknowledged / unknown', and can then end the communication , and proceed to do something useful.

It will have to support a despatch mechanism, which I am happy to implement, to manage resource usage and contention. Primary usage is *nix, but it needs to be able to run on WinXP, though single threaded mode would be fine here. User authentication is not really required, though a basic lightweight implementation might be interesting.

I was wondering about Apache2/mod_perl (but am currently uncertain as to what happens on the server if the client closes the connection - I feel a test coming on...),

other possible candidates include POE and bivio.

Do the Monks have any experience or recommendations to share?

Regards & thanks,

Jeff

Replies are listed 'Best First'.
Re: Perl application server recommendation
by perrin (Chancellor) on Jun 07, 2006 at 16:31 UTC
    I would use mod_perl for this. It's well-tested, scales, has all the hard networking stuff already done for you, etc. You can even replace HTTP with a custom protocol if you need to in mod_perl 2, but I wouldn't do that if you can avoid it. To answer your question, if the client disconnects you can detect it, but unless you actively check and stop, execution just continues. This is in the documentation.
      Thanks Perrin - esp for the info regarding dropped client connections. As we are already using both Apache versions, and Perl this does seem a natural fit.

      Regards,

      Jeff

Re: Perl application server recommendation
by BigRare (Pilgrim) on Jun 07, 2006 at 16:02 UTC
      BigRare,

      Thanks for the suggestion - I spent a couple of hours reading the SOAP docs, and am obviously a SOAP newbie - any thoughts on advantages over an Apache2/mod_perl despatch?

      There are the obvious ones of standardisation of arg formatting and presentation, and future-proofing for various callers to the app server, but for our requirements, small sets of name=value args are all that is required, and these are easily generated in the PHP web front-end. Are there any others you have experienced / like?

      Regards & thanks,

      Jeff

Re: Perl application server recommendation
by Anonymous Monk on Jun 09, 2006 at 15:09 UTC
    Dear Monks,

    Are POE or bivio not widely in use by Monks then? Or are they not appropriate for a multi-threaded application server? ...or does Warnock apply?

    Regards & thanks,

    Jeff