e-Atlas Architecture
This page describes a brief technical overview of the current software architecture of the e-Atlas. The e-Atlas is composed of a number of open-source products along with a few custom pieces of software. The diagram below shows a overview of the software components that make up the e-Atlas.

Website
The website is based on a Drupal Content Management System (CMS). This CMS handles the dataset meta-data pages, articles, navigation, site editing, and user accounts. It was configured using approximately 30 off-the-self community modules along with one custom module for handling the "Browse by topic" navigation system.
Mapping
The mapping system consists of a number of server side map rendering services and a web brower client that allows navigation of the map layers. The rendering for all of the map layers (excluding a few KML layers) is performed by the GeoServer. It provides these as a Web Map Service (WMS), allowing a client application to request map layers as an image at any desired zoom level, resolution, and styling. The performance of the WMS layers improved by upto 100x by passing all the WMS layers through a tile cache (GeoWebCache). This provides a WMS-Tiled service which splits the map layer image into small tiles that correspond to a fixed grid, at fixed zoom levels. This allows the GeoWebCache to cache repeated requests for tiles, only needing to go back to the GeoServer if the tile request corresponds to a region that has not be previously rendered.
The Atlas Map Client corresponds to a web browser client built using some custom Javascript and the OpenLayers Javascript library. This client draws on and combines the public mapping services provided by the GeoServer and the GeoWebCache. The Atlas Map Client also has support for simple KML layers (using the OpenLayers library).
The Atlas Batch module is a custom Java application that automates the processing and preparation of datasets containing grid data files. It converts the raw data (in either GeoTiff or ASCII grid format) into a format optimised for map generation by the GeoServer. It converts the input grid data into and optimised GeoTiff format with internal tiling, overviews, compression and appropriate projection.
In the future we will add support for a greater range of data formats (such as NetCDF). These will be made available as a number of public web services.
