The OGC Web Server Suite is an API to create your own OGC Web Server (WMS, WFS, WCS and CSW). This article explains how to run and use the sample OGC Web Server included in the OGC Web Server Suite.

As an alternative approach, you can make use of LuciadFusion Studio and Platform to set up an OGC Web Server. LuciadFusion Studio and LuciadFusion Platform offer an end-user solution to manage your geospatial data and serve that data to clients. It supports the OGC protocols WMS, WFS, WCS, WMTS, CSW, and 3D Tiles, as well as the LuciadFusion Tile Service protocol (LTS).

Running the sample OGC Web Server

The web services in the OGC Web Server Suite (WMS, WFS, WCS, CSW) are delivered as Java servlets, accompanied by an API to create an OGC Web Server tailored to your needs.

To get you started, the OGC Web Server Suite provides a ready-to-run sample OGC Web Server. You can start it with the OGCServer script available in the root of your product installation.

General deployment procedure for an OGC Web Server application

For the deployment of the Java servlets, the OGC Web Server Suite relies on the Jetty web server (https://www.eclipse.org/jetty/), a Java-based web server and servlet container included with the product. The following sections describe the general deployment procedure to create a Web Application Archive (WAR) file of your OGC Web Server application, ready for deployment in a web server.

The website http://www.oracle.com/technetwork/java/javaee/servlet/index.html provides more information about servers supporting the Java servlet technology. The OGC web services are based on version 3.1 of the Servlet API, and are compatible with any servlet container or application server supporting version 3.1 or higher.

Deploying to a servlet container

As explained in Running the sample OGC Web Server, you can start the web application using the Jetty web server by simply running the OGCServer startup script.

However, to prepare your OGC Web Server application for deployment in an external servlet container, such as in Apache Tomcat, you need to take the following steps:

  1. Put your deployment license file in the licenses folder.

  2. Update the WMS configuration file wms.capabilities.cfg.xml in the folder config/samples/ogc/server to correctly point to the sample data. This is an XML configuration file that specifies the data offered by the WMS. By default, it contains a relative data path, which must be changed to an absolute path to let the WMS find the sample data. Open the file and find the Folder element:

    <MapData>
    <Folder>samples/resources</Folder>
    </MapData>

    Update the contents of the Folder element so that it contains an absolute path to the corresponding folder in the root of your product installation.

  3. Obfuscate the application. You can use the free tool ProGuard for the obfuscation process. The obfuscation process is required to make the application work with the deployment license. You need to download ProGuard and put the proguard.jar file in the folder build/proguard.

  4. Run the build script deploy_ogc_service, located in the folder build/ogc to generate the deployment WAR file LuciadOGCServices, consisting of an OGC WMS, WFS, WCS and CSW. The file is located in the folder distrib/ogc/LuciadOGCServices OGC_x.x.x.

  5. Install the LuciadOGCServices WAR file in your servlet container by following the container’s deployment instructions.
    The web application is now ready to be started.

Testing the server

If you did not change the names of the installation directories, you can use the following URLs to verify that your OGC services are up and running:

These URLs send a GetCapabilities request to the OGC services. The purpose of this operation is to obtain service metadata, which is returned in an XML document containing a description of the service content and acceptable request parameter values. The URLs assume that the servlet container is running locally and is listening to port 8080.

In addition, you can access the server through its administrative page available at:

This administrative page is built using HTML / JavaScript and is delivered with the server sample. It provides a graphical front-end to the OGC services and gives access to their capabilities.

The product also contains an OGC Web Client API and samples to connect with OGC web services, and to show how to use their data and capabilities in an application. For more information, see the OGC service types in the Data Formats section on the Documentation overview page.

Running the server in an IDE

The Jetty-based sample OGC Web Server is based on the Java sample class samples.ogc.server.Main, which can be run from the IDE to make the development and testing of your OGC Web Server easier. Make sure to add config, sample/resources and build/ogc/resources to your classpath upfront for this use case, to ensure that all required OGC Web Server configuration files can be found. If it was started successfully, the sample prints out the GetCapabilities URLs of the available OGC services.