52°North WPS configuration guide
The WPS's configuration is based on the
wps_config.xml
file. For information on editing this file see
WpsConfiguration. This page is about user interface and runtime configuration independent of that file.
General configuration
The configuration of the service meta data (i.e. provider information & contact details) in the GetCapabilities responses can be configured using the XML skeleton of the original GetCapabilities.
The skeleton is located at
WPS_WEBAPP_ROOT/config/wpsCapabilitiesSkeleton.xml
.
User Accounts
See
http://52north.org/communities/geoprocessing/wps/configuration.html
WPS Web Admin Console
- Make sure your servlet container (e.g. Tomcat) is running.
- Open: http://localhost:8080/wps/ in your browser
- Click on 52°North WPS Web Admin Console
- You could also directly access the Admin Console via: http://localhost:8080/wps/webAdmin/index.jsp
- Login with username wps and password wps
- The Web Admin Console lets you change the basic configuration of the WPS and upload processes.
In order to avtivate the process follow these steps:
- Switch to the Algorithm Repositories tab:
- Scroll to the LocalAlgorithmReporitory
- Click the plus sign after the last Algorithm of the repository.
- Add as key Algorithm and as value the fully qualified name of your process, e.g.; org.n52.wps.demo.AbstractAlgorithmExample
- Click the save button.
- Click Save and Activate Configuration
- Your process should appear in the capabilities.
- Execute your process.
WPS GRASS Connector
See the tutorials for
Windows and
Linux.
WPS ArcGIS Server Connector
See the tutorial
TutorialBackendArcGISServerShort.
Logging Configuration
The WPS relies on
Logback as a powerful and flexible logging framework.
The logging configuration file
logback.xml
is saved in the resources directory of the webapp module (
/WPS/52n-wps-webapp/src/main/resources/logback.xml), or in the classes directory of the installation (e.g. ..//wtpwebapps/52n-wps-webapp/WEB-INF/classes/logback.xml
). For details about configuration of Logback, please see the
Logback documentation.
For debugging and describing your issues on the mailing list it is useful to increase the log output to the
DEBUG
level.
This is not suitable for production environments! To raise the logging level open the
logback.xml
file, change the root level from
INFO
to
DEBUG
and also change the level for respective loggers and package names.
The log file (
52n-sos-webapp.log
) is stored in the default log directory, e.g. for Tomcat
/logs/52n-sos-webapp.log
.
Development Version settings
A short manual about how to set up WPS as a multi module project in Eclipse using Maven and Git is linked
here.
Please look at the Tomcat documentation how to deal with installing and compiling web applications in general. In the end the service has to be accessible through
http://localhost:[YOUR_PORT]/wps/WebProcessingService.
As the WPS is organized as a multi module project using Maven, you have to get the source from the SVN and use Maven to compile it. Information about Apache Maven 2 can be found here:
maven.apache.org.
The 52°North remote repository is located
here.
As you have to set this repository in your settings.xml your configuration could look somehow like this:
<profile>
<id>52n-start</id>
<repositories>
<repository>
<id>n52-releases</id>
<name>52n Releases</name>
<url>http://52north.org/maven/repo/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>geotools</id>
<name>Geotools repository</name>
<url>http://maven.geotools.fr/repository</url>
</repository>
<repository>
<id>Refractions</id>
<name>Refractions repository</name>
<url>http://lists.refractions.net/m2</url>
</repository>
<repository>
<id>Apache</id>
<name>Apache repository</name>
<url>http://repo1.maven.org/maven2</url>
</repository>
</repositories>
</profile>
...
<activeProfiles>
<activeProfile>52n-start</activeProfile>
</activeProfiles>
Please note, that there are two repositories for geotools libraries, as the synchronization of these repositories does not seem to work that well. So just refer to both repositories.
Basic commands to compile your sources are
mvn compile
or
mvn install
. The resulting war in the
../52n-wps-webapp/target
directory can then be dropped into the Tomcat webapp folder or be installed in any other servlet container.
After restarting your Tomcat the logs in the mentioned log file should somehow look like this:
2006-01-23 17:51:35,193 INFO org.n52.wps.server.WebProcessingService - WebProcessingService initializing...
2006-01-23 17:51:35,208 INFO org.n52.wps.server.WebProcessingService - Initialization of wps properties successful!
2006-01-23 17:51:38,521 INFO org.n52.wps.server.AlgorithmRepository - Algorithm class registered: org.n52.wps.server.SimpleBufferAlgorithm
2006-01-23 17:51:38,552 INFO org.n52.wps.server.AlgorithmRepository - Algorithms registered!
2006-01-23 17:51:38,552 INFO org.n52.wps.server.WebProcessingService - Algorithms initialized
2006-01-23 17:51:38,599 INFO org.n52.wps.server.WebProcessingService - XML Parsers initialized successfully
2006-01-23 17:51:38,630 INFO org.n52.wps.server.WebProcessingService - XML Generators initialized successfully
2006-01-23 17:51:38,708 INFO org.n52.wps.server.WebProcessingService - !WPS up and running!
Now you should get a
http://localhost:[YOUR_WEBAPPS_PORT]/wps/WebProcessingService?Request=GetCapabilities&Service=WPS
If the Tomcat runs under port 8080 you can access a very simple test site on
http://localhost:8080/wps.
When you are getting the capabilities, feel free to test the DescribeProcess and the Execute Operation.
To have a look at the capabilities of the
WPS instance, just try this:
http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService?REQUEST=GetCapabilities&SERVICE=WPS
WPS 3.3.1 - New configuration parameters
In version 3.3.1 of the WPS new configuration parameters have been introduced to the server element.
You will need to add them to an existing config, otherwise the WPS will not start correctly.
New parameters:
- protocol - protocol of the WPS webapp, e.g. http or https
- minPoolSize - minimum number of thread for the ThreadPool handling execute requests
- minPoolSize - maximum number of thread for the ThreadPool handling execute requests
- keepAliveSeconds - time idle threads are kept alive within the ThreadPool
- maxQueuedTasks - maximum number of task (execute requests) that are queued within the ThreadPool
Snippet of the extended server element:
<Server protocol="http" hostname="localhost" hostport="8080"
includeDataInputsInResponse="false" computationTimeoutMilliSeconds="5"
cacheCapabilites="false" webappPath="52n-wps-webapp" repoReloadInterval="0" maxPoolSize="20" keepAliveSeconds="1000" maxQueuedTasks="100" minPoolSize="10">