<div class="gmail_quote">On Fri, May 7, 2010 at 5:06 AM, Michael Schnell <span dir="ltr"><<a href="mailto:mschnell@lumino.de">mschnell@lumino.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">> - Non persistent safe CGI,<br>
</div>AKA doing a Command Line tool: Hard to debug with Lazarus.<br></blockquote><div>Done this and works well in Delphi at work using PWU and custom HTML templates and handwritten JavaScript (nice language for client side), persistence is implemented using JSON as it's a common web format and our app is quite interactive, i found a way to debug this using breakpoints in Delphi doing a loop that is forced at the beginning and i change a variable using the debugger after "Attach to process", not optimal but it works just like services only for each user click you do this again, the debugger could be detected on Windows instead of changing the variable, also done this in Lazarus at home for a smaller project, logging was all i needed for the smaller project.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">> - Persistent building a module/plugin (not safe), or using FastCGI,<br>
> SCGI or a small HTTP server behind a bigger one,<br>
</div>A built-in HTTP server is nice for testing (EXTP provides this).<br></blockquote><div>I don't mean building a full HTTP server just a "thin"  HTTP server that serves the application page not the resources, more like a HTTP service just like FastCGI but without the extra complexities of FastCGI, do you really need FastCGI's authentication system ?</div>
<div>I think there is a healthy modproxy for doing this in Apache to link with your tiny app server.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

FastCGI (communicating with pipes or TCPIP sockets with the WebServer)<br>
of course is the most "Linux standard" ways<br></blockquote><div>It is OK but it is blamed for not having a updated Apache module.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I don't know about SCGI.<br></blockquote><div>Just like FastCGI but claims to be simpler.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
With Windows/IIS you additional have ISAPI. Here the SCI-program needs<br>
to be a DLL.<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
A colleague of mine did the ISAPI thing with Delphi, doing just a<br>
miniature DLL that communicates with some message system with a free<br>
running program that does the real work. Now this program can be<br>
debugged in the normal way. Something like this can be used to convert<br>
ISAPI or standard CGI to FastCGI.<br>
<div class="im"><br></div></blockquote><div> Writing DLLs is ok for if you don't do anything except forwarding but you need to build them for every destination OS, 32/64 and each server you are planning to support, wouldn't just be simpler to build the HTTP service behind the real HTTP server and just run that, i understand that many Java apps do this. </div>
<div><br></div><div>Razvan</div></div>