eMarine Information Infrastructure
Welcome to eMII!
Your main access to IMOS data is through the IMOS Ocean Portal.
Marine data and information are the main products of IMOS, and data management is therefore a central element to the project's success. eMII provides a single integrative framework for data and information management that allows discovery and access of the data by scientists, managers and the public.
IMOS data streams can be categorised in four ways:
· Gridded data from satellites and HF radar systems;
· Time series data from National moorings network, Argo floats, Ocean Gliders and Ships of Opportunity;
· Image data from Autonomous Underwater Vehicles;
· Biological data from continuous plankton recorders and acoustic tagging.
The first two provide real-time and delayed-mode data sets whereas the latter are delayed-mode delivery only.
The IMOS Ocean Portal web application is built largely on Grails and ExtJS. Grails is an opensource framework for web development using Groovy. We chose Grails as our core framework because we need to rapidly respond to changing user requirements and feature requests. Grails is one of the modern frameworks that allow the rapid development of web applications using approaches such as “convention over configuration”. This approach allows Grails (rather than the developer) to manage the configuration of the underlying components. Grails is built on reliable Java technologies such as Spring (for controller logic, run-time configuration, transactions etc) and Hibernate (for object-relational mapping) - all of which are managed by the Grails framework. Groovy (the programming language used by Grails) works with existing Java libraries. For this reason, it fits well with the eMII environment, which includes many Java based applications. Grails uses the popular MVC (Model, View, Controller) design pattern, and encourages the separation of business logic into service classes. The portal's administrator interface is built with straight Grails. The client-side user interface is built using ExtJS, which is an opensource JavaScript library. The map functionality is implemented using OpenLayers, which is an opensource JavaScript library for displaying interactive maps.
The portal application is backed by a PostgreSQL database, and uses the Grails Object Relational Mapping (GORM) implementation to persist the domain objects. The search functionality, however, is delivered by GeoNetwork, which is a Java based metadata catalog for geospatial data. eMII is an active member of the GeoNetwork opensource community. The spatial search aspect of the portal's broader search capability has been further enhanced by a custom (Grails based) spatial search index that sits in-between the portal and the catalog. This was developed to ensure that search results from spatial queries not only overlap the bounding box supplied by the user, but that spatial features actually exist in the requested region.
Authentication will be implemented using OpenID, which is an open standard that allows users to consolidate their digital identities. OpenID is provided by many large web sites including Google. There will be an IMOS OpenID provider. The solution will allow portal users to access the help forum (and potentially other IMOS web apps) using a single IMOS (or other OpenID) identifier. Authorisation (ie. access to features once logged in) within the portal is implemented with Apache Shiro (using a Grails plugin).
The help forum is based on Drupal, which is a popular content management system.
Unit testing and integration testing of the Grails components is implemented using the Grails unit testing framework (which uses the popular Java unit testing framework jUnit). The JavaScript is tested using Jasmin. Continuous integration is configured with Jenkins.
There will be separate instances of the portal application for IMOS, the AODN and state regional views. The separate instances will be re-skinned and configured to point to the appropriate GeoNetwork and WMS servers. All instances run on Apache Tomcat under CentOS.
Map layers are delivered via servers supporting the OGC WMS standard. The metadata records that describe the IMOS data conform to the ISO19115 Marine Community Profile. The IMOS data is largely stored as NetCDF files on the ARCS/RDSI data fabric (which is based on the iRODS data grid software). The netCDF files are served by THREDDS.

The IMOS Ocean Portal is an opensource project. For more information please contact info(at)emii.org.au
