Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 992

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head profile="http://internetalchemy.org/2003/02/profile">
  <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" />
  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
  <meta name="dc.title" content="12. Web Application Development" />
  <meta name="dc.subject" content="12. Web Application Development" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" />
  <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="parent" href="webappdevelopment.html" title="Chapter Contents" />
  <link rel="prev" href="repl.html" title="Data Replication, Synchronization and Transformation Services" />
  <link rel="next" href="webserver.html" title="The HTTP Server" />
  <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="doc.css" />
  <link rel="stylesheet" type="text/css" href="/doc/translation.css" />
  <title>12. Web Application Development</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="copyright" content="OpenLink Software, 1999 - 2009" />
  <meta name="keywords" content="" />
  <meta name="GENERATOR" content="OpenLink XSLT Team" />
 </head>
 <body>
  <div id="header">
    <a name="webappdevelopment" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>12. Web Application Development</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="webappdevelopment.html">Chapter Contents</a> | <a class="link" href="replsample.html" title="Replication Logger Sample">Prev</a> | <a class="link" href="webserver.html" title="The HTTP Server">Next</a>
   </div>
  </div>
  <div id="currenttoc">
   <form method="post" action="/doc/adv_search.vspx">
    <div class="search">Keyword Search: <br />
        <input type="text" name="q" /> <input type="submit" name="go" value="Go" />
    </div>
   </form>
   <div>
      <a href="http://www.openlinksw.com/">www.openlinksw.com</a>
   </div>
   <div>
      <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a>
   </div>
    <br />
   <div>
      <a href="index.html">Book Home</a>
   </div>
    <br />
   <div>
      <a href="contents.html">Contents</a>
   </div>
   <div>
      <a href="preface.html">Preface</a>
   </div>
    <br />
   <div>
      <a href="overview.html">Overview</a>
   </div>
   <div>
      <a href="installation.html">Installation Guide</a>
   </div>
   <div>
      <a href="quicktours.html">Quick Start &amp; Tours</a>
   </div>
   <div>
      <a href="sampleapps.html">Sample ODBC &amp; JDBC Applications</a>
   </div>
   <div>
      <a href="concepts.html">Conceptual Overview</a>
   </div>
   <div>
      <a href="server.html">Administration</a>
   </div>
   <div>
      <a href="accessinterfaces.html">Data Access Interfaces</a>
   </div>
   <div>
      <a href="sqlreference.html">SQL Reference</a>
   </div>
   <div>
      <a href="sqlprocedures.html">SQL Procedure Language Guide</a>
   </div>
   <div>
      <a href="hooks.html">Database Event Hooks</a>
   </div>
   <div>
      <a href="repl.html">Data Replication, Synchronization and Transformation Services</a>
   </div>
   <div class="selected">
      <a href="webappdevelopment.html">Web Application Development</a>
    <div>
        <a href="webserver.html" title="The HTTP Server">The HTTP Server</a>
    </div>
    <div>
        <a href="wsacl.html" title="Web Services ACL (Access Control List)">Web Services ACL (Access Control List)</a>
    </div>
    <div>
        <a href="vsp1.html" title="Virtuoso Server Pages (VSP)">Virtuoso Server Pages (VSP)</a>
    </div>
    <div>
        <a href="vspx.html" title="Virtuoso Server Pages for XML (VSPX)">Virtuoso Server Pages for XML (VSPX)</a>
    </div>
    <div>
        <a href="rthwritaspxapps.html" title="Deploying ASP.Net Web Applications">Deploying ASP.Net Web Applications</a>
    </div>
    <div>
        <a href="asmxhosting.html" title="ASMX Web Service Hosting">ASMX Web Service Hosting</a>
    </div>
    <div>
        <a href="blogger.html" title="Blogging &amp; Weblogs">Blogging &amp; Weblogs</a>
    </div>
    <div>
        <a href="servphpext.html" title="Deploying PHP Applications">Deploying PHP Applications</a>
    </div>
    <div>
        <a href="rthjsp.html" title="Deploying JSP Applications">Deploying JSP Applications</a>
    </div>
    <div>
        <a href="perlhosting.html" title="Perl Hosting">Perl Hosting</a>
    </div>
    <div>
        <a href="pythonhosting.html" title="Python Hosting">Python Hosting</a>
    </div>
    <div>
        <a href="rubyhosting.html" title="Ruby Hosting">Ruby Hosting</a>
    </div>
   </div>
   <div>
      <a href="webandxml.html">XML Support</a>
   </div>
   <div>
      <a href="rdfandsparql.html">RDF Data Access and Data Management</a>
   </div>
   <div>
      <a href="webservices.html">Web Services</a>
   </div>
   <div>
      <a href="runtimehosting.html">Runtime Hosting</a>
   </div>
   <div>
      <a href="internetservices.html">Internet Services</a>
   </div>
   <div>
      <a href="freetext.html">Free Text Search</a>
   </div>
   <div>
      <a href="tpcc.html">TPC C Benchmark Kit</a>
   </div>
   <div>
      <a href="xa.html">Using Virtuoso with Tuxedo</a>
   </div>
   <div>
      <a href="appendixa.html">Appendix</a>
   </div>
   <div>
      <a href="functions.html">Virtuoso Functions Guide</a>
   </div>
    <br />
  </div>
  <div id="text">
   <div class="abstract">
      <h2>Abstract</h2>
      <p>This chapter deals with the Virtuoso HTTP Server, its Dynamic Page 
 generation and components used to configure it.  The HTTP Servers features 
 include:</p>
    <ul>
        <li>Web server configuration and access control.</li>
        <li>Multihosting, Virtual Hosting and Virtual Directories - A single Virtuoso 
  server can map requests into multiple spaces of web pages based on the 
  interface to which the requests come (multihosting) or on the Host 
  HTTP/1.1 header (virtual hosting).</li>
        <li>HTTP/1.0 and HTTP/1.1 support, keep alive connections and pipelining.</li>
        <li>Proxying - Virtuoso can automatically redirect requests to certain 
  resources or directories to another web server.</li>
        <li>Authentication and security - Specific directories can be made to 
  require authentication (basic or digest) or may be restricted to SSL only.  
  Authentication can also be totally user defined.</li>
        <li>SOAP - given directories can be defined as containing SOAP services, 
  which can be accessed by SOAP clients, invoking Virtuoso stored procedures.</li>
        <li>Dynamic content - Given paths can be executable, allowing 
  defining VSP, and VSPX pages that generate HTML or XML using embedded 
  Virtuoso/PL.</li>
        <li>WebDAV - Paths can be mapped into DAV collections maintained inside  
  the database.  Virtuoso WebDav is a Unix file system-like mechanism allows 
  specifying access rights and ownership of DAV resources.</li>
        <li>WebDAV resources may optionally be indexed in a free text index.</li>
        <li>A web robot allows copying external web resources into Virtuoso WebDAV.</li>
    </ul>
   </div>
    <h2>Table of Contents</h2>
   <div class="minitoc">
    <div>
        <a class="sect1" href="webserver.html">12.1. The HTTP Server</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#vspconf">12.1.2. HTTP Server Base Configuration</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#virtdir">12.1.3. Virtual Directories</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#wsauth">12.1.4. Authentication</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#wssessman">12.1.5. Session Management</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#customauthsess">12.1.6. Writing Your Own Authentication and Session Handling</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#cancelwebreq">12.1.7. Cancellation of Web Requests</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#virtwebrobot">12.1.8. Virtuoso WebRobot API</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#server_http_ext">12.1.9. HTTP Server Extensions</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#webserverchunking">12.1.10. Chunked Transfer Encoding</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#webserverviaapache">12.1.11. Using Virtuoso Server capabilities via Apache Web Server</a>
    </div>
    <div>
        <a class="sect2" href="webserver.html#webserverhttpslistenerset">12.1.12. Setting Up the Virtuoso HTTPS Listener</a>
    </div>
    <div>
        <a class="sect1" href="wsacl.html">12.2. Web Services ACL (Access Control List)</a>
    </div>
    <div>
        <a class="sect2" href="wsacl.html#wsaclgenpurpacl">12.2.1. General purpose ACLs</a>
    </div>
    <div>
        <a class="sect2" href="wsacl.html#wsacldefrem">12.2.2. ACL Definition/Removal</a>
    </div>
    <div>
        <a class="sect2" href="wsacl.html#wsaclusing">12.2.3. Using ACL&#39;s Within Application Logic</a>
    </div>
    <div>
        <a class="sect2" href="wsacl.html#wsaclpredefined">12.2.4. Predefined ACLs</a>
    </div>
    <div>
        <a class="sect1" href="vsp1.html">12.3. Virtuoso Server Pages (VSP)</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#vspmarkup">12.3.2. VSP Markup &amp; Basic Functions</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#accessrequestinfo">12.3.3. Access Request Information</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#errorsinpage">12.3.4. Errors in Page Procedures</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#inlinefile">12.3.5. /INLINEFILE HTTP Server Pseudo-Directory</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#furthervsp">12.3.6. Beyond Basics</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#longhttptrans">12.3.7. Long HTTP Transactions</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#httpchunkedoutput">12.3.8. Using chunked encoding in HTTP 1.1</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#mksimpledynapages">12.3.9. Making Simple Dynamic Web Pages</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#xmlthtmloutmd">12.3.10. Generation of non-HTML output</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#xmlthtmloutmd">12.3.11. Post VSP XSLT Transformation Mode</a>
    </div>
    <div>
        <a class="sect2" href="vsp1.html#xmlforproducingvsp">12.3.12. XML &amp; XSLT Generated VSP Pages</a>
    </div>
    <div>
        <a class="sect1" href="vspx.html">12.4. Virtuoso Server Pages for XML (VSPX)</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxprocmodel">12.4.1. Processing Model</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxobjectmodel">12.4.2. Object Model</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxpageandsessionstate">12.4.3. Keeping Page and Session State</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxappcode">12.4.4. Application Code</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxexamples">12.4.5. A Simple Example</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxeventpars">12.4.6. VSPX Event Handler Parameters</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxeventhandlers">12.4.7. Registering a VSPX Event Callbacks</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspx_attr_types">12.4.8. Commonly Used Types of Attributes of VSPX Controls</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspx_controls">12.4.9. VSPX Controls</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxxforms">12.4.10. XForms rendering</a>
    </div>
    <div>
        <a class="sect2" href="vspx.html#vspxschema">12.4.11. XMLSchema for VSPX page</a>
    </div>
    <div>
        <a class="sect1" href="rthwritaspxapps.html">12.5. Deploying ASP.Net Web Applications</a>
    </div>
    <div>
        <a class="sect2" href="rthwritaspxapps.html#rthprogramming">12.5.2. Programming Concepts</a>
    </div>
    <div>
        <a class="sect2" href="rthwritaspxapps.html#rthasp.netdeploymentconf">12.5.3. ASP.Net Deployment &amp; Configuration</a>
    </div>
    <div>
        <a class="sect2" href="rthwritaspxapps.html#rthaspvsmono">12.5.4. The Mono Project</a>
    </div>
    <div>
        <a class="sect2" href="rthwritaspxapps.html#rthaspxwalk">12.5.5. Migrating ASP.Net Applications to Virtuoso</a>
    </div>
    <div>
        <a class="sect1" href="asmxhosting.html">12.6. ASMX Web Service Hosting</a>
    </div>
    <div>
        <a class="sect1" href="blogger.html">12.7. Blogging &amp; Weblogs</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blogvirtblogapp">12.7.1. The Virtuoso Blogging Application</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggerclientcompatibility">12.7.2. Blogger Clients Compatibility</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggermanagementui">12.7.3. Blogs Management User Interface</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blogcommunityblog">12.7.4. Community Blog Site</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggerapi">12.7.5. Blogger API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggermetaweblog">12.7.6. MetaWeblog API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggermovabletype">12.7.7. Movable Type API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blogatomapi">12.7.8. Atom API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggerendpointconf">12.7.9. XML-RPC Endpoint Configuration</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggerhooks">12.7.10. Blog Hooks - Customizing the Blog Server</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#bloggerclientapi">12.7.11. Blogger Client API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.12. xmlStorageSystem API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.13. User&#39;s Blog quota</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.14. Posting a message in to the Blog</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.15. Multi-author blogging</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.16. Posting a comments</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.17. Blog Post Upstreaming (bridging)</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.18. Weblogs API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.19. Subscriptions</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.20. Trackback API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.21. Pingback API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.22. E-mail Notifications</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blognotifcomments">12.7.23. Comments tracking options</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#xmlstoragesystem">12.7.24. Subscription Harmonizer API</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#moblog">12.7.25. Mobile Blogging (Moblog)</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blogxmltemplate">12.7.26. Posting a dynamic content</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blognotifservices">12.7.27. Notification Services</a>
    </div>
    <div>
        <a class="sect2" href="blogger.html#blogwaprender">12.7.28. Rendering the RSS feed in WML format</a>
    </div>
    <div>
        <a class="sect1" href="servphpext.html">12.8. Deploying PHP Applications</a>
    </div>
    <div>
        <a class="sect2" href="servphpext.html#serverphpbuild">12.8.2. Building the Virtuoso Server With PHP Extension</a>
    </div>
    <div>
        <a class="sect2" href="servphpext.html#serverphpinc">12.8.3. PHP Extension Functions</a>
    </div>
    <div>
        <a class="sect2" href="servphpext.html#serverphpexamples">12.8.4. PHP Examples</a>
    </div>
    <div>
        <a class="sect1" href="rthjsp.html">12.9. Deploying JSP Applications</a>
    </div>
    <div>
        <a class="sect2" href="rthjsp.html#rthjspprelim">12.9.2. Environment Setup &amp; Verification</a>
    </div>
    <div>
        <a class="sect1" href="perlhosting.html">12.10. Perl Hosting</a>
    </div>
    <div>
        <a class="sect1" href="pythonhosting.html">12.11. Python Hosting</a>
    </div>
    <div>
        <a class="sect1" href="rubyhosting.html">12.12. Ruby Hosting</a>
    </div>
   </div>
    <br />
    <p>Virtuoso provides a full function web server with dynamic web page
  generation capability using SQL procedures embedded in HTML or XML via VSP or 
  VSPX.  Runtime hosting allows Virtuoso to generate dynamic web pages from 
  other sources also, such as ASP.Net, PHP or JSP.  </p>
    <p>Out-of-the-box Virtuoso listens for HTTP requests on the port defined 
  in the HTTP Server section of the Virtuoso INI file.  The Visual Server 
  Administration Interface is available at this port and can be used to further 
  configure the web server.</p>
    <p>Web resources can be based on the file system, reside in the database or 
  in WebDAV or any combination of all of them.  WebDAV space can be specified 
  at the path level, by default, paths beginning with /DAV are mapped to the 
  WebDAV root collection (directory) and all other paths are assumed to be file 
  system based.  By default / is mapped to the directory specified as ServerRoot in 
  the HTTP Server section of the virtuoso.ini file.</p>
    <p>Virtual Directories provide a way to make mappings from paths to other 
  resources such as specific file system or WebDAV locations, other HTTP Servers 
  acting as a proxy or to alter specific processing or authentication rules for a 
  directory.</p>
   <table border="0" width="90%" id="navbarbottom">
    <tr>
        <td align="left" width="33%">
          <a href="replsample.html" title="Replication Logger Sample">Previous</a>
          <br />Replication Logger Sample</td>
     <td align="center" width="34%">
          <a href="webappdevelopment.html">Chapter Contents</a>
     </td>
        <td align="right" width="33%">
          <a href="webserver.html" title="The HTTP Server">Next</a>
          <br />The HTTP Server</td>
    </tr>
   </table>
  </div>
  <div id="footer">
    <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div>
   <div id="validation">
    <a href="http://validator.w3.org/check/referer">
        <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
    </a>
    <a href="http://jigsaw.w3.org/css-validator/">
        <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" />
    </a>
   </div>
  </div>
 </body>
</html>