Good Day Monks,
I am getting ready to write a Java Applet that will suck data from a many local database servers and publish it to a central Perl/CGI content management system. This publishing process won't be done more than a couple of times a month per server, but each time will involve the transmission of well over half of a GB of data.
I am trying to decide The Best Way ™ to communicate the database data to the server. Here are the options I have come up with:
- Just post all of the data to a CGI in one request. I have never attempted to post this much data in a single HTTP request. Can it even be done?
- Have the applet post individual records at a time. Since it would be posting to a CGI each time (upwards of a million requests), this would cause a lot of overhead on the server.
- Have the applet post individual records to a mod_perl script. This seems like the best HTTP based option so far. There would be a small amount of data on each request, and the resident state of mod_perl would avoid most of the overhead involved in the second option (but there still just less than a million requests).
- Don't use HTTP, open a single socket to some server process and do all of the communication through that. This would be the most flexible and powerful option, and would probably be the most efficient. For example, as the applet is writing data to the socket, the server could be reading and processing it at the same time. But this also entails a lot more work.
I definitely won't need an RPC framework (like RMI, CORBA or SOAP). That would be overkill for the kinds of processing I will be doing.
I also have the option of submitting several records in each request. In general, I have complete control over both ends of this.
So, has anyone else had to do something like this? What have you tried? How well has it worked for you?
Thanks for your time,
Ted
Ted Young
($$<<$$=>$$<=>$$<=$$>>$$) always returns 1. :-)In reply to Submitting large data to CGI by TedYoung
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |