<html>
<head>
<title>Introduction</title>
<meta name="keywords" content="">
</head>

<body bgcolor=#113377 text=#000000 vlink=#551a8b alink=#00c0ff link=#0000ee>




















































<table width=100% border=0>
<tr>
  <td valign=top>
  <table width=100% cellpadding=5 cellspacing=0 border=0>
    <tr><td bgcolor=white align=center>
       <img alt="" height=40 src="../../img/logga.gif" border=0 width=102>
    </td></tr>
    <tr><td valign=top>
      <img src=internal-roxen-unit width=1 height=3 alt="">
    </td></tr>
    <tr valign=top>
      <td bgcolor=white>




        <table cellpadding=0 cellspacing=0 border=0>
          
       <!--a1  Introduction manual.tmpl-->
    
            <tr><td><a href="index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="index.html"><if match="selected is selected"
		  ><b>Introduction</b></if
		><else>Introduction</else></a></td>
	    </tr>
    
          
	</table>
	
        <table cellpadding=0 cellspacing=0 border=0>
	  
      <!--b1  -->
    
	    <tr><td>&nbsp;&nbsp;<a href="pike.html"><img border=0 src="../../img/page.gif"></a>&nbsp;</td>
	      <td><a href="pike.html"><if match="selected is "
		  ><if match="manual.tmpl is tag.tmpl"
		    ><b>&lt;Pike&gt;</b></if
		  ><else><b>Pike</b></else></if
		><else
		  ><if match="manual.tmpl is tag.tmpl"
		    >&lt;Pike&gt;</if
		  ><else>Pike</else></else></a></td>
	    </tr>
    
	  
      <!--b1  -->
    
	    <tr><td>&nbsp;&nbsp;<a href="rxml.html"><img border=0 src="../../img/page.gif"></a>&nbsp;</td>
	      <td><a href="rxml.html"><if match="selected is "
		  ><if match="manual.tmpl is tag.tmpl"
		    ><b>&lt;RXML&gt;</b></if
		  ><else><b>RXML</b></else></if
		><else
		  ><if match="manual.tmpl is tag.tmpl"
		    >&lt;RXML&gt;</if
		  ><else>RXML</else></else></a></td>
	    </tr>
    
	  
      <!--b1  -->
    
	    <tr><td>&nbsp;&nbsp;<a href="cgi.html"><img border=0 src="../../img/page.gif"></a>&nbsp;</td>
	      <td><a href="cgi.html"><if match="selected is "
		  ><if match="manual.tmpl is tag.tmpl"
		    ><b>&lt;CGI and SSI&gt;</b></if
		  ><else><b>CGI and SSI</b></else></if
		><else
		  ><if match="manual.tmpl is tag.tmpl"
		    >&lt;CGI and SSI&gt;</if
		  ><else>CGI and SSI</else></else></a></td>
	    </tr>
    
	  
      <!--b1  -->
    
	    <tr><td>&nbsp;&nbsp;<a href="java.html"><img border=0 src="../../img/page.gif"></a>&nbsp;</td>
	      <td><a href="java.html"><if match="selected is "
		  ><if match="manual.tmpl is tag.tmpl"
		    ><b>&lt;Java&gt;</b></if
		  ><else><b>Java</b></else></if
		><else
		  ><if match="manual.tmpl is tag.tmpl"
		    >&lt;Java&gt;</if
		  ><else>Java</else></else></a></td>
	    </tr>
    
	  
        </table>

        <table cellpadding=0 cellspacing=0 border=0>
          
      <!--c1  -->
    
            <tr><td><a href="../cgi/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../cgi/index.html"><if match="selected is "
		  ><b>CGI and SSI</b></if><else>CGI and SSI</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../pike-tag/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../pike-tag/index.html"><if match="selected is "
		  ><b>&lt;pike&gt; tag</b></if><else>&lt;pike&gt; tag</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../pike-scripts/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../pike-scripts/index.html"><if match="selected is "
		  ><b>Pike script</b></if><else>Pike script</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../modules/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../modules/index.html"><if match="selected is "
		  ><b>Modules</b></if><else>Modules</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../tag-modules/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../tag-modules/index.html"><if match="selected is "
		  ><b>Parser modules</b></if><else>Parser modules</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../location-modules/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../location-modules/index.html"><if match="selected is "
		  ><b>Location modules</b></if><else>Location modules</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../other-modules/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../other-modules/index.html"><if match="selected is "
		  ><b>Other module types</b></if><else>Other module types</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../id/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../id/index.html"><if match="selected is "
		  ><b>Request information object</b></if><else>Request information object</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../responses/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../responses/index.html"><if match="selected is "
		  ><b>Responses</b></if><else>Responses</else></a></td>
	    </tr>
    
          
      <!--c1  -->
    
            <tr><td><a href="../library-methods/index.html"><img border=0 src="../../img/chapter.gif"></a>&nbsp;</td>
	      <td><a href="../library-methods/index.html"><if match="selected is "
		  ><b>Library methods</b></if><else>Library methods</else></a></td>
	    </tr>
    
          
	</table>

      </td>
    </tr>
    <tr><td height=100%>&nbsp;</td></tr>
  </table>
  </td>
  <td>
    <img src=internal-roxen-unit width=3 height=1 alt="">
  </td>

  <td valign=top>
    <table cellspacing=0 cellpadding=5 width=100% height=100% border=0>
    <tr>
      <td bgcolor=white>
       <b><font size=+2>Introduction</font></b>

	<p>When creating web applications the web browser and web server provides
a framework for the application. Development becomes a lot easier than
creating client based GUI applications, since the programmer can take
advantage of this framework. Any web application becomes truly
platform independent, it can be accessed from any computer or
appliance containing a web browser.

<p>The web gives the programmer freedom to choose any programming
language and environment. To the end user the application appears as a
web page, what lies behind the scenes doesn't matter. This freedom
means that almost every existing programming language have been used to
make web applications, and that some scripting languages has been
invented for the sole purpose of making web applications.

<p>Roxen Challenger is of course an example of this, being written in
Pike. Challenger is written to be extended, the modules that make up
Challenger do not differ from modules made by third parties. But
Challenger is not limited to be extended by modules; it supports
standards like CGI and Java Servlets, to ensure that the programmer
can chose the most suitable programming environment.

<p>In fact Challenger makes it possible to integrate applications
written in several languages and environments. Its own scripting
language, RXML, is designed to make it possible to combine output from
several applications or databases on each HTML page.

<p>This programmers manual will describe the different ways to make
web applications, and how they can be integrated to take full
advantage of the power of Challenger.

<dl>
<dt><b>Introduction</b><dd>



This introduction chapter.



<dt><b><a href="../cgi/index.html">CGI and SSI</a></b><dd>


How to use the CGI and SSI standards with Challenger.





<dt><b><a href="../pike-tag/index.html">Pike Tag</a></b><dd>


How to use the <tt>&lt;pike&gt;</tt> tag, writing code directly in the web
pages. 



<dt><b><a href="../pike-scripts/index.html">Pike scripts</a></b><dd>


How to use Pike scripts.



<dt><b><a href="../modules/index.html">Modules</a></b><dd>


How to write Challenger specific modules.



<dt><b><a href="../tag-modules/index.html">Tag modules</a></b><dd>


How to write modules that create their own RXML tags.



<dt><b><a href="../location-modules/index.html">Location modules</a></b><dd>


How to write location modules, such as file systems.



<dt><b><a href="../other-modules/index.html">Other modules</a></b><dd>


How to write other types of modules.



<dt><b><a href="../id/index.html">ID Object</a></b><dd>


Information about the request id object. 



<dt><b><a href="../responses/index.html">Responses</a></b><dd>


What responses can be sent from a module.



<dt><b><a href="../library-methods/index.html">Library Methods</a></b><dd>


Library Methods available within Challenger.



<dt><b><a href="../databases/index.html">Databases</a></b><dd>


How to connect to and use databases.



  





<dt><b><a href="../appendix/index.html">Appendix</a></b><dd>


</dl>


      </td>
    </tr>
    </table>
  </td>
</tr>
<tr>
</table>
</body>
</html>
