0

I want to have a WPS remote service on my GeoServer and I am following this guideline. I cannot follow the guide directly as I am using Ubuntu. But I managed to have my GeoServer up and running on Tomcat8.

Next thing would be implementing the remote WPS service. In the guideline the tool is referred to as wps-remote. I wonder if wps-remote is the right term for the plugin or if they have changed it meanwhile to just WPS. If so could I just follow one of the tutorials where a WPS is integrated into the GeoServer or is that something different?

If not, can you please point out how I can install the wps-remote plugin in the GeoServer on Tomcat?

  • 1
    where are you running your WPS processes? – Ian Turton Dec 20 '19 at 17:45
  • 1
    A google turned up github.com/geoserver/wps-remote -- Are you looking for more? – Vince Dec 20 '19 at 17:45
  • @IanTurton apparently, the wps that is integrated in geoserver directly is not powerful enough for my tasks. I have read that it uses jython. In my python script, I also have some OS calls etc... So that's wenn I stumbled upon wps-remote. In the introduction on docs.geoserver.org/latest/en/user/community/remote-wps/… it sais that it "can be anything, from a Python script or a command line executable". That's why I chose this approach. My script shall run on the same server as the Tomcat. – Leo Dec 20 '19 at 21:43
  • @Vince I am not sure, but I do not think so. I have seen this tool as well, but geoserver plugins are written in java. Maybe I am wrong and this is to be installed? – Leo Dec 20 '19 at 21:45
3

The WPS extension adds WPS capabilities to GeoServer, while the WPS-remote extension allows you to use "remote" processes. That is processes running outside of GeoServer.

You install it in the same way as any other extension by downloading the zip file and unpacking it's contents into the WEB-INF/lib directory. You will also need to deploy a Python/XMPP wrapper on the "remote" machine to allow GeoServer to talk to your process.

A reference implementation of the remote end is available at https://github.com/geoserver/wps-remote, a configurable Python/XMPP wrapper for remote commands. The Python XMPP wrapper resides into the remote machine and is able to send a presentation of the remote process through an XMPP message by JSON-encoding into the body the process inputs/outputs parameter descriptors along with their type. On the GeoServer side the WPS Remote module automatically recognizes and loads an XMPP implementation of the RemoteClient. The GeoServer plugin is able to inquire for new available services, un-marshall their inputs and outputs and build appropriate process wrapper for GeoServer WPS to use. At execution time, the new Process is able to interact with the RemoteClient plug-in implementation in order to send a request to the Service.py, follow the status of the remote process and get the outputs at the end.

However, if all you want to do is deploy a python WPS you may be better off looking at PyWPS or ZooWPS.

  • thanks for the response. As mentioned, my python script has many different operations, like e.g. os.system(...). Will that be possible with PyWPS? – Leo Dec 22 '19 at 8:45
  • As I understand it PyWPS is a pure python system with no restrictions, but you could ask another question – Ian Turton Dec 22 '19 at 10:50
  • ok thanks for the hint – Leo Dec 22 '19 at 16:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.