Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > d2229253b8f3127ab89b179a82cc8466 > files > 657

libqxt-devel-0.6.1-2.fc15.i686.rpm

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- /builddir/build/BUILD/libqxt/doc/src/pages.qdoc -->
<head>
  <title>Web Service Framework</title>
  <link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" width="32"><a href="http://libqxt.org"><img src="images/qxt-logo.png" width="50" height="40" align="left" border="0" /></a></td>
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="modules.html"><font color="#004faf">Modules</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">Classes</font></a>&nbsp;&middot; <a href="namespaces.html"><font color="#004faf">Namespaces</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">Functions</font></a></td>
<td align="right" valign="top" width="230"></td></tr></table><h1 class="title">Web Service Framework<br /><span class="subtitle"></span>
</h1>
    <p>
    Webkit brings the Web to Qt, and <a href="qxtweb.html">QxtWeb</a>  brings Qt to the web.
    It lets you create web services within the Qt Toolkit. Typicall you'd implement a "Website", but its flexible
    enough to to let you mix websites with other content, other connection protocols, and other clients.
    </p>
    <h3>Sessions</h3>
    <p>
        At first, there is a  QxtAbstractWebSessionManager. Typically you would use a QxtHttpSessionManager which utilizes http cookies,
        but it is entirely possible to use different session techniques.  The session manager starts a session either by just asigning it a number you can later use
        to identify sessions, or by instantiation a session stack (if you set serviceFactory). The former is more like the traditional webapp flow, where a request
        does not leave any traces other then some persisted session data, after it is handled.  The later technique leaves qobjects in the main memory for the time
        of the session. They can handle background tasks for the specific session, and even later notify the session user asyncronously. However, it does come at a cost.
    </p>
    <h3>Connectors. Protocol implementations.</h3>
    <p>
        Qxt can connect your services with a range of protocols. Currently those are <a href="qxthttpserverconnector.html"> Http</a> and <a href="qxtscgiserverconnector.html"> Scgi</a>.  It is not recommended to run the http connector directly as a frontend service on the internet. Instead use it for development, or on embedded devices within a trusted network. Scgi allows easy integration into frontend servers, such as apaches httpd.
    </p>
    <h3>The Services.</h3>
    <p>
        Finally, you will want to implement one or many <a href="qxtabstractwebservice.html"> QxtAbstractWebService</a> which handle the actual requests from clients.
        Your service then receives a pageRequestedEvent, with the request from a client. It responds to it by posting a response via postEvent.
        Note that the default event distribution is single threaded. Blocking a service will block the entire server. However, you will rarely find sitations where you have to block, thanks to Qts excellent asyncronous api. A few convenience implementations are provided, such as <a href="qxtwebservicedirectory.html">qxtwebservicedirectory.html</a>, <a href="qxtwebcgiservice.html">qxtwebcgiservice.html</a>,<a href="qxtwebslotservice.html">qxtwebslotservice.html</a>
    </p>

    <p>See also <a href="qxtweb.html">QxtWeb</a>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
<td align="left">Copyright &copy; 2007-2010
<a href="mailto:foundation@libqxt.org">Qxt Foundation</a></td>
<td align="right"><div align="right">
<a href="http://libqxt.org">Qxt</a> 0.6.1</div></td>
</tr></table></div></address></body>
</html>