As you surely know, I've was experimenting with Harbour web apps, and most of the work was done using Harbour uhttpd web server.
This is the last version:
viewtopic.php?f=2&t=3256
It performs very well, excepting when you need some non-standard library be used on .hrb modules.
I had no solution for that, until I've found an interesting document from Alexander Kresin:
http://www.kresin.ru/en/hrbfaq_3.html#Doc6
The most important thing there for us, is the following:
Meaning...It is needed to ensure that the application has been built with all of the functions which can be called from .hrb, otherwise the program might fall out while runtime. The best way is to put in your program
REQUEST <имя_функции>
You can #include "hbextern.ch" - it contains the REQUEST's to all Harbour functions. The size of the program will, of course, increase at the end, but you will have a guarantee that all functions are enabled.
That uhttpd must be rebuilt with all libraries that you plan to use in your .hrb modules.
Solving this problem,uhttpd could be (must to be tested) a good option over CGI again, because:
1. uhttpd can be compiled on Linux to create a true Linux executable, then you can run it on any virtual server (in the case that you do not be able (or want) to host the server 'in-house').
2. .hrb modules are portable across operating systems, so, you could compile and test on windows and when ready, simply copy the .hrb modules to a Linux server.
I'll try to find some spare time in the next days to make tests regarding this, moreover, if someone is interested and do some testing, please, let me know your results.
Stay tuned...