Changes between Version 25 and Version 26 of ZooKernel
- Timestamp:
- Apr 13, 2010, 3:53:03 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ZooKernel
v25 v26 13 13 14 14 * [http://www.fastcgi.com/drupal/node/5 FastCGI] (installed in /path/to/trunk/dist/, using --prefix=/path/to/trunk/dist configure option), 15 * [ http://dev.cartography.st/zoo-project/changeset/15 cgic] (same, use just {{{make}}} from the {{{/path/to/trunk/../third/cgic/}}} ) .15 * [changeset:15 cgic] (same, use just {{{make}}} from the {{{/path/to/trunk/../third/cgic/}}} ) . 16 16 * [http://www.xmlsoft.org/index.html libxml2], 17 17 * [http://curl.haxx.se/ cURL], … … 36 36 }}} 37 37 38 Now, you get the ZooKernel (Shell and Cgi version) and two "service providers" of different kind : {{{demo_service.zo}}} (C++) and {{{test_service.py}}} (Python) .38 Now, you get the ZooKernel (Shell and Cgi version) and two "service providers" of different kind : {{{demo_service.zo}}} (C++) and {{{test_service.py}}} (Python), now use them together. 39 39 40 40 ==== Using the code ==== … … 54 54 }}} 55 55 56 Using ZOO Kernel from the command line is very usefull in development phase, this way you don't have to publish a not working ZOO Service Provider to test and check your service. It can be also useful for ZOO Kernel debuging purpose. 57 56 58 ===== From an apache web server ===== 57 59 … … 62 64 #!sh 63 65 cp /path/to/trunk/zoo-kernel/zoo_loader.cgi /var/www/localhost/cgi-bin 64 cp /path/to/trunk/zoo- kernel/demo_service.zo /var/www/localhost/cgi-bin/test_service.zo65 cp /path/to/trunk/zoo- kernel/*zcfg /var/www/localhost/cgi-bin66 cp /path/to/trunk/zoo-services/demo/demo_service.zo /var/www/localhost/cgi-bin/test_service.zo 67 cp /path/to/trunk/zoo-services/*/cgi-bin/*zcfg /var/www/localhost/cgi-bin 66 68 cp /path/to/trunk/zoo-kernel/*cfg /var/www/localhost/cgi-bin 67 69 }}} 68 70 69 Create a file {{{.htaccess}}} in a zoo directory from the directory index of your apache instalaltion.71 Create a file called {{{.htaccess}}} in a zoo directory from the directory index of your apache instalaltion. 70 72 {{{ 71 73 #!sh … … 86 88 You could also see the Cgi Version from [http://shilpa.media.osaka-cu.ac.jp/zoo/?Service=WPS&request=GetCapabilities&Version=1.0.0 Shilpa !] 87 89 88 Some samples requests running on the Shilpa server (using KVP only) :90 Some samples requests running on the Shilpa server (using KVP requests) : 89 91 * DescribeProcess samples : 90 92 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?Service=WPS&Request=DescribeProcess&Version=1.0.0&Language=en-CA&Identifier=Buffer Buffer] … … 95 97 * Execute samples : 96 98 * Arithmetics Service Provider : 97 * [http://shilpa.media.osaka-cu.ac.jp/zoo/arithmetics/wps/?request=Execute&service=WPS&version=1.0.0&language=en-CA&Identifier=Multiply&DataInputs=A=12@datatype=integer @uom=meter;B=10@datatype=integer@uom=meter&ResponseDocument=BufferedPolygon&StoreExecuteResponse=trueExecute Sample for Multiply Identifier].99 * [http://shilpa.media.osaka-cu.ac.jp/zoo/arithmetics/wps/?request=Execute&service=WPS&version=1.0.0&language=en-CA&Identifier=Multiply&DataInputs=A=12@datatype=integer;B=10@datatype=integer&ResponseDocument=Result Execute Sample for Multiply Identifier]. 98 100 * Basic GDAL Service Provider : 99 101 * [http://shilpa.media.osaka-cu.ac.jp/zoo/driftx/wps/?request=Execute&service=WPS&version=1.0.0&language=en-CA&Identifier=Gdal_Translate&DataInputs=Format=AAIGrid@datatype=string;InputDSN=srtm_kashiwara@datatype=string;OutputDSN=demo007@datatype=string Using Gdal_Translate to convert a GeoTiff datasource to an AAIGrid datasource]. … … 102 104 * [http://shilpa.media.osaka-cu.ac.jp/zoo/driftx/wps/?request=Execute&service=WPS&version=1.0.0&language=en-CA&Identifier=Gdal_Translate&DataInputs=Format=GIF@datatype=string;InputDSN=srtm_kashiwara@datatype=string;OutputDSN=srtm_kashiwara_output6@datatype=string;ProjWin=135.6212504,34.5820833,135.6679170,34.5670833,urn:ogc:def:crs:EPSG:6.6:4326,2;demo=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1 Use a WFS Request as an xlink:href valur] [http://carto.languedoc-roussillon.ecologie.gouv.fr/webservices/wfs/diren_general/?VERSION=1.1.0&service=WFS&request=GetFeature&typename=Znieff1&maxfeatures=1 (the WFS request used)]. See [wiki:ApacheErrorLog here] to see maps data structure extracted from the apache error log correspoding to this request) 103 105 * Basic OGR Service : 104 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=A=10@datatype=interger;BufferDistance=100@datatype=interger@uom=meter;InputPolygon=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1 The WKS (Well Known Service :) ) Buffer Operation] using a xlink:href WFS query URL-Encoded as a DataInputs value 106 * The WKS (Well Known Service :) ) Buffer Operation : 107 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=100@datatype=interger@uom=meter;InputPolygon=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1&ResponseDocument=BufferedPolygon Sample using ResponseDocument] using a xlink:href [http://carto.languedoc-roussillon.ecologie.gouv.fr/webservices/wfs/diren_general/?VERSION=1.1.0&service=WFS&request=GetFeature&typename=Znieff1&maxfeatures=1 WFS query] URL-Encoded as a DataInputs value 108 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=InputPolygon=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1;BufferDistance=100@datatype=interger@uom=meter&ResponseDocument=BufferedPolygon&Lineage=true Same sample using lineage] (usefull to display the data). 109 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=100@datatype=interger@uom=meter;InputPolygon=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1&RawDataOutput=BufferedPolygon Sample using RawDataOutput] using a xlink:href the same WFS query URL-Encoded as a DataInputs value than the first one 105 110 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=Distance&DataInputs=InputEntity1=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1;InputEntity2=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff2%26maxfeatures%3D1 Distance] 106 111 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=GetArea&DataInputs=InputEntity1=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1;BufferDistance=100@datatype=interger@uom=meter GetArea] … … 108 113 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=Boundary&DataInputs=InputPolygon=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1;BufferDistance=100@datatype=interger@uom=meter Boundary] 109 114 * Python samples : 110 * [http://shilpa.media.osaka-cu.ac.jp/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=HelloPy&DataInputs=InputPolygon=Reference@xlink:href=http%3A%2F%2Fcarto.languedoc-roussillon.ecologie.gouv.fr%2Fwebservices%2Fwfs%2Fdiren_general%2F%3FVERSION%3D1.1.0%26service%3DWFS%26request%3DGetFeature%26typename%3DZnieff1%26maxfeatures%3D1;BufferDistance=100@datatype=interger@uom=meter&ResponseDocument=BufferedPolygon HelloPy] 111 112 Some sample (using POST XML requests), to use those examples you will have to put the following XML documents in the textare on [http://shilpa.media.osaka-cu.ac.jp/demo/test_services_post.html this page], then press "run using XML Request" to see the ZooKernel process your query : 115 * [http://demo.zoo-project.org/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=HelloPy&DataInputs=a=Your%20Name%20Here@datatype=string HelloPy] 116 * Java samples : 117 * [http://demo.zoo-project.org/zoo/wps/?request=Execute&service=WPS&version=1.0.0&language=en-CA&Identifier=HelloWorldJava&DataInputs=S=Venkatesh%20Raghavan@datatype=string&ResponseDocument=Result HelloWorldJava] 118 * Fortran samples : 119 * [http://demo.zoo-project.org/zoo/?request=Execute&service=WPS&version=1.0.0&Identifier=hellof&DataInputs=S=Your%20Name%20Here@datatype=string hellof] 120 121 Some sample (using POST XML requests), to use those examples you will have to put the following XML documents in the textare on [http://shilpa.media.osaka-cu.ac.jp/demo/test_services_post1.html this page], then press "run using XML Request" to see the ZooKernel process your query : 122 * A simple GetCapabilities request : 123 {{{ 124 #!xml 125 <wps:GetCapabilities xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 ../wpsGetCapabilities_request.xsd" language="en-CA" service="WPS"> 126 <wps:AcceptVersions> 127 <ows:Version>1.0.0</ows:Version> 128 </wps:AcceptVersions> 129 </wps:GetCapabilities> 130 }}} 113 131 * A simple DescribeProcess request : 114 132 {{{ … … 141 159 </wps:DataInputs> 142 160 <wps:ResponseForm> 143 <wps:ResponseDocument storeExecuteResponse="true">144 <wps:Output asReference="true">161 <wps:ResponseDocument> 162 <wps:Output> 145 163 <ows:Identifier>BufferedPolygon</ows:Identifier> 146 164 <ows:Title>Area serviced by playground.</ows:Title> … … 179 197 }}} 180 198 181 No sample using the GetCapabilities request, only because we get issue in another level for GetCapabilities request, even the KVP is not working for every ServiceProvider. 199 * A sample using two different kind of entities (GML reference and JSON String) : 200 {{{ 201 #!xml 202 <wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 203 ../wpsExecute_request.xsd"> 204 <ows:Identifier>Union</ows:Identifier> 205 <wps:DataInputs> 206 <wps:Input> 207 <ows:Identifier>InputEntity1</ows:Identifier> 208 <wps:Reference xlink:href="http://carto.languedoc-roussillon.ecologie.gouv.fr/webservices/wfs/diren_general/?VERSION=1.1.0&service=WFS&request=GetFeature&typename=Znieff1&maxfeatures=1"/> 209 </wps:Input> 210 <wps:Input> 211 <ows:Identifier>InputEntity2</ows:Identifier> 212 <wps:Data> 213 <wps:ComplexData mimeType="application/json"> 214 {"type":"Polygon","coordinates":[[[-102.036758,36.988972],[-106.860657,36.989491],[-109.047821,36.996643],[-109.055199,38.24493],[-109.052864,39.518196],[-109.050591,40.210545],[-109.047638,40.998474],[-107.918037,41.00341],[-104.051201,41.003227],[-102.620789,41.000225],[-102.047279,40.998077],[-102.04557,40.697323],[-102.036758,36.988972]]]} 215 </wps:ComplexData> 216 </wps:Data> 217 </wps:Input> 218 </wps:DataInputs> 219 <wps:ResponseForm> 220 <wps:ResponseDocument> 221 <wps:Output> 222 <ows:Identifier>Result</ows:Identifier> 223 </wps:Output> 224 </wps:ResponseDocument> 225 </wps:ResponseForm> 226 </wps:Execute> 227 }}} 228 229 * same Union sample using 2 embedded JSON Strings : 230 {{{ 231 #!xml 232 <wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 233 ../wpsExecute_request.xsd"> 234 <ows:Identifier>Union</ows:Identifier> 235 <wps:DataInputs> 236 <wps:Input> 237 <ows:Identifier>InputEntity1</ows:Identifier> 238 <wps:Data> 239 <wps:ComplexData mimeType="application/json"> 240 {"type":"Polygon","coordinates":[[[-102.036758,36.988972],[-106.860657,36.989491],[-109.047821,36.996643],[-109.055199,38.24493],[-109.052864,39.518196],[-109.050591,40.210545],[-109.047638,40.998474],[-107.918037,41.00341],[-104.051201,41.003227],[-102.620789,41.000225],[-102.047279,40.998077],[-102.04557,40.697323],[-102.036758,36.988972]]]} 241 </wps:ComplexData> 242 </wps:Data> 243 </wps:Input> 244 <wps:Input> 245 <ows:Identifier>InputEntity2</ows:Identifier> 246 <wps:Data> 247 <wps:ComplexData mimeType="application/json"> 248 {"type":"Polygon","coordinates":[[[-102.036758,36.988972],[-106.860657,36.989491],[-109.047821,36.996643],[-109.055199,38.24493],[-109.052864,39.518196],[-109.050591,40.210545],[-109.047638,40.998474],[-107.918037,41.00341],[-104.051201,41.003227],[-102.620789,41.000225],[-102.047279,40.998077],[-102.04557,40.697323],[-102.036758,36.988972]]]} 249 </wps:ComplexData> 250 </wps:Data> 251 </wps:Input> 252 </wps:DataInputs> 253 <wps:ResponseForm> 254 <wps:RawDataOutput> 255 <wps:Output> 256 <ows:Identifier>Result</ows:Identifier> 257 </wps:Output> 258 </wps:RawDataOutput> 259 </wps:ResponseForm> 260 </wps:Execute> 261 }}}