That would ne a very interesting architecture Martin.<div>Each Service would manage its on requirements, for example its own internal bindings to Python or whatever.</div><div>I'm not sure about the "fastgi nature" of the services. The server has a an fcgi interface, ok, but the services should be indipendent from this specific interface. The Server could be deployed in a different fashion, but the services should ignore this.</div>
<div><br></div><div>giovanni<br><br><div class="gmail_quote">2011/10/19 Martin Dobias <span dir="ltr"><<a href="mailto:wonder.sk@gmail.com">wonder.sk@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Giovanni and Radim<br>
<div class="im"><br>
On Wed, Oct 19, 2011 at 12:24 PM, G. Allegri <<a href="mailto:giohappy@gmail.com">giohappy@gmail.com</a>> wrote:<br>
> I was thinking to both the ways:<br>
> - expose geoprocessing directly through QGIS MS (either C++ plugins or<br>
> Python plugins)<br>
> - provide a Python mapscripting for QGIS MS (as you're saying)<br>
> I think the two ways are complementary.<br>
> The latter would let you "control" QGIS MS, and proxy requests, exactly the<br>
> same as Mapserver/Mapscript.<br>
> The first one would let you also expose code written for QGis Desktop. For<br>
> example, you could expose the features provided by the Processing Framework<br>
> (OTB, SAGA, etc.), or the code inside QGis Analysis.<br>
<br>
</div>A nice low-level solution would be to introduce a new class to<br>
qgis_core library that would take care of fastcgi functionality (e.g.<br>
QgsFastCgiServer) and an abstract interface for web-based services<br>
(e.g. QgsFastCgiService) for communication between the fastcgi server<br>
and the concrete service. One or more services could be registered to<br>
the fastcgi server and it would redirect the request to the services.<br>
Our WMS server would be therefore become a service running on top of<br>
QgsFastCgiServer, the mapserver executable would just create fastcgi<br>
server instance, add WMS service and start the server.<br>
<br>
With QgsFastCgiServer developers could implement basically any<br>
functionality they want. A simple WPS service could be built on top of<br>
the processing framework. Or a service that first does some<br>
processing, then renders the map and returns it (this would be the<br>
MapScript equivalent, right?)<br>
<br>
To use python we would need python wrapper of the server and service<br>
classes, something that could be done very easily.<br>
<br>
The WMS service could be probably made extensible, too, but the number<br>
of possible use cases would be probably smaller in order to stay<br>
compatible with WMS standard.<br>
<br>
Regards<br>
<font color="#888888">Martin<br>
</font></blockquote></div><br></div>