<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Pablo,<div class="">Thanks for your email.</div><div class=""><br class=""></div><div class="">Actually, the ZOO-Project has been modified, more specifically the ZOO-Kernel, to support the OGC API - Processes ongoing specification.</div><div class="">So, I would answer your first question, reusing your wording, with: the ZOO-Project now supports the (Open)API[1] that the OGC provides.
<div><br class=""></div><div>For your second question I would say that OGC API - Processes is a specification from the OGC. It is a definition and not an implementation itself, like WPS 1.0.0 and 2.0 specs were. </div><div><br class=""></div><div>For years now, the ZOO-Project was able to run processes (or jobs) without a restful api. From its inception, the ZOO-Project tend to be an implementation fo the WPS specifications (1.0.0 and 2.0).</div><div>As the specifications of the OGC are moving to OpenAPI (OGC API - Maps, OGC API - Features and so on), the OGC WPS SWG is working on a new specification, trying initially to adapt the existing concepts available in WPS 2.0 specification in JSON/YAML following the OpenAPI specification, then adding new features and capabilities. This is the reason why it was initially named wps-rest-binding, showing the direct link between the new specification and the original WPS 2.0 version. Now, the ZOO-Project provides a OpenAPI and supports most of the capabilities defined in the specification you were referring to [2].</div><div><br class=""></div><div>I hope it helps clarifying the situation.</div><div><br class=""></div><div>Best regards,</div><div><br class=""></div><div>[1] <a href="https://swagger.io/specification/" class="">https://swagger.io/specification/</a></div><div>[2] <a href="https://htmlpreview.github.io/?https://github.com/opengeospatial/wps-rest-binding/blob/master/docs/18-062.html" class="">https://htmlpreview.github.io/?https://github.com/opengeospatial/wps-rest-binding/blob/master/docs/18-062.html</a></div><div><br class=""></div><div>Gerald Fenoy<br class="">Chair, ZOO-Project PSC</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">Le 3 nov. 2020 à 13:57, Pablo J. Zader <<a href="mailto:pzader@gmail.com" class="">pzader@gmail.com</a>> a écrit :</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Gerald, <div class="">great job! Thank you for this.</div><div class=""><br class="">I have a query, maybe you can clarify it for me, what is the difference between the api[1] that the ogc provides and zoo-project?<br class=""><br class="">Is the ogc api just the interface or does it also run processes?<br class="">zoo-project, runs processes but doesn't have a restfull api?<br class=""></div><div class=""><br class=""></div><div class="">Cheers</div><div class="">Pablo</div><div class=""><br class=""></div><div class="">[1] <a href="https://ogcapi.ogc.org/processes/" class="">https://ogcapi.ogc.org/processes/</a></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El lun., 2 nov. 2020 a las 13:04, Gérald Fenoy (<<a href="mailto:gerald.fenoy@geolabs.fr" class="">gerald.fenoy@geolabs.fr</a>>) escribió:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Dear all,<div class="">I am glad to present some enhancements that has been added lately on the ZOO-Project and especially the addition of a basic User Interface (UI).</div><div class=""><br class=""></div><div class="">I made this UI available on this demo server [1], as said it is a really basic UI where one can browse the processes available from the /processes path [2], get detailed informations from the /process/{processId} path (i.e. using OTB.BandMath processId [3]) but also use this same page to produce the JSON Execute request to be sent to the ZOO-Kernel with OGC API - Processes activated.</div><div class=""><br class=""></div><div class="">Indeed, from this last part of the UI, users have an HTML form that can be used to configure the inputs, the outputs and other parameters to be sent. From this HTML form, complex data can be passed by reference only when literal input can be defined right from the corresponding field. To generated the JSON Execute request, one can<span style="" class=""> click on the « Submit » button. Note that in case you did not define a required input properly, you will be prompted to fill them.</span> </div><div class=""><br class=""></div><div class="">Also, as we now get the callbacks [4] definition supported by the ZOO-Kernel, the UI is automatically defining a URL for successUri, inProgressUri and failedUri. The consequence is that the ZOO-Kernel will send the current status of the execution of a process to the defined Uris. Also, when one click on the « Submit job » button appearing in the modal, a web socket is used to get the up-to-date information about status of execution of a process. Note that the service implemented to handle this is a very trivial python code [5] using redis and a uuid generated by the ZOO-Kernel to keep track of whom the messages should be targeted to. We implemented the UI this way to illustrate how the callbacks can be used to avoid polling using the OGC API - Processes.</div><div class=""><br class=""></div><div class=""><div style="" class="">The UI uses the Cheetah Tempalte Engine [6] and will require that the display service [7] is installed on your server. Also, to simplify the URLs to access the OGC API - Processes I have added this .htaccess [8] sample to show how to setup the transparent invocation of the display service in case the URL ends with .html. You may notice that the rewrite rules defined in this file use the original URL to create a Xlink:href that is passed as an input to the display Service which is responsible to produce the HTML output. The display service also rely on the Cheetah template [9] which define the way data should be shown in the HTML layout. One more time, this HTML code is very basic and require improvement here and there.</div></div><div style="" class=""><br class=""></div><div style="" class="">Note that, by now, only the document value is acceptable for the response parameter in the JSON Execute request.</div><div style="" class=""><br class=""></div><div style="" class="">I hope you will appreciate the UI. I am more than open to any comment, enhancement request and so on.</div><div style="" class=""><br class=""></div><div style="" class="">I wish you a great day and a great week ahead.</div><div style="" class=""><br class=""></div><div style="" class="">Best regards,</div><div style="" class=""><br class=""></div><div class=""><br class=""></div><div class="">[1] <a href="https://demo.mapmint.com/ogc-api/index.html" target="_blank" class="">https://demo.mapmint.com/ogc-api/index.html</a></div><div class="">[2] <a href="https://demo.mapmint.com/ogc-api/processes.html" target="_blank" class="">https://demo.mapmint.com/ogc-api/processes.html</a></div><div class="">[3] <a href="https://demo.mapmint.com/ogc-api/processes/OTB.BandMath.html" target="_blank" class="">https://demo.mapmint.com/ogc-api/processes/OTB.BandMath.html</a></div><div class="">[4] <a href="https://swagger.io/docs/specification/callbacks/" target="_blank" class="">https://swagger.io/docs/specification/callbacks/</a></div><div class="">[5] <a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/publish.py" target="_blank" class="">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/publish.py</a></div><div class="">[6] <span style="" class=""><a href="https://cheetahtemplate.org/" target="_blank" class="">https://cheetahtemplate.org/</a></span></div><div class=""><span style="" class="">[7] </span><font class=""><a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/cgi-env" target="_blank" class="">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/cgi-env</a></font></div><div class=""><font class="">[8] <a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/.htaccess" target="_blank" class="">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/.htaccess</a></font></div><div class=""><font class="">[9] <a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/templates/index.html" target="_blank" class="">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/templates/index.html</a></font></div><br class=""><div class="">
<div dir="auto" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;" class=""><div class="">Gerald Fenoy<br class="">Chair, ZOO-Project PSC</div></div>
</div>
<br class=""></div>_______________________________________________<br class="">
Zoo-discuss mailing list<br class="">
<a href="mailto:Zoo-discuss@lists.osgeo.org" target="_blank" class="">Zoo-discuss@lists.osgeo.org</a><br class="">
<a href="https://lists.osgeo.org/mailman/listinfo/zoo-discuss" rel="noreferrer" target="_blank" class="">https://lists.osgeo.org/mailman/listinfo/zoo-discuss</a></blockquote></div><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div dir="ltr" class="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><table width="100%" border="0" cellspacing="10" cellpadding="0" style="font-family: "Times New Roman"; font-size: inherit;" class=""><tbody class=""><tr class=""><td class=""></td></tr><tr class=""><td align="left" valign="top" style="padding:10px" class=""><p class=""><font face="Arial, Helvetica, sans-serif" color="#05233d" style="font-size:18px" class="">Pablo J. Zader</font><br class=""><font size="4" class=""><font face="Arial, Helvetica, sans-serif" color="#90a7b5" class="">Lic. en Cs. de la Computación + MSc. en Aplicaciones Espaciales de Alerta y Respuesta Temprana a Emergencias</font><br class=""></font><span style="background-color:rgb(255,255,255)" class=""><font color="#0000ff" class=""><a href="mailto:pablo.zader@gmail.com" target="_blank" class="">pablo.zader@gmail.com</a> <br class=""></font></span></p><p class=""><font face="Arial, Helvetica, sans-serif" color="#05233d" style="font-size:14px" class="">Universidad Nacional de Córdoba</font><br class=""><font face="Arial, Helvetica, sans-serif" color="#416886" style="font-size:12px" class="">Av. Valpáraíso s/n Ciudad Universitaria</font><br class=""><font face="Arial, Helvetica, sans-serif" color="#1b4260" size="-1" class=""></font></p><table border="0" cellspacing="0" cellpadding="15" style="margin-top:10px" class=""><tbody class=""><tr class=""><td style="padding:5px" class=""> <a style="color:rgb(0,153,204)" class=""><img src="http://www.firmasdecorreo.com/media/img-firmas/skype.png" width="24" height="24" alt="skype" border="0" class=""></a> <a href="http://linkedin.com/in/pablo-javier-zader-7a232125" style="color:rgb(0,153,204)" target="_blank" class=""><img src="http://www.firmasdecorreo.com/media/img-firmas/linkedin.png" width="24" height="24" alt="linkedIn" border="0" class=""></a> </td></tr></tbody></table></td></tr></tbody></table></div></div></div></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><p style="margin-bottom:0.0001pt;line-height:normal" class=""><i class=""><span style="font-size:10pt;font-family:Arial,sans-serif;color:rgb(106,168,79)" class="">"Los Grandes Hombres hablan sobre ideas... Los Hombres
Promedio hablan sobre cosas... Los Hombres Pequeños hablan.. de
otros Hombres.</span></i></p></div></div></div></div></div></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><p style="margin-bottom:0.0001pt;line-height:normal" class=""><i class=""><span style="font-size:10pt;font-family:Arial,sans-serif;color:rgb(106,168,79)" class="">del libro Matemática estas ahí? A. Paenza "</span></i></p></div></div></div></div></div></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></div></div></div></div>
_______________________________________________<br class="">Zoo-discuss mailing list<br class=""><a href="mailto:Zoo-discuss@lists.osgeo.org" class="">Zoo-discuss@lists.osgeo.org</a><br class="">https://lists.osgeo.org/mailman/listinfo/zoo-discuss</div></blockquote></div><br class=""></div></body></html>