These Javadoc pages will serve as a Developers' Guide for those wishing to understand how ncWMS works and for those wishing to make contributions to the code: scroll down to get started.

Overview of ncWMS

ncWMS is an implementation of the OGC Web Map Service specification. It is designed specifically for generating imagery of four-dimensional data that are stored in NetCDF files or OPeNDAP servers, conforming to the Climate and Forecast metadata convention. All the necessary metadata should be contained in the headers of the source NetCDF files, therefore an ncWMS server requires minimal setup. It is also possible to use ncWMS to display data from other file formats (TODO: link to more info about this).

Architecture

ncWMS is a standard Java web application, which should run in any standard web app container that supports version 2.4 of the Servlet specification and version 2.0 of the JSP specification. It has been tested successfully in Tomcat versions 5.5 and 6.0.

ncWMS uses the Spring framework, for two main reasons:

A major advantage of Spring is that it does not pollute the code base, therefore most of the classes in ncWMS have no knowledge of Spring. The web application is set up using the configuration file web/WEB-INF/WMS-servlet.xml. See the Spring reference documentation for more details.

System components

ncWMS is comprised of the following main components:

Development Environment

Developers can of course use any tools they like to develop for ncWMS, but the majority of the current code was developed in NetBeans The source code release includes an nbproject folder, which allows the code to be imported directly into NetBeans 6.5 or later.

ncWMS requires at least Java 1.5 ("Java 5") as it uses generics and other constructs that were not present in earlier versions of Java.

Third-party libraries

ncWMS makes use of many third-party libraries, but the main ones are: