Thought I'd update this post since I have made some pretty good progress on this project.
Quick review: I wanted to deploy an application on the web where users submit a data-input file, the application crunches numbers and then makes a data-output file available to the user.
I decided that since I'd eventually be implementing a forum to provide technical support, I'd go ahead with that now and take advantage of the forum's user-management facilities and connection to MySQL. I'm using SMF, same as the Lazarus forum.
So, I have a web site:
www.dynostep.com which is mainly to serve documentation for potential users and a link to the forum where access to the application is provided. The application is a numerical simulation of an internal-combustion engine written as an fpc console app using OSX 10.6. The server also runs on OSX. If you are a motorhead as well as a Lazarus fan you might be interested in checking it out.
Once a user has read the documentation and understands how to prepare the data input file, he/she registers on the forum. Since they are now in the forum database I can easily make sure they are registered before they try to upload the data input file. That upload is done by a simple HTML page via a post method coupled to a PHP script. The script takes the uploaded file, cleans up the file name, and puts the file in a permanent location.
The PHP script then logs info on the user, their data input filename, and date/time to a table I added to the forum database. It also prepares another text file containing information needed by the application. The PHP script then calls my application.
Once the application has run with the user's input data it saves the data to an output file, updates the database table to indicate the name of the output file, what version of the application was used, and whether the run was successful.
I'd like the application at this point to notify the user that the run was complete and provide a link to the output file, but haven't yet figured out how to do that so I do it manually based on info in the database table. I may do it via a forum PM.
That's it. Maybe this will help someone in the future with a similar project.