ncWMS is implemented as a Java web application, packaged as a web archive (WAR) file for deployment in a standard servlet container such as Apache Tomcat.
Java was chosen as the implementing language because many environmental data providers already use Java server-side technology and because of the availability of high-quality and powerful libraries such as Java-NetCDF (http://www.unidata.ucar.edu/software/netcdf-java/, which implements the Common Data Model) and Geotoolkit (http://www.geotoolkit.org, which can convert between many thousands of coordinate reference systems). The architecture of the ncWMS software is shown in Fig. 2.