<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
  <head>
    <title>NeoWebScript</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>

    <table align="center" width="63%" border="0">
	<tr>

	  <td align="center" valign="top">
	    <h1 style="padding: .3em;">

	      NeoWebScript

	    </h1>
	  </td>
	</tr>
    </table>
    <hr>

    <table width="75%" border="0">
	<tr>

	  <td bgcolor="#cccccc" width="20%" valign="top" align="left">
	    <b>
	      <a href="../">Apache Tcl Home</a><br></br>
	    <hr></hr>
	    <a href=".">Home</a><br></br>
	    <a href="about.html">About</a><br></br>
	    <a href="http://nws.sourceforge.net/">Website</a><br></br>
	    <a href="http://sourceforge.net/projects/nws/">SF Project</a><br></br>
	  </td>

	  <td valign="top">

	    <p>
	      Using NeoWebScript, you can create web applications of enormous power
	      and flexibility.  You can create interfaces between sophisticated webpages
	      developed with cutting edge design tools and backend applications,
	      including Oracle and Postgres, among many others.
	    </p><p>
	      NeoWebScript is a plug-in module for the Apache webserver.
	    </p><p>
	      Once you install it, the webserver will execute the NeoWebScript code
	      contained in a webpage each time it is requested.
	    </p><p>
	      You can make your webpages customize themselves in response to user input,
	      database lookups, etc., creating a unique Internet experience.
	    </p><p>
	      As such, it can be used on any of the tens of millions of Apache servers
	      on the Internet.
	    </p><p>
	      NeoWebScript uses the Tool command language (Tcl) as its programming
	      language, allowing you to leverage hundreds of third party Tcl extensions.
	    </p><p>
	      NeoWebScript-enabled pages run with much less overhead than CGI programs.
	      Also, since NeoWebScript scripts are embedded into webpages, the static
	      content of the webpage can be designed and created with webpage creation
	      tools, rather than having to be output by the program like CGI does.
	    </p><p>
	      Web hosters and ISPs love NeoWebScript, because its default security settings
	      allow their customers to write programs without giving them full shell access,
	      the ability to run arbitrary programs and inspect arbitrary files on the system.
	    </p>

	    <p align="center">
	      <a href="http://www.apache.org/"><img src="../apache_pb.gif"
		  alt="Powered by Apache" border="0"
		  width="259"
		  height="32"></a>
	    </p>
	    
	  </td>
	</tr>
    </table>
  </body>
</html>
