I have to write an app to do surveys over the internet - like a "poll" but longer and more complex .. some questions are only asked if a person has answered yes to a previous question, there is a need to "paste" the response to one question into another, there would be maybe 10 "pages" per questionaire.
The traditional approach to this is to use PHP and people have probably already done what I want in PHP. But while I like PHP, I don't really want to become an expert in it .. talking to the boss, she agreed that we don't have to mount this on any and all servers so maybe I don't have to think Unix and maybe I don't have to use PHP and can do it in DELPHI!.
One problem. I have never done a Delphi server side app. I don't know anything about n-tier architecture or ASTA thin client stuff or web snap or anything much. And anyway I don't have Enterprise editions, only Pro of D5/D6
I want to write the app locally to run locally and then go straight to the web to run on the server.
So what are the problems I need to look out for, and how do I solve them ?
1. Stateless related stuff. OK, I realize that I am going to get packets in from various people more or less at the one time and they represent different stages of progression through the questionnaire. OK, cannot this be solved by simply giving each person a unique respondent ID, then when you get an incoming packet look at the respondent ID, look up the record if any in the dbISAM database, update with what has been delivered, generate some new HTML? I don't see the problem with this.. one EXE, managing "partial information" packets in a CGI sort of way
2. Hmm, what happens if 2 or more people attempt to submit to the exe (cgi) at the same time ? .. does the OS take care of this?
3. Please don't tell me I need to install my data collection app as a service : I know nothing about services and don't want to know <g>
4. If you want to be generous, give me some code or code skeleton or pseudo code that simulates a bunch of users pounding that Delphi server side exe, getting some stuff back, doing it all over again.
Or I will settle for some intelligent discussion that helps dispel my ignorance, but Code Rules OK!
thx