in reply to Socket or not

you can also execute a script on the server via a CGI wrapper that you write. the CGI wrapper just needs to make sure that it's not run simultaneously on same datafile etc. but this sort of sanity code is fairly straight forward. if there are no concerns about users getting to other users input/output data...then i would setup a inbox folder share visible to users, and an outbox share folder. the data munging CGI script is run from a html form where you select input file and whatever other parameters (including email notification address) and execute the job. the submitted html form (and CGI script) gives back a reference number and closes the window when user presses ok. the script proper (not the CGI) emails result link. internally the data munging script makes a copy of the input file in a non-public working directory, and output folder filename is generated, so as not to clobber any previous output file.
for more futureproof access to the share, it would be a dfs share instead of a server wins hostname.
the hardest line to type correctly is: stty erase ^H