please help me enter the modern age
Posted in 2000
I am working on a system that I built many, many years ago, near the beginning of the Web. It used to provide information to people through a BBS (remember those?) linked to 4gl programs that searched an Informix database. When the Web came along, we used 4gl programs as CGI; in other words, when someone filled out a Web form to specify which data they wanted, the Web server would send that information to a Unix shell program, which would start a 4gl program, which would take the user input out of Unix environment variables, then do a sequence of procedural steps to retrieve information from the Informix database and format the information as an HTML file, which it would then present to the user as a Web page through a series of display statements. Clunky, but it worked. Actually it still does work; it's still up and running. Now this is not the way you're supposed to run a modern Web-linked database. The approved current method is to have your Web server directly be the client for the database server and continuously hold open a connection between the two. That avoids all of the overhead, whenever someone wants to search the database, of forking a new Unix process, starting a new copy of 4gl, and making a new connection to the database server. The web server keeps a connection to the db server open at all times through a set of Unix processes and uses threads within these processes to handle different requests. OK, now I'm looking at all of those old 4gl programs. Is there any way for me to incorporate this old work into a new architecture? Does Informix even support this kind of architecture? If I can't use 4gl, what kind of programming language should I use? (It has to be procedural; there's no way I can do the things I need to do with plain SQL.) Is there anything that could be used that's at least similar to 4gl in programming structure? I plan on staying in Unix or Linux, not NT. Can any wise guru out there advise me? I tried to look at the Informix Web page for answers to these questions, but quickly got lost.